| .. | ||
| makefile | ||
| ref_imgs | ||
| src | ||
| unity | ||
| .gitignore | ||
| CMakeLists.txt | ||
| config.yml | ||
| main.py | ||
| README.md | ||
Tests for LVGL
The tests in the folder can be run locally and automatically by GitHub CI.
Running locally
Requirements (Linux)
Install requirements by:
scripts/install-prerequisites.sh
Run test
- Run all executable tests with ./tests/main.py test.
- Build all build-only tests with ./tests/main.py build.
- Clean prior test build, build all build-only tests,
run executable tests, and generate code coverage
report ./tests/main.py --clean --report build test.
For full information on running tests run: ./tests/main.py --help.
Running automatically
GitHub's CI automatically runs these tests on pushes and pull requests to master and releasev8.* branches.
Directory structure
- srcSource files of the tests- test_casesThe written tests,
- test_runnersGenerated automatically from the files in- test_cases.
- other miscellaneous files and folders
 
- ref_imgs- Reference images for screenshot compare
- report- Coverage report. Generated if the- reportflag was passed to- ./main.py
- unitySource files of the test engine
Add new tests
Create new test file
New 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.
Asserts
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_imgsfolder.- If the reference image is not found it will be created automatically from the rendered screen.
- If the compare fails lvgl/test_screenshot_error.his created with the content of the frame buffer as an image. To see the that image#include "test_screenshot_error.h"and calltest_screenshot_error_show();.
 
- TEST_ASSERT_EQUAL_COLOR(color1, color2)Compare two colors.