Files
TransPyC/_mk_negtest.py
T

98 lines
2.5 KiB
Python

import os
base = r"Test\NegativeTest"
files = {
'App/main.vp': (
"import t, c\n"
"from stdint import *\n"
"import stdio\n"
"\n"
"def main() -> int:\n"
" stdio.printf(\"NegativeTest baseline OK\\n\")\n"
" return 0\n"
),
'App/cases/import_wrong_path.vp': (
"import t, c\n"
"import lib.NopeModule as NopeModule\n"
"\n"
"def main() -> int:\n"
" return 0\n"
),
'App/cases/import_stale_path.vp': (
"import t, c\n"
"# f8bca62 移动前的旧路径(文件在 lib/Stub/StubMerger/ 下)\n"
"import lib.Stub.StubMergerStore as StubMergerStore\n"
"\n"
"def main() -> int:\n"
" return 0\n"
),
'App/cases/import_missing_module.vp': (
"import t, c\n"
"import lib.core.Handles.HandlesStruct as HandlesStruct\n"
"\n"
"def main() -> int:\n"
" return 0\n"
),
'App/cases/call_too_few.vp': (
"import t, c\n"
"\n"
"def f(a: int, b: int) -> int:\n"
" return a + b\n"
"\n"
"def main() -> int:\n"
" return f(1)\n"
),
'App/cases/call_too_many.vp': (
"import t, c\n"
"\n"
"def f(a: int, b: int) -> int:\n"
" return a + b\n"
"\n"
"def main() -> int:\n"
" return f(1, 2, 3)\n"
),
'App/cases/call_wrong_type.vp': (
"import t, c\n"
"\n"
"def f(a: int, b: int) -> int:\n"
" return a + b\n"
"\n"
"def main() -> int:\n"
" return f(\"x\", 2)\n"
),
'App/cases/call_float_to_int.vp': (
"import t, c\n"
"\n"
"def g(x: int) -> int:\n"
" return x\n"
"\n"
"def main() -> int:\n"
" return g(1.5)\n"
),
'App/cases/undefined_name.vp': (
"import t, c\n"
"\n"
"def main() -> int:\n"
" y = z + 1\n"
" return y\n"
),
'App/cases/undefined_func.vp': (
"import t, c\n"
"\n"
"def main() -> int:\n"
" return foo(1)\n"
),
'App/cases/missing_return.vp': (
"import t, c\n"
"\n"
"def h(x: int) -> int:\n"
" x = x + 1\n"
),
}
for rel, content in files.items():
p = os.path.join(base, rel.replace('/', os.sep))
os.makedirs(os.path.dirname(p), exist_ok=True)
with open(p, 'w', encoding='utf-8') as f:
f.write(content)
print('written', len(files), 'files')