diff options
Diffstat (limited to 'lib/lvgl/tests/README.md')
| m--------- | lib/lvgl | 0 | ||||
| -rw-r--r-- | lib/lvgl/tests/README.md | 57 |
2 files changed, 57 insertions, 0 deletions
diff --git a/lib/lvgl b/lib/lvgl deleted file mode 160000 -Subproject 0732400e7b564dd0e7dc4a924619d8e19c5b23a diff --git a/lib/lvgl/tests/README.md b/lib/lvgl/tests/README.md new file mode 100644 index 00000000..a7703b9b --- /dev/null +++ b/lib/lvgl/tests/README.md @@ -0,0 +1,57 @@ +# Tests for LVGL + +The tests in the folder can be run locally and automatically by GitHub CI. + +## Running locally + +### Requirements (Linux) + +Install requirements by: + +```sh +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](https://github.com/ThrowTheSwitch/Unity/blob/master/docs/UnityAssertionsReference.md). + +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. + +### Adding new reference images +The reference images can be taken by copy-pasting the test code in to LVGL simulator and saving the screen. +LVGL needs to +- 800x480 resolution +- 32 bit color depth +- `LV_USE_PERF_MONITOR` and `LV_USE_MEM_MONITOR` disabled +- use the default theme, with the default color (don't set a theme manually) |
