12.9 步骤 6:vm_test 固化(手工映像 + 编译器产物 + 确定性)。
- 手工映像:标量/跳转/数据区、CALL/RET 帧复制(r1/r2 实参 → r0 结果)、自调用 StackOverflow、越界槽 BadSlot、坏常量 BadConst - 编译器产物:用例 01~09/13/15/17/18/20 跑周期断言(TON 第 3 周期 q=1、line1 真值表 4 组) - 用例 06 CycleLimit;确定性:同一 I 序列两遍数据区逐字节一致 - step 单步:停在指令边界、cycle_count/regs 逐步核对 - ctest 10/10(vm_cycles 84 断言)
This commit is contained in:
@@ -78,3 +78,14 @@ target_compile_definitions(codegen_test PRIVATE
|
||||
|
||||
add_test(NAME codegen_slice1
|
||||
COMMAND codegen_test)
|
||||
|
||||
# VM 测试:手工映像 + 编译器产物 + 定时器 + 确定性(REPO_ROOT 注入源目录绝对路径)
|
||||
add_executable(vm_test
|
||||
./src/vm_test.cpp)
|
||||
|
||||
target_link_libraries(vm_test PRIVATE compiler vm)
|
||||
target_compile_definitions(vm_test PRIVATE
|
||||
REPO_ROOT="${CMAKE_SOURCE_DIR}")
|
||||
|
||||
add_test(NAME vm_cycles
|
||||
COMMAND vm_test)
|
||||
|
||||
Reference in New Issue
Block a user