Files
cobol-java-v3/run.py
T
2026-08-23 10:46:56 +08:00

52 lines
1.4 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/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|blackbox> [参数...]
子命令:
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())