mirror of
https://github.com/magnus919/agent-skills.git
synced 2026-09-11 19:47:12 +03:00
fix(ci): prevent sys.modules cross-contamination between test directories in check-artifacts
When unittest discover processes skills/binary-analysis/tests/ before tests/, the integration package gets cached in sys.modules from the first discover call. Later discover calls reuse the cached package which doesn't contain the expected test modules, causing spurious ModuleNotFoundError failures. Fix: snapshot and restore sys.modules between discover iterations. Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
This commit is contained in:
co-authored by
factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
parent
736859eafa
commit
96f0bd4e46
@@ -68,9 +68,13 @@ def run_checks(files: list[Path]) -> list[str]:
|
||||
|
||||
for directory in test_directories(files):
|
||||
relative = directory.relative_to(ROOT)
|
||||
before = set(sys.modules)
|
||||
result = unittest.TextTestRunner(verbosity=0).run(
|
||||
unittest.defaultTestLoader.discover(str(directory), top_level_dir=str(directory))
|
||||
)
|
||||
for mod in list(sys.modules):
|
||||
if mod not in before:
|
||||
del sys.modules[mod]
|
||||
if not result.wasSuccessful():
|
||||
errors.append(
|
||||
f"unittest discover {relative}: "
|
||||
|
||||
Reference in New Issue
Block a user