TermiNexus
|
73846979f1
|
test(lifetime): SequentialRegressionTest 支持负向项目(反向判定)
NEGATIVE_PROJECTS: EscapeTest/EscapeMethodTest/EscapeXmodTest 期望编译失败且输出含 LifetimeError;命中即通过并跳过运行阶段,编译成功=漏检直接终止,报错方向不符亦终止。
regression_test.py 的 --escape 剔除负向项目(该脚本要求编译成功+能跑,纳入会误报),并提示改用 SequentialRegressionTest 或 run_lifetime_negative_tests.py。README 同步。
|
2026-10-08 17:56:58 +08:00 |
|
TermiNexus
|
ed204852c4
|
test(lifetime): 新增生命期负向运行器;NewTest 补 memgr 用例
run_lifetime_negative_tests.py:只用 TransPyV 编译并断言编译失败且输出含 LifetimeError(TPC 解析不了 new、也产不出 LifetimeError,故与 NegativeTest 的 TPC 运行器分开);默认跑 EscapeTest / EscapeMethodTest / EscapeXmodTest,支持 --only/--rebuild-includes。
NewTest:按 MemhubTest 的写法补上 new memgr(m) hlife Point(5,6) 段(memhub.MemBuddy(arena, 65536))。README 同步负向运行器用法。
|
2026-10-08 17:50:53 +08:00 |
|
TermiNexus
|
42ca901b28
|
test(new): 新增 NewTest 工程;两个回归脚本支持 --escape/--only 单独跑
NewTest:M2.4 new 描述符冒烟(stack→alloca、heap→malloc;memgr 段待确认管理器 API,非法组合以注释列出)。
regression_test.py / SequentialRegressionTest.py 新增 --escape(只跑生命期/逃逸 + new 相关项目)与 --only(逗号分隔指定项目);两者都会在 Test/<名> 与仓库根 <名> 查找 project.json / project.vpj,故根级 Escape* 项目也能直接跑;--escape 忽略 README 难度顺序。
README.md:新增「一·附 生命期/逃逸相关测试」一节,列出 5 个项目的期望结果与单独运行命令。
|
2026-10-08 17:47:24 +08:00 |
|
TermiNexus
|
f5544eed80
|
chore(syntax): DefineTest/FormatStringTest 迁移到 cif/defined() 条件编译
DefineTest 的条件编译用例(基础/elif-else/cifdef-cifndef/平台宏/嵌套/表达式/跨模块/守卫)全部改写为 cif-celif-celse + defined();FormatStringTest 的 isptr 判断由 c.CIf 改为 cif;README 同步新语法口径。
|
2026-10-07 19:02:56 +08:00 |
|
TermiNexus
|
e9f12973fd
|
docs(Test): 补全测试清单——补录 9 个新增工程与 NegativeTest 负向测试说明
|
2026-10-01 23:42:42 +08:00 |
|
TermiNexus
|
3c6fb1d246
|
chore(test): 初始化回归测试仓(新增 .gitignore,TestsOverview.md 改为 README.md)
把 Test/ 纳入 https://git.gvsds.com/GVSDS/Viper_RegressionTesting 。
1) 新增 .gitignore —— 只保留测试源码,剔除全部构建产物:
目录 **/output*/(output / output_opt / output_orig / output_verify / output_dbg)、
**/temp*/(temp / temp_opt)、**/.tpv_build/
二进制 *.exe *.obj *.o *.out *.a *.lib *.dll
中间物 *.ll *.vpi *.pyi *.deps.txt *.deps.json *.doc.json *_sha1_map.txt
_pyi_cache_v1.pkl _pyi_cache_v1.sig.json _shared_sym.json _phase1_manifest.json
其它 build_all.txt(构建日志)、*.log、__pycache__/、*.bak、IDE 目录
保留 App/*.vp、project.json / project_opt.json / project.vpj、README.md、两个 .py
实测 `git add -A --dry-run`:196 个文件,无任何构建产物混入。
2) TestsOverview.md → README.md(作为仓库首页文档)。
3) SequentialRegressionTest.py:7 处 TestsOverview.md 引用同步改为 README.md
(文档串、OVERVIEW 路径、read_test_order 文档与报错文案、argparse description、
启动横幅);同时修正入口路径 PROJECTRANS —— 旧值 <root>/Projectrans.py 已不存在,
改为 <root>/TransPyC/Projectrans.py(与 regression_test.py:45-48 记录一致),
否则本脚本会以 "can't open file" 全量失败。
regression_test.py 无需改动:它按目录扫描 project.json 找项目,不引用该文档。
|
2026-09-29 15:14:59 +08:00 |
|