Files
MeowOS-SDK/tuku/test/run_webtoon_tests.sh
T
AskaEth e9c0749609 test: 宿主链接行跟进 M23 解码 TU(meow_jpeg / meow_png_stream + -lz)
tuku/test/run_tests.sh 与 run_webtoon_tests.sh 里直接编译 meow_ui_img.c 的 6 条
gcc 行补上 "$SDK"/meow_jpeg.c "$SDK"/meow_png_stream.c;settings_lock_host 那条
原来没有 -lz(PNG 后端的 inflate 需要)。sdk/test_meow_img_color.c 头注释里的
编译命令同步(顺带补上 M21 起就缺的 meow_ui_time.c)。

只动链接行/注释,不改测试断言。
2026-11-05 21:33:54 +08:00

51 lines
2.7 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
# run_webtoon_tests.sh — M7 条漫/模式/续读/跳页宿主测试(纯 C,不链 SDK、不需要设备)。
# - test_webtoon_strip:条漫排版(适宽高度/偏移表/可见窗口/未知尺寸兜底/跳页互逆)
# - test_jump_page:跳页状态机(预解码落位/超时降级/非法目标)与落位偏移映射
# - test_mode_persist:阅读模式与每册 last page 的 meow_config 持久化/坏值/写失败
# - test_cont_adjacent:册间自然序边界(首/末册/嵌套/符号链接)+ 书库续读角标
# 编译口径同 test/run_tests.sh(-I. + SDK 头,不链 meow_ui.a;配置/日志用存根)。
set -e
cd "$(dirname "$0")/.."
SDK="${MEOW_SDK_DIR:-$HOME/Proj/MeowOS-SDK/sdk}"
CFLAGS="-Wall -Wextra -O1 -I. -I$SDK"
OUT="build/host"
mkdir -p "$OUT"
gcc $CFLAGS test/test_webtoon_strip.c logic/reader/nav.c -o "$OUT/test_webtoon_strip"
"$OUT/test_webtoon_strip"
gcc $CFLAGS test/test_jump_page.c logic/reader/nav.c -o "$OUT/test_jump_page"
"$OUT/test_jump_page"
gcc $CFLAGS test/test_mode_persist.c logic/reader.c test/settings_reader_stub.c \
-o "$OUT/test_mode_persist"
"$OUT/test_mode_persist"
gcc $CFLAGS test/test_cont_adjacent.c logic/library.c logic/reader.c \
test/settings_reader_stub.c -o "$OUT/test_cont_adjacent"
"$OUT/test_cont_adjacent"
# 可选:真实 SDK 源码树上的阅读器集成测试(模式切换/续读/跳页/册间衔接)。
# 只发布 meow_ui.a 的交付环境自动 SKIP(与 test/run_tests.sh 的 settings_lock_host 同口径)。
if [ -f "$SDK/meow_ui_view.c" ] && [ -f "$SDK/meow_ui_config.c" ]; then
gcc $CFLAGS -DMEOW_UI_HOST_TEST -DMR_READER_HOST_TEST -I"$SDK/include" \
test/test_mode_switch_host.c ui/reader/reader.c \
logic/library.c logic/reader.c logic/reader/page_source.c \
logic/reader/archive_source.c logic/reader/page_cache.c logic/zip/zip.c \
logic/reader/nav.c \
"$SDK"/meow_ui_time.c "$SDK"/meow_ui_gfx.c "$SDK"/meow_ui_sys.c "$SDK"/meow_ui_theme.c \
"$SDK"/meow_ui_vol.c "$SDK"/meow_ui_log.c "$SDK"/meow_ui_widget.c \
"$SDK"/meow_ui_input.c "$SDK"/meow_ui_activity.c "$SDK"/meow_ui_dialog.c \
"$SDK"/meow_ui_ime.c "$SDK"/meow_ui_str.c "$SDK"/meow_pinyin.c \
"$SDK"/meow_ui_draw.c "$SDK"/meow_ui_view.c "$SDK"/meow_ui_box.c \
"$SDK"/meow_ui_anim.c "$SDK"/meow_ui_scroll.c "$SDK"/meow_ui_img.c \
"$SDK"/meow_jpeg.c "$SDK"/meow_png_stream.c \
"$SDK"/meow_ui_media.c "$SDK"/meow_notify_ipc.c "$SDK"/meow_ui_config.c \
"$SDK"/meow_ui_nav.c "$SDK"/stb_image.c "$SDK"/test_host_stub.c \
-pthread -lm -lz -o "$OUT/test_mode_switch_host"
"$OUT/test_mode_switch_host"
else
echo "SKIP test_mode_switch_host: SDK 源码树不可用(只发布 meow_ui.a 的环境)"
fi