Files
cobol-java-v3/tests/cobol_testgen/test_cli_blackbox.py
T

67 lines
1.7 KiB
Python

"""cobol_testgen --black-box CLI 参数解析测试"""
import os
import sys
sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "..")))
from cobol_testgen import _extract_black_box_args
def test_black_box_dir_consumed(tmp_path):
d = tmp_path / "prog"
d.mkdir()
args = ["--black-box", str(d), "src.cbl", "out"]
do, arg = _extract_black_box_args(args)
assert do is True
assert arg == str(d)
assert args == ["src.cbl", "out"]
def test_black_box_bare_does_not_consume_source():
args = ["--black-box", "src.cbl", "out"]
do, arg = _extract_black_box_args(args)
assert do is True
assert arg is None
assert args == ["src.cbl", "out"]
def test_black_box_equals_form():
args = ["--black-box=bbdir", "src.cbl"]
do, arg = _extract_black_box_args(args)
assert do is True
assert arg == "bbdir"
assert args == ["src.cbl"]
def test_no_black_box():
args = ["--no-black-box", "src.cbl"]
do, arg = _extract_black_box_args(args)
assert do is False
assert arg is None
assert args == ["src.cbl"]
def test_no_flags_leaves_args_untouched():
args = ["src.cbl", "out"]
do, arg = _extract_black_box_args(args)
assert do is False
assert arg is None
assert args == ["src.cbl", "out"]
def test_black_box_nonexistent_dir_consumed():
args = ["--black-box", "no/such/dir", "src.cbl", "out"]
do, arg = _extract_black_box_args(args)
assert do is True
assert arg == "no/such/dir"
assert args == ["src.cbl", "out"]
def test_no_black_box_resets_arg():
args = ["--black-box", "bbdir", "--no-black-box", "src.cbl"]
do, arg = _extract_black_box_args(args)
assert do is False
assert arg is None
assert args == ["src.cbl"]