Build and Test the Simulator / 构建与测试模拟器
模拟器用 Qt6 打开 U8g2 framebuffer,是修改 App、Widget 和动画时最快的可视化检查方式。
准备
1 | git submodule update --init --recursive |
需要 CMake、C++20 编译器和 Qt6 Core/Gui/Widgets。CMake 找不到 Qt,可以显式给出:
1 | cmake -S . -B build \ |
运行文件在:
1 | ./build/simulator/u8g2_emulator |
回归测试
1 | ctest --test-dir build --output-on-failure |
当前测试覆盖 App arena/ViewManager 生命周期、Chart buffer、动画内联存储、Popup pool、PopupValueDigits、FocusManager 迁移和 Widget 树。
AddressSanitizer
1 | cmake -S . -B build-asan \ |
ASan 主要帮助发现 Widget/回调/动画引用已销毁 App 成员的问题.
内存报告
1 | ./build/tests/memory_metrics |
sizeof 只对当前编译器、ABI 和配置有效。移植到 MCU 后必须重新测量,并结合 linker map 看 RAM/flash。
提交前的最小检查
1 | git diff --check |
第二条是快速扫描,模拟器自己使用 Qt/STL 的边界需要和 PixelUI 区分对待。
