|
4 months ago | |
---|---|---|
.. | ||
makefile | 4 months ago | |
ref_imgs | 4 months ago | |
src | 4 months ago | |
unity | 4 months ago | |
CMakeLists.txt | 4 months ago | |
README.md | 4 months ago | |
config.yml | 4 months ago | |
main.py | 4 months ago |
The tests in the folder can be run locally and automatically by GitHub CI.
Install requirements by:
scripts/install-prerequisites.sh
./tests/main.py test
../tests/main.py build
../tests/main.py --clean --report build test
.For full information on running tests run: ./tests/main.py --help
.
GitHub's CI automatically runs these tests on pushes and pull requests to master
and releasev8.*
branches.
src
Source files of the tests
test_cases
The written tests,test_runners
Generated automatically from the files in test_cases
.ref_imgs
- Reference images for screenshot comparereport
- Coverage report. Generated if the report
flag was passed to ./main.py
unity
Source files of the test engineNew test needs to be added into the src/test_cases
folder. The name of the files should look like test_<name>.c
. The basic skeleton of a test file copy _test_template.c
.
See the list of asserts here.
There are some custom, LVGL specific asserts:
TEST_ASSERT_EQUAL_SCREENSHOT("image1.png")
Render the active screen and compare its content with an image in the ref_imgs
folder.
If the compare fails lvgl/test_screenshot_error.h
is created with the content of the frame buffer as an image.
To see the that image #include "test_screenshot_error.h"
and call test_screenshot_error_show();
.TEST_ASSERT_EQUAL_COLOR(color1, color2)
Compare two colors.The reference images can be taken by copy-pasting the test code in to LVGL simulator and saving the screen. LVGL needs to
LV_USE_PERF_MONITOR
and LV_USE_MEM_MONITOR
disabled