修复了大量存在的问题,增加了假鸭子类型等等机制

This commit is contained in:
2026-06-25 14:49:46 +08:00
parent 19f2787db0
commit d88d11b646
827 changed files with 32617 additions and 18316 deletions

54
includes/testcheck.py Normal file
View File

@@ -0,0 +1,54 @@
# testcheck - 回归测试格式化输出库
# 提供 PASS/FAIL 计数、分节标题、汇总报告
import t, c
import stdio
_pass_count: t.CInt = 0
_fail_count: t.CInt = 0
def begin(name: str):
"""开始测试套件,打印头部并重置计数器"""
global _pass_count, _fail_count
_pass_count = 0
_fail_count = 0
stdio.printf("=== %s ===\n\n", name)
def section(name: str):
"""打印分节标题"""
stdio.printf("--- %s ---\n", name)
def ok(msg: str):
"""打印 PASS 并计数"""
global _pass_count
_pass_count += 1
stdio.printf("PASS: %s\n", msg)
def fail(msg: str):
"""打印 FAIL 并计数"""
global _fail_count
_fail_count += 1
stdio.printf("FAIL: %s\n", msg)
def check(cond: t.CInt, ok_msg: str, fail_msg: str):
"""条件检查,自动选择 PASS/FAIL"""
if cond:
ok(ok_msg)
else:
fail(fail_msg)
def info(msg: str):
"""打印信息消息(不计入 PASS/FAIL"""
stdio.printf("%s\n", msg)
def end() -> t.CInt:
"""打印汇总,返回失败数"""
stdio.printf("\n--- Summary ---\n")
stdio.printf("PASS: %d, FAIL: %d\n", _pass_count, _fail_count)
return _fail_count