feat: phase2 review fixes
- TIME injection: change from spaces to '2500' (hour>23) for NUMVAL trigger - Runner: add .resolve() to work_dir to fix chdir+relative path breakage - Coverage: per-target field overrides for DP#9-#12 (START-DATE=20240115 etc.) - .gitignore: add compilation artifacts, temp scripts, test outputs
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
"""S30: DB プログラム E2E — ZAN06UPD 6Step 実行"""
|
||||
import sys, os
|
||||
sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..'))
|
||||
P=0;F=0
|
||||
def ck(v,m=""): global P,F; (P:=P+1) if v else (F:=F+1, print(f" FAIL {m}"))
|
||||
def sec(n): print(f"\n{'='*60}\n{n}\n{'='*60}")
|
||||
|
||||
DESKTOP = os.path.join(os.environ['USERPROFILE'], "Desktop")
|
||||
ROOT = os.path.join(DESKTOP, "2026技术大赛", "cobol-tna-system") + "/"
|
||||
COPYBOOKS = [os.path.join(ROOT, "cpy"), os.path.join(ROOT, "src")]
|
||||
|
||||
from config import Config
|
||||
from orchestrator_db import GixsqlOrchestrator
|
||||
|
||||
sec("Step 0: Init")
|
||||
PROJECT = os.path.join(os.path.dirname(__file__), '..')
|
||||
cfg = Config()
|
||||
cfg.gixsql_path = os.path.join(PROJECT, "gixsql", "bin", "gixpp.exe")
|
||||
cfg.gixsql_lib_path = os.path.join(PROJECT, "gixsql", "lib")
|
||||
|
||||
orch = GixsqlOrchestrator(
|
||||
cfg, "ZAN06UPD",
|
||||
cobol_src_dir=os.path.join(ROOT, "src"),
|
||||
copybook_dirs=COPYBOOKS,
|
||||
)
|
||||
ck(orch.program_id == "ZAN06UPD", "orchestrator init")
|
||||
print(f" Tables: {[t.name for t in orch.schema.db_tables]}")
|
||||
print(f" SUBs: {orch.schema.subprograms}")
|
||||
|
||||
sec("Step 1: gixpp -> compile")
|
||||
r1 = orch.step1_setup_environment()
|
||||
ck(r1.success, f"step1: {r1.message}")
|
||||
if r1.success:
|
||||
ck(orch.exe_path and os.path.exists(orch.exe_path), "exe created")
|
||||
|
||||
sec("Step 2: generate inputs")
|
||||
r2 = orch.step2_generate_inputs()
|
||||
ck(r2.success, f"step2: {r2.message}")
|
||||
|
||||
sec("Step 3: run COBOL")
|
||||
r3 = orch.step3_run_cobol()
|
||||
ck(r3.success, f"step3: {r3.message}")
|
||||
|
||||
sec("Coverage report")
|
||||
cr = orch.generate_coverage_report()
|
||||
ck(cr.success, f"coverage: {cr.message}")
|
||||
if cr.success:
|
||||
cov = cr.data.get("coverage", "?")
|
||||
rep = cr.data.get("reports", "?")
|
||||
print(f" Coverage: {cov}")
|
||||
print(f" Reports: {rep}")
|
||||
|
||||
sec("Step 4: extract intermediate data")
|
||||
r4 = orch.step4_extract_intermediate()
|
||||
ck(r4.success, f"step4: {r4.message}")
|
||||
|
||||
sec("Step 5: run Java (placeholder)")
|
||||
r5 = orch.step5_run_java()
|
||||
|
||||
sec("Step 6: verify")
|
||||
vr = orch.step6_verify()
|
||||
print(f" Status: {vr.status}")
|
||||
print(f" Step reached: {vr.step_reached}")
|
||||
|
||||
sec("SUMMARY")
|
||||
print(f"S30: {P} PASS / {F} FAIL")
|
||||
if F > 0: sys.exit(1)
|
||||
Reference in New Issue
Block a user