1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
# Automated tests
Plaso comes with multiple forms of automated tests:
* unit tests
* end-to-end tests
## Unit tests
The unit tests are intended to detect issues after individual changes
(change lists). Unit tests are typically small by nature and only test a
specific part of the code.
The unit tests are stored in the `tests` sub directory, in the same directory
hierarchy as the plaso module directory, and can be run with:
```
python run_tests.py
```
The unit tests are also run automatically on [Travis-CI](https://travis-ci.org/)
and [AppVeyor](https://ci.appveyor.com) after every commit (code submit) to
detect cross platform issues.
## End-to-end tests
The end-to-end tests are intended to test the Plaso tools as a user would run
them. To run the end-to-end tests you'll need:
* test runner, which is `tests/end-to-end.py`
* end-to-end tests configuration, e.g. `config/end-to-end.ini`
* test data
* reference data, to compare test output against
For example, to run the predefined end-to-end tests:
```
PYTHONPATH=. python ./tests/end-to-end.py --debug -c config/end-to-end.ini
```
The predefined end-to-end tests are also run automatically on
[Travis-CI](https://travis-ci.org/) after every commit (code submit).
|