"""Regression tests for MindStudio Logo hooks on Python CLI entry points."""
from __future__ import annotations
from pathlib import Path
import pytest
from tests.helpers.cli_runner import CliResult, run_module_main
_LOGO_BRAND = "MindStudio"
_LOGO_SLOGAN = "THE END-TO-END TOOLCHAIN TO UNLEASH HUAWEI ASCEND COMPUTE"
_HELP_MODULES = (
"cli.inference.text_generate",
"cli.inference.video_generate",
"cli.inference.throughput_optimizer",
"cli.inference.model_adapter",
"optix",
"serving_cast.main",
"tools.perf_data_collection.comm_bench.validate_comm_alignment",
"tools.perf_data_collection.generate_shape_grid",
)
def _streams_contain_logo(result: CliResult) -> bool:
combined = f"{result.stdout}\n{result.stderr}"
return _LOGO_BRAND in combined and _LOGO_SLOGAN in combined
def _assert_logo_on_stderr(stderr: str) -> None:
assert _LOGO_BRAND in stderr
assert _LOGO_SLOGAN in stderr
assert stderr.count("=") >= 2
def test_help_suppresses_logo_on_cli_modules() -> None:
for module_name in _HELP_MODULES:
result = run_module_main(module_name, ["--help"])
assert result.returncode == 0, module_name
assert not _streams_contain_logo(result), module_name
def test_generate_shape_grid_repo_root_resolves_cli_logo() -> None:
"""REPO_ROOT must be msmodeling root (parents[1]), not gitcode (parents[2])."""
script = Path("tools/perf_data_collection/generate_shape_grid.py").resolve()
repo_root = script.parent.parents[1]
assert (repo_root / "cli" / "logo.py").is_file()
def test_generate_shape_grid_main_cli(
monkeypatch: pytest.MonkeyPatch,
tmp_path: Path,
) -> None:
"""Exercise generate_shape_grid.main in-process for CI test_map coverage."""
monkeypatch.setattr(
"tools.perf_data_collection.generate_shape_grid.load_csv_files",
lambda _data_dir: [],
)
monkeypatch.setattr(
"tools.perf_data_collection.generate_shape_grid.run_theory_mode",
lambda _args, _data_dir, _csv_files: (0, []),
)
monkeypatch.setattr(
"tools.perf_data_collection.generate_shape_grid.clear_progress",
lambda: None,
)
result = run_module_main(
"tools.perf_data_collection.generate_shape_grid",
["--database-path", str(tmp_path), "--rows", "0"],
)
assert result.returncode == 0
assert "Appended 0 rows" in result.stdout
_assert_logo_on_stderr(result.stderr)
def test_validate_comm_alignment_prints_logo_after_parse() -> None:
result = run_module_main(
"tools.perf_data_collection.comm_bench.validate_comm_alignment",
["--csv-dir", "/nonexistent-logo-hook-dir"],
)
assert result.returncode != 0
_assert_logo_on_stderr(result.stderr)
def test_model_adapter_main_cli(
monkeypatch: pytest.MonkeyPatch,
tmp_path: Path,
) -> None:
"""Exercise model_adapter.main in-process for CI test_map coverage."""
doctor_report = tmp_path / "doctor.json"
doctor_report.write_text("{}", encoding="utf-8")
monkeypatch.setattr(
"tensor_cast.adapter.evidence_export.export_evidence_from_doctor_report",
lambda _report, _output: "version: 1\n",
)
result = run_module_main(
"cli.inference.model_adapter",
[
"export-evidence",
"--doctor-report",
str(doctor_report),
],
)
assert result.returncode == 0
assert "version: 1" in result.stdout
_assert_logo_on_stderr(result.stderr)
def test_model_adapter_help_entrypoints_do_not_require_check_dependencies() -> None:
for argv in (["--help"], ["doctor", "--help"], ["verify", "--help"], ["export-evidence", "--help"]):
result = run_module_main("cli.inference.model_adapter", argv)
assert result.returncode == 0, argv
assert "usage:" in (result.stdout + result.stderr).lower()