"""Register PrimeControls.{calc,fmt} from the Ignition project's code.py files so pytest imports them exactly as the gateway does (single source of truth).""" import importlib.util import os import sys import types ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) SP = os.path.join(ROOT, "ignition", "gateway", "projects", "PrimeBAT", "ignition", "script-python", "PrimeControls") pkg = types.ModuleType("PrimeControls") pkg.__path__ = [SP] sys.modules["PrimeControls"] = pkg for mod in ("calc", "fmt"): spec = importlib.util.spec_from_file_location( "PrimeControls." + mod, os.path.join(SP, mod, "code.py")) m = importlib.util.module_from_spec(spec) sys.modules["PrimeControls." + mod] = m spec.loader.exec_module(m) setattr(pkg, mod, m)