Skip to content

Commit 926f902

Browse files
author
yuwei
committed
test: 增加 widgets demo 预编译包红测
1 parent f40b3de commit 926f902

1 file changed

Lines changed: 23 additions & 0 deletions

File tree

tests/test_host_macos_sdl2_package.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ def test_lv_conf_enables_sdl2_without_sdl_draw_backend():
1616
assert "#define LV_SDL_DIRECT_EXIT 0" in lv_conf
1717
assert "#define LV_SDL_MOUSEWHEEL_MODE LV_SDL_MOUSEWHEEL_MODE_ENCODER" in lv_conf
1818
assert "#define LV_USE_DRAW_SDL 0" in lv_conf
19+
assert "#define LV_USE_DEMO_WIDGETS 1" in lv_conf
1920

2021

2122
def test_cmake_wires_sdl2_config_into_lvgl_target():
@@ -28,6 +29,7 @@ def test_cmake_wires_sdl2_config_into_lvgl_target():
2829
assert 'set(SDL2_INCLUDE_DIR "${SDL2_PREFIX}/include")' in cmake
2930
assert 'target_include_directories(lvgl PRIVATE "${SDL2_INCLUDE_DIR}")' in cmake
3031
assert "target_compile_options(lvgl PRIVATE ${SDL2_CFLAGS_LIST})" in cmake
32+
assert "set(LV_CONF_BUILD_DISABLE_DEMOS OFF CACHE BOOL" in cmake
3133

3234

3335
def test_build_script_requires_sdl2_and_writes_manifest_metadata():
@@ -43,6 +45,23 @@ def test_build_script_requires_sdl2_and_writes_manifest_metadata():
4345
assert "sdl2.version=${sdl2_version}" in script
4446
assert "sdl2.cflags=${sdl2_cflags}" in script
4547
assert "sdl2.libs=${sdl2_libs}" in script
48+
assert "-DLV_CONF_BUILD_DISABLE_DEMOS=OFF" in script
49+
assert "cmake --build \"${build_dir}\" --target lvgl lvgl_demos" in script
50+
assert "cp \"${build_dir}/lib/liblvgl_demos.a\" \"${dist_dir}/lib/liblvgl_demos.a\"" in script
51+
assert "demo_widgets=enabled" in script
52+
assert "demo_lib_hash=${demo_lib_hash}" in script
53+
54+
55+
def test_package_exports_widgets_demo_library_headers_and_manifest():
56+
script = (REPO_ROOT / "scripts/build_host_macos.sh").read_text(encoding="utf-8")
57+
verify = (REPO_ROOT / "scripts/verify_package.sh").read_text(encoding="utf-8")
58+
59+
assert 'test -f "${dist_dir}/lib/liblvgl_demos.a"' in verify
60+
assert 'test -f "${dist_dir}/include/demos/widgets/lv_demo_widgets.h"' in verify
61+
assert 'test -f "${dist_dir}/include/demos/lv_demos.h"' in verify
62+
assert 'find "${source_dir}/demos" -type f -name' in script
63+
assert 'cp "${header}" "${dist_dir}/include/${relative_path}"' in script
64+
assert 'grep -q "demo_widgets=enabled" "${dist_dir}/lvgl_package.txt"' in verify
4665

4766

4867
def test_verify_script_compiles_sdl2_demo_and_runs_only_when_requested():
@@ -55,6 +74,10 @@ def test_verify_script_compiles_sdl2_demo_and_runs_only_when_requested():
5574
assert '-I"${sdl2_include_dir}"' in script
5675
assert "LVGL_RUN_SDL2_DEMO" in script
5776
assert "host_macos_sdl2_demo" in script
77+
assert "verify_widgets_demo.c" in script
78+
assert '#include "demos/widgets/lv_demo_widgets.h"' in script
79+
assert "lv_demo_widgets();" in script
80+
assert '"${dist_dir}/lib/liblvgl_demos.a"' in script
5881

5982

6083
def test_sdl2_demo_uses_lvgl_sdl_window_input_and_label():

0 commit comments

Comments
 (0)