#!/usr/bin/env python """COBOL 迁移验证平台统一入口。 用法: python run.py verify <主工程参数...> # 透传给 main.py (COBOL->Java/Spark 迁移验证) python run.py blackbox <黑盒参数...> # 透传给 black-box-data-create/main.py (LLM 测试数据生成) 子命令后的参数原样转发给目标 main.py,由目标自行解析,本脚本不做任何处理。 """ import os import subprocess import sys ROOT = os.path.dirname(os.path.abspath(__file__)) TARGETS = { "verify": os.path.join(ROOT, "main.py"), "blackbox": os.path.join(ROOT, "black-box-data-create", "main.py"), } USAGE = """\ 用法: python run.py [参数...] 子命令: verify - 主工程: COBOL->Java/Spark 迁移验证(透传给 main.py) blackbox - 黑盒工程: LLM 测试数据生成(透传给 black-box-data-create/main.py) """ def main(): if len(sys.argv) < 2: print(USAGE, file=sys.stderr) return 2 engine = sys.argv[1] target = TARGETS.get(engine) if target is None: print(f"错误: 未知子命令 '{engine}'\n", file=sys.stderr) print(USAGE, file=sys.stderr) return 2 if not os.path.exists(target): print(f"错误: 找不到目标脚本: {target}", file=sys.stderr) return 2 passthrough = sys.argv[2:] return subprocess.run([sys.executable, target] + passthrough).returncode if __name__ == "__main__": sys.exit(main())