We have tree sets of tests:
- the normal unit tests (ninja test)
- integration tests using GstValidate.
- manual tests
Since version 0.91, our backend test suite is much smaller and simpler; since most of the core functionality is now handled by GES, you need to run GES's test suite instead if you want to test more thoroughly.
You can run the unit tests with:
ninja -C mesonbuild/ test
If you want to run only one particular unit test, use:
gst-validate-launcher tests/ptv_testsuite.py -t tests.test_project.TestProjectManager.testLoadProjectFailedUnknownFormat
gst-validate-launcher tests/ptv_testsuite.py -L
Writing unit tests
The integration tests are run with GstValidate. They are located in the
.scenario file in the
subdirectory contains a sequence of actions which represent a test.
When a test is run, the actions in the scenario are performed by handlers in pitivi/utils/validate.py, or by handlers in GES. The handlers generally act on the widgets and check the expected effect has been obtained on the GES objects. Besides the checks integrated in the handlers, for now it is not possible to have additional checks.
A scenario file is created automatically each time Pitivi is used.
You can run the integration tests with:
The results of the search are