mirror of
https://github.com/meta-llama/llama-stack.git
synced 2025-12-23 02:19:41 +00:00
Update unit testing documentation
This commit is contained in:
parent
83f3a48539
commit
4e64c673b7
3 changed files with 29 additions and 44 deletions
|
|
@ -10,14 +10,12 @@ on:
|
||||||
- 'pyproject.toml'
|
- 'pyproject.toml'
|
||||||
- 'requirements.txt'
|
- 'requirements.txt'
|
||||||
- '.github/workflows/unit-tests.yml'
|
- '.github/workflows/unit-tests.yml'
|
||||||
- '.github/workflows/codecov-badge.yaml' # This workflow
|
- '.github/workflows/coverage-badge.yml' # This workflow
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
unit-tests:
|
unit-tests:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
env:
|
|
||||||
PYTHON_VERSION: "3.12"
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||||
|
|
@ -27,7 +25,7 @@ jobs:
|
||||||
|
|
||||||
- name: Run unit tests
|
- name: Run unit tests
|
||||||
run: |
|
run: |
|
||||||
PYTHON_VERSION=${{ env.PYTHON_VERSION }} ./scripts/unit-tests.sh
|
./scripts/unit-tests.sh
|
||||||
|
|
||||||
- name: Coverage Badge
|
- name: Coverage Badge
|
||||||
uses: tj-actions/coverage-badge-py@1788babcb24544eb5bbb6e0d374df5d1e54e670f # v2.0.4
|
uses: tj-actions/coverage-badge-py@1788babcb24544eb5bbb6e0d374df5d1e54e670f # v2.0.4
|
||||||
|
|
@ -4,42 +4,3 @@ Tests are of three different kinds:
|
||||||
- Unit tests
|
- Unit tests
|
||||||
- Provider focused integration tests
|
- Provider focused integration tests
|
||||||
- Client SDK tests
|
- Client SDK tests
|
||||||
|
|
||||||
## Unit Tests
|
|
||||||
|
|
||||||
Unit tests verify individual components and functions in isolation. They are fast, reliable, and don't require external services.
|
|
||||||
|
|
||||||
### Prerequisites
|
|
||||||
|
|
||||||
1. **Python Environment**: Ensure you have Python 3.12+ installed
|
|
||||||
2. **uv Package Manager**: Install `uv` if not already installed
|
|
||||||
3. **Virtual Environment**: Activate the project's virtual environment
|
|
||||||
|
|
||||||
### Running Unit Tests
|
|
||||||
|
|
||||||
#### Using the Unit Test Script (Recommended)
|
|
||||||
|
|
||||||
The easiest way to run unit tests is by using the provided script:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Run all unit tests and generate coverage report
|
|
||||||
PYTHON_VERSION=3.12 ./scripts/unit-tests.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
### Test Configuration
|
|
||||||
|
|
||||||
- **Test Discovery**: Tests are automatically discovered in the `tests/unit/` directory
|
|
||||||
- **Async Support**: Tests use `--asyncio-mode=auto` for automatic async test handling
|
|
||||||
- **Coverage**: Tests generate coverage reports in `htmlcov/` directory
|
|
||||||
- **Python Version**: Defaults to Python 3.12, but can be overridden with `PYTHON_VERSION` environment variable
|
|
||||||
|
|
||||||
### Coverage Reports
|
|
||||||
|
|
||||||
After running tests, you can view coverage reports:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Open HTML coverage report in browser
|
|
||||||
open htmlcov/index.html # macOS
|
|
||||||
xdg-open htmlcov/index.html # Linux
|
|
||||||
start htmlcov/index.html # Windows
|
|
||||||
```
|
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,17 @@
|
||||||
# Llama Stack Unit Tests
|
# Llama Stack Unit Tests
|
||||||
|
|
||||||
|
## Unit Tests
|
||||||
|
|
||||||
|
Unit tests verify individual components and functions in isolation. They are fast, reliable, and don't require external services.
|
||||||
|
|
||||||
|
### Prerequisites
|
||||||
|
|
||||||
|
1. **Python Environment**: Ensure you have Python 3.12+ installed
|
||||||
|
2. **uv Package Manager**: Install `uv` if not already installed
|
||||||
|
|
||||||
You can run the unit tests by running:
|
You can run the unit tests by running:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
source .venv/bin/activate
|
|
||||||
./scripts/unit-tests.sh [PYTEST_ARGS]
|
./scripts/unit-tests.sh [PYTEST_ARGS]
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -19,3 +27,21 @@ If you'd like to run for a non-default version of Python (currently 3.12), pass
|
||||||
source .venv/bin/activate
|
source .venv/bin/activate
|
||||||
PYTHON_VERSION=3.13 ./scripts/unit-tests.sh
|
PYTHON_VERSION=3.13 ./scripts/unit-tests.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Test Configuration
|
||||||
|
|
||||||
|
- **Test Discovery**: Tests are automatically discovered in the `tests/unit/` directory
|
||||||
|
- **Async Support**: Tests use `--asyncio-mode=auto` for automatic async test handling
|
||||||
|
- **Coverage**: Tests generate coverage reports in `htmlcov/` directory
|
||||||
|
- **Python Version**: Defaults to Python 3.12, but can be overridden with `PYTHON_VERSION` environment variable
|
||||||
|
|
||||||
|
### Coverage Reports
|
||||||
|
|
||||||
|
After running tests, you can view coverage reports:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Open HTML coverage report in browser
|
||||||
|
open htmlcov/index.html # macOS
|
||||||
|
xdg-open htmlcov/index.html # Linux
|
||||||
|
start htmlcov/index.html # Windows
|
||||||
|
```
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue