Split experiments from tests
The tests/ directory held 50 laboratory programs and no tests. They model channels, run hundreds of repetitions and write CSV, PNG and reports; calling that a test suite blocked introducing a real one, because any pytest run would have collected the labs and re-executed every experiment. - move all 50 lab programs to experiments/ with git mv, preserving history - rewrite the 38 cross-imports between labs from tests.labNNN to experiments.labNNN - leave tests/ empty for actual fast checks of protocol/ - point quick_gate and the hook at the new layout and add experiments/ to the syntax sweep - update the paths quoted in the Lab042 specification and the verifier agent definition This also defuses the import-time work finding without touching 41 files: the labs still create directories and write files on import, but nothing imports them now except the gate, which does so deliberately. Gate passes: syntax clean, protocol imports, 15 lab modules import, 2 functional suites run. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -24,7 +24,7 @@ import sys
|
||||
import traceback
|
||||
|
||||
PROJECT_ROOT = Path(__file__).resolve().parent.parent
|
||||
CHECKED_DIRECTORIES = ("protocol", "tests", "tools")
|
||||
CHECKED_DIRECTORIES = ("protocol", "tests", "experiments", "tools")
|
||||
|
||||
|
||||
def check_syntax() -> list[str]:
|
||||
@@ -81,13 +81,13 @@ def check_functional_tests() -> tuple[list[str], int, int]:
|
||||
executed = 0
|
||||
skipped = 0
|
||||
|
||||
for path in sorted((PROJECT_ROOT / "tests").glob("lab*.py")):
|
||||
for path in sorted((PROJECT_ROOT / "experiments").glob("lab*.py")):
|
||||
source = path.read_text(encoding="utf-8")
|
||||
|
||||
if "def run_functional_tests" not in source:
|
||||
continue
|
||||
|
||||
module_name = f"tests.{path.stem}"
|
||||
module_name = f"experiments.{path.stem}"
|
||||
|
||||
try:
|
||||
module = importlib.import_module(module_name)
|
||||
|
||||
Reference in New Issue
Block a user