import re import subprocess import sys import unittest from pathlib import Path ROOT = Path(__file__).resolve().parents[1] SRC = ROOT / "src" if str(SRC) not in sys.path: sys.path.insert(0, str(SRC)) import aman import aman_cli class AmanEntrypointTests(unittest.TestCase): def test_aman_module_only_reexports_main(self): self.assertIs(aman.main, aman_cli.main) self.assertFalse(hasattr(aman, "Daemon")) def test_python_m_aman_version_succeeds_without_config_ui(self): script = f""" import builtins import sys sys.path.insert(0, {str(SRC)!r}) real_import = builtins.__import__ def blocked(name, globals=None, locals=None, fromlist=(), level=0): if name == "config_ui": raise ModuleNotFoundError("blocked config_ui") return real_import(name, globals, locals, fromlist, level) builtins.__import__ = blocked import aman raise SystemExit(aman.main(["version"])) """ result = subprocess.run( [sys.executable, "-c", script], cwd=ROOT, text=True, capture_output=True, check=False, ) self.assertEqual(result.returncode, 0, result.stderr) self.assertRegex(result.stdout.strip(), re.compile(r"\S+")) if __name__ == "__main__": unittest.main()