refactor(runner): allow explicit java output dir in _run_java_scene
This commit is contained in:
+14
-7
@@ -684,13 +684,17 @@ def _java_scene_label(dst_out_dir: Path) -> str:
|
||||
return cobol_scene.name
|
||||
|
||||
|
||||
def _run_java_scene(program_name: str, scene_id: str, outdir: str, temp_dir: str,
|
||||
def _run_java_scene(program_name: str, scene_id: str, java_out_dir, temp_dir: str,
|
||||
src_in_dir: Path, dst_out_dir: Path,
|
||||
fd_field_dicts: dict, open_dir: dict, select_info: dict,
|
||||
java_cfg: dict, log_dir: str | None = None) -> dict:
|
||||
"""单场景:准备 Java 入力 -> 运行 jar -> 收集出力 -> 与 COBOL 出力比对。"""
|
||||
label = _java_scene_label(dst_out_dir)
|
||||
java_out_dir = Path(outdir) / 'java' / label / 'output'
|
||||
java_cfg: dict, log_dir: str | None = None,
|
||||
label: str | None = None) -> dict:
|
||||
"""单场景:准备 Java 入力 -> 运行 jar -> 收集出力 -> 与 COBOL 出力比对。
|
||||
|
||||
java_out_dir: Java 出力目录(显式)。label 省略时由 dst_out_dir 推导。
|
||||
"""
|
||||
label = label or _java_scene_label(dst_out_dir)
|
||||
java_out_dir = Path(java_out_dir)
|
||||
java_work = Path(temp_dir) / f'java_{scene_id}'
|
||||
|
||||
input_items = _input_fd_assign_len(fd_field_dicts, open_dir, select_info)
|
||||
@@ -961,11 +965,14 @@ def run_all(program_name: str, outdir: str, temp_dir: str,
|
||||
|
||||
# ── 3h. Java 文件式运行 + COBOL vs Java 出力比对(仅在有 Java 对应程序时)──
|
||||
if java_cfg:
|
||||
_java_label = _java_scene_label(dst_out_dir)
|
||||
jrep = _run_java_scene(
|
||||
program_name, scene_id, outdir, str(work_dir),
|
||||
program_name, scene_id,
|
||||
Path(outdir) / 'java' / _java_label / 'output',
|
||||
str(work_dir),
|
||||
src_in_dir, dst_out_dir,
|
||||
fd_field_dicts, open_dir, select_info,
|
||||
java_cfg, log_dir=log_dir,
|
||||
java_cfg, log_dir=log_dir, label=_java_label,
|
||||
)
|
||||
java_reports.append(jrep)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user