1
0
mirror of https://github.com/lvgl/lvgl.git synced 2025-01-28 07:03:00 +08:00

119 Commits

Author SHA1 Message Date
Carlos Diaz
bb6829796b
test(checkbox) add initial tests (#2551)
* test(checkbox): Add initial test for checkbox

* test(checkbox): Add test_checkbox_should_have_default_text_when_created

* test(checkbox): Add test_checkbox_should_return_dinamically_allocated_text

* test(checkbox): Add initial tests for static text

Tests are failing tho

* test(arc): Rename bugfix test to arc

Also adds reference to issue in a comment

* test(checkbox): Tests for static text passes

* test(checkbox): Remove test for memory freeing when static text is refreshed

NULL isn't a valid parameter in lv_checkbox_set_text_static
2021-09-20 20:38:47 +02:00
Carlos Diaz
ab50f001a6
feat(tests): Include debug information to test builds (#2568) 2021-09-19 15:23:21 -04:00
Chris Mumford
b1bf7fd29a
test(ci) build and run tests in parallel. (#2515)
Create one GitHub workflow job for each build option build
or test execution. This allows each of the five builds to
be executed in parallel as well as making it easier to
navigate to the test output as it now resides in its own
job.

This change **does** change the command-line arguments to
the test execution script. This is required to allow the
build options name to be passed in.

New `tests/main.py` command-line help:

```
usage: main.py [-h] [--build-options BUILD_OPTIONS] [--clean]
               [--report]
               [{build,test} [{build,test} ...]]

Build and/or run LVGL tests.

positional arguments:
  {build,test}          build: compile build tests, test:
                        compile/run executable tests.

optional arguments:
  -h, --help            show this help message and exit
  --build-options BUILD_OPTIONS
                        the build option name to build or run.
                        When omitted all build configurations
                        are used.
  --clean               clean existing build artifacts before
                        operation.
  --report              generate code coverage report for
                        tests.

This program builds and optionally runs the LVGL test programs.
There are two types of LVGL tests: "build", and "test". The
build-only tests, as their name suggests, only verify that the
program successfully compiles and links (with various build
options). There are also a set of tests that execute to verify
correct LVGL library behavior.
```
2021-09-01 11:58:14 +02:00
Chris Mumford
df6cbfe866
ci(tests) run tests using ctest (#2503)
Simplifies `tests/main.py` as it no longer needs to invoke
tests individually or keep track of and report their pass/fail
status.

Also enables the ability to run tests in parallel, support timeouts,
and re-run flaky tests.

https://cmake.org/cmake/help/latest/manual/ctest.1.html
2021-08-30 08:45:33 -04:00
Chris Mumford
c11569dc5c
ci(tests) use common script to install development prereqs (#2504)
Simplified workflow and documentation, by moving the
development package prerequisites into a new build script
`scripts/install-prerequisites.sh`.

Also, moved prerequisite installation into its own CI step and
removed explicit working directory change as it is no longer
needed (`main.py` does it).
2021-08-27 18:57:46 -04:00
Chris Mumford
9c846ee493
test convert Makefile to CMake (#2495)
* Convert tests/Makefile to a cmake project file.

This change switches the building of LVGL tests to use cmake
which is more portable than make. Additionally, whenever
cmake can be used, instead of the Python script (`main.py`),
the former is preferred.

The interface to `main.py` is unchanged, and tests are built
and executated the same as before.

This closes https://github.com/lvgl/lvgl/issues/2474.

* Installing `gcovr` in GitHub workflow.

* Documented steps to install libpng-dev.

* Added missing stdout flush when running tests.

* Grammar tweak in README.

Co-authored-by: Gabor Kiss-Vamosi <kisvegabor@gmail.com>
2021-08-27 15:49:31 +02:00
Gabor Kiss-Vamosi
9fb98da8a2 test(dropdown) remove dummy test case
relaetd to https://github.com/lvgl/lvgl/issues/2337#issuecomment-905002568
2021-08-26 12:11:29 +02:00
Chris Mumford
53986b4b0e
test Refactor unit test scripts. (#2473)
* Refactor unit test scripts.

Does the following:

1. Remove as many dependencies on the operating system shell as possible.
   For example, use of shutil.rmtree(...) instead of os.system('rm -r ...').
   This brings this script a bit closer to being able to run on Windows.
2. Switch from os.system() to subprocess.check_call().
   * This is a bit more secure as check_call() directly invokes the subprocess
     without evaluation the arguments on a command-line.
   * Removes the need to evaluate the return code as check_call() does this.
   * Can directly set environment variables (e.g. env=cmd_env) instead of
     including with subprocess invocation (e.g. BIN=test.bin).
3. Minor cleanup to main.py sys.argv parsing.
4. PEP8 formatting.

* Ignore FileNotFoundError for rmtree('report').

* Back to os.system for gcovr.

* Removed unused shutil import.
2021-08-25 15:37:59 +02:00
Gabor Kiss-Vamosi
906448ef63 feat(obj) place the scrollbar to the left with RTL base dir.
Related to #2424
2021-08-19 12:51:29 +02:00
Themba Dube
ae15a1bbfe Revert "fix(tests) remove src/test_runners when cleaning"
This reverts commit 6726b0f5df3f4689368782b601bb01f76498123b.
2021-08-03 10:25:20 -04:00
Themba Dube
6726b0f5df fix(tests) remove src/test_runners when cleaning 2021-08-03 09:38:13 -04:00
Gabor Kiss-Vamosi
5b3d3dc8b3 perf(draw) reimplement rectangle drawing algorithms
No functionalty has changed only make them more readable and faster.
2021-08-02 15:45:14 +02:00
Gabor Kiss-Vamosi
637b706ddc
perf(draw) reimplement circle drawing algorithms (#2374)
* perf(draw) reimplement circle drawing algorithms

Imporve the speed of circle drawing
Add circle draw caching
Various other speed improvements

* docs describe how to use masks

* fix(draw) add missing GC root usage
2021-07-27 19:16:00 +02:00
Themba Dube
3eacc5923c ci add config for 8bpp 2021-07-15 17:12:25 -04:00
Gabor Kiss-Vamosi
88c485949f feat(event, widgets) improve the paramter of LV_EVENT_DRAW_PART_BEGIN/END
Add lv_<widget>_draw_part_type_t to widgets to precisly describe the hooked drawings.
Also add class_p element to lv_obj_draw_part_dsc_t to show what widgets lv_<widget>_draw_part_type_t needs to be used.

Related to: https://forum.lvgl.io/t/how-to-add-minor-division-lines-to-a-chart/5366/
2021-07-07 16:19:06 +02:00
Themba Dube
4fff99da1d feat(tests) upload coverage to codecov 2021-07-05 13:58:46 -04:00
Gabor Kiss-Vamosi
90438603ad fix(test) do not including anything in test files when not running tests 2021-07-01 21:14:00 +02:00
Gabor Kiss-Vamosi
36b9db38b7 fix tests 2021-06-28 11:13:34 +02:00
Gabor Kiss-Vamosi
449952e3b7 fix tests 2021-06-28 11:08:46 +02:00
Gabor Kiss-Vamosi
c38cae22fb test fix CI build error 2021-06-23 23:04:12 +02:00
Gabor Kiss-Vamosi
61cda59cbe test fix build error 2021-06-23 22:19:51 +02:00
Gabor Kiss-Vamosi
4143b804c8 test(dropdown) add tess for keypad and encoder 2021-06-23 21:51:52 +02:00
Gabor Kiss-Vamosi
e536bb6325 test add keypad and encoder emulators 2021-06-23 21:51:14 +02:00
Gabor Kiss-Vamosi
2ba810b8de tests add mosue emulator 2021-06-23 15:51:30 +02:00
Gabor Kiss-Vamosi
b765643e49 tests add README 2021-06-23 15:51:12 +02:00
Gabor Kiss-Vamosi
3672f87332 test move more source files to src folder 2021-06-23 13:23:47 +02:00
Gabor Kiss-Vamosi
b9b4ba5b26 test cleant up report folder 2021-06-18 14:15:53 +02:00
Gabor Kiss-Vamosi
e35b1d04bd test add build test again, add dropdown test, integrate gcov and gvocr 2021-06-18 14:13:41 +02:00
Gabor Kiss-Vamosi
e9e010a846 test add move tests to test_cases and test_runners directories 2021-06-18 14:13:41 +02:00
Gabor Kiss-Vamosi
bc5b3be61f test(font_loader) migrate the exisiting font loader test 2021-06-18 14:13:41 +02:00
Gabor Kiss-Vamosi
28d2ad4c3a feat(test) add assert for screenshot compare 2021-06-18 14:13:41 +02:00
Gabor Kiss-Vamosi
ea8bed34b4 chore(test) improve prints 2021-06-18 14:13:41 +02:00
Gabor Kiss-Vamosi
7610d38bb0 fix(test) silence make 2021-06-18 14:13:41 +02:00
Gabor Kiss-Vamosi
c12a22ee87 fix(test) add #if guard to exclude test related files from the build 2021-06-18 14:13:41 +02:00
Gabor Kiss-Vamosi
c26bcf1cc6 feat(test) first experiement with Unity test engine 2021-06-18 14:13:41 +02:00
Gabor Kiss-Vamosi
8dd33a0041 fix warnings 2021-05-29 07:32:44 +02:00
Gabor Kiss-Vamosi
6aa27cc11b refactor(label, text area) rename functions of text_sel to text_selection 2021-05-13 15:39:06 +02:00
Gabor Kiss-Vamosi
070df61eb2 refactor(color) refactor the palette API 2021-04-23 12:46:14 +02:00
Gabor Kiss-Vamosi
8667402524 minor fixes 2021-04-19 11:21:44 +02:00
Meco Man
a8c21f8e18 fix(style): auto formatted 2021-04-01 01:06:43 +08:00
Gabor Kiss-Vamosi
415c114be6 fix(align) refresh position on size change 2021-03-25 20:53:45 +01:00
Gabor Kiss-Vamosi
53f3cc1827 api(style) remove content style proeprties 2021-03-25 13:36:50 +01:00
Gabor Kiss-Vamosi
666653efe7 fix(refresh): do not redraw the whole object if only part's style changes on a new state 2021-03-19 16:01:26 +01:00
Xiang Xiao
9254a7ea14 fix(comment): remove the space after /* and before */ 2021-03-18 11:51:36 +08:00
Gabor Kiss-Vamosi
87c4a0ffef fix conflicts 2021-03-17 10:24:48 +01:00
Gabor Kiss-Vamosi
dad2b4aab1 fix tests 2021-03-16 20:57:22 +01:00
Xiang Xiao
1f3ae7f274 fix(disp): change all disp_buf to draw_buf
follow up the commit:
commit e9cc1c2d4676b3863a85f35a79162ecedd280213
Author: Gabor Kiss-Vamosi <kisvegabor@gmail.com>
Date:   Wed Mar 10 13:07:15 2021 +0100

    feat(driver): raname lv_disp_buf_t to lv_disp_draw_buf_t + save only the drv's pointer in lv_disp_t
2021-03-14 21:39:05 +08:00
Gabor Kiss-Vamosi
a431569455 feat(fs driver): save only the pointer of the driver in lv_fs_drv_register 2021-03-14 13:42:32 +01:00
Xiang Xiao
7bf547a928
feat(mem): switch the default allocator to tlsf (#2129)
* feat(mem): add initial version of tlsf

from  : https://github.com/mattconte/tlsf
commit: deff9ab509341f264addbd3c8ada533678591905

* feat(mem): switch the default allocator to tlsf

* fix(mem): remove the preserved small buffer

since the builtin allocator(tlsf) is fast enough now

* fix(mem): change LV_MEM_ADD_JUNK to 0

to speed up the normal operation
2021-03-10 15:13:35 +01:00
Gabor Kiss-Vamosi
91a44a465a fix tests 2021-03-10 13:12:45 +01:00