• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..--

gen_json/18-Mar-2025-4229

makefile/18-Mar-2025-2418

makefile_uefi/18-Mar-2025-238183

micropy_test/18-Mar-2025-891637

ref_imgs/18-Mar-2025-

ref_imgs_vg_lite/18-Mar-2025-

src/18-Mar-2025-47,54139,808

test_images/18-Mar-2025-16,59715,749

unity/18-Mar-2025-5,5484,435

.gitignoreD18-Mar-202532 44

CMakeLists.txtD18-Mar-202515.6 KiB506435

FindLibDRM.cmakeD18-Mar-20251.2 KiB4639

README.mdD18-Mar-20252.3 KiB5741

config.ymlD18-Mar-2025135 65

main.pyD18-Mar-20259.8 KiB268211

README.md

1# Tests for LVGL
2
3The tests in the folder can be run locally and automatically by GitHub CI.
4
5## Running locally
6
7### Requirements (Linux)
8
9Install requirements by:
10
11```sh
12scripts/install-prerequisites.sh
13```
14
15### Run test
161. Run all executable tests with `./tests/main.py test`.
172. Build all build-only tests with `./tests/main.py build`.
183. Clean prior test build, build all build-only tests,
19   run executable tests, and generate code coverage
20   report `./tests/main.py --clean --report build test`.
214. You can re-generate the test images by adding option `--update-image`.
22   It relies on scripts/LVGLImage.py, which requires pngquant and pypng.
23   You can run below command firstly and follow instructions in logs to install them.
24   `./tests/main.py --update-image test`
25   Note that different version of pngquant may generate different images.
26   As of now the generated image on CI uses pngquant 2.13.1-1.
27
28For full information on running tests run: `./tests/main.py --help`.
29
30## Running automatically
31
32GitHub's CI automatically runs these tests on pushes and pull requests to `master` and `releasev8.*` branches.
33
34## Directory structure
35- `src` Source files of the tests
36    - `test_cases` The written tests,
37    - `test_runners` Generated automatically from the files in `test_cases`.
38    - other miscellaneous files and folders
39- `ref_imgs` - Reference images for screenshot compare
40- `report` - Coverage report. Generated if the `report` flag was passed to `./main.py`
41- `unity` Source files of the test engine
42
43## Add new tests
44
45### Create new test file
46New 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`.
47
48### Asserts
49See the list of asserts [here](https://github.com/ThrowTheSwitch/Unity/blob/master/docs/UnityAssertionsReference.md).
50
51There are some custom, LVGL specific asserts:
52- `TEST_ASSERT_EQUAL_SCREENSHOT("image1.png")` Render the active screen and compare its content with an image in the `ref_imgs` folder.
53   - If the reference image is not found it will be created automatically from the rendered screen.
54   - If the compare fails an `<image_name>_err.png` file will be created with the rendered content next to the reference image.
55- `TEST_ASSERT_EQUAL_COLOR(color1, color2)` Compare two colors.
56
57