把 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 找项目,不引用该文档。
39 lines
918 B
Plaintext
39 lines
918 B
Plaintext
from stdint import *
|
|
import w32.win32console
|
|
import t, c
|
|
from t import CInt, CExport
|
|
import memhub
|
|
import stdlib
|
|
import sys
|
|
import os
|
|
import os._win32
|
|
import os._posix
|
|
import os.path
|
|
import shutil
|
|
import subprocess
|
|
import syslibtest_impl
|
|
|
|
|
|
# MBuddy arena 大小:1MB
|
|
ARENA_SIZE: t.CDefine = 1048576
|
|
|
|
|
|
def main() -> CInt | CExport:
|
|
w32.win32console.SetConsoleCP(65001)
|
|
w32.win32console.SetConsoleOutputCP(65001)
|
|
|
|
# 初始化全局 MBuddy 内存分配器
|
|
arena: bytes = stdlib.malloc(ARENA_SIZE)
|
|
mbuddy_obj: memhub.MemBuddy | t.CPtr = memhub.MemBuddy(arena, ARENA_SIZE)
|
|
|
|
# 将 MBuddy 对象赋值给所有需要内存分配的模块
|
|
sys._mbuddy = mbuddy_obj
|
|
os._mbuddy = mbuddy_obj
|
|
os._win32._mbuddy = mbuddy_obj
|
|
os._posix._mbuddy = mbuddy_obj
|
|
os.path._mbuddy = mbuddy_obj
|
|
shutil._mbuddy = mbuddy_obj
|
|
subprocess._mbuddy = mbuddy_obj
|
|
|
|
return syslibtest_impl.run()
|