lvgl/tests
Neo Xu 8e076cc230
feat(image): support C array type of alpha-only image in the built-in decoder (#4797)
Signed-off-by: Xu Xingliang <xuxingliang@xiaomi.com>
2023-11-13 18:14:36 +01:00
..
makefile feat(draw): add implements vector graphic APIs (#4528) (#4691) 2023-11-09 11:37:33 +01:00
ref_imgs feat(image): support C array type of alpha-only image in the built-in decoder (#4797) 2023-11-13 18:14:36 +01:00
src feat(image): support C array type of alpha-only image in the built-in decoder (#4797) 2023-11-13 18:14:36 +01:00
unity ci: upgrade astyle tool (#4776) 2023-11-10 15:37:23 +01:00
.gitignore fix(fs): fix cached file read 2023-02-27 22:17:50 +01:00
CMakeLists.txt feat(draw): add implements vector graphic APIs (#4528) (#4691) 2023-11-09 11:37:33 +01:00
config.yml feat(test) first experiement with Unity test engine 2021-06-18 14:13:41 +02:00
main.py chore: remove BOM and fix typos (#4685) 2023-10-22 06:39:43 +02:00
README.md arch(draw): add parallel rendering architecture 2023-07-05 13:05:19 +02:00

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

  1. Run all executable tests with ./tests/main.py test.
  2. Build all build-only tests with ./tests/main.py build.
  3. 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

  • src Source files of the tests
    • test_cases The written tests,
    • test_runners Generated 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 report flag was passed to ./main.py
  • unity Source 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_imgs folder.
    • If the reference image is not found it will be created automatically from the rendered screen.
    • If the compare fails an <image_name>_err.png file will be created with the rendered content next to the reference image.
  • TEST_ASSERT_EQUAL_COLOR(color1, color2) Compare two colors.