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')