Files
wehub-resource-sync 86db9aae8e
Documentation / build (push) Has been cancelled
Documentation / deploy (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:34:55 +08:00

64 lines
2.2 KiB
Markdown

# Testing
## Prereqs
The tests rely on pytest and tabulate
```bash
pip install pytest tabulate
```
To run tests specific to a particular database or vector database requires that the resources are up and running.
Some tests may require API Keys to particular cloud model providers. If you would like to test that provider, then
you can either edit the test code to include your own, or update ```~/set-env.sh``` and run the following to get
the environment variables loaded in your shell:
```bash
source ~/set-env.sh
```
### Running all tests
```bash
python3 ./run-tests.py
```
Note: We do not currently recommend running all tests concurrently - we are updating our automation and test scope
to improve this capability going forward.
WARNING: Initiating this script will "clean" the environment before running *_all tests_*:
- Uninstall any llmware modules locally installed
- Install the llmware module from this repo (simulating a user installing from pypi)
- Completely remove $HOME/llmware_data
- Reset Mongo and Milvus (drop all collections) -> not currently updated to drop Postgres and SQLITE DBs or other Vector DBs
- Run ./models/test_all_generative_models.py which will pull down many GBs of model files to the test systems.
### Only running tests from a specific folder or file
This is our recommended testing approach, unless a PR has significant cross-module changes, and even in such cases
it is usually more effective to run 2-3 individual tests and supplement with manual testing.
Note: please note that we are in the process of updating our test automation coverage suite. We would welcome
contributions from the community to continue to improve the automation and coverage scope of these tests.
In addition to the formal tests, we would recommend using recent examples as well as good proxies, especially in
targeted areas of the code base.
```bash
python3 ./run-tests.py library
```
```bash
python3 ./run-tests.py models/test_all_generative_models.py
```
### Including printed output while test is running
By default pytest only shows output if tests fail. If you want see printed output for all tests add the _-s_ switch
```bash
python3 ./run-tests.py library -s
```