import hashlib
import importlib
import json
from pathlib import Path
import sys
import unittest

modules=['app.byte_tracking','app.tracking_kernel']
print({m:importlib.import_module(m).__file__ for m in modules})
suite=unittest.TestSuite()
def add(tests):
    for t in tests:
        if isinstance(t,unittest.TestSuite):add(t)
        elif not t.id().endswith('test_entrypoint_scopes_blas_to_application'):suite.addTest(t)
for pattern in ['test_tracking_kernel.py','test_tracking_probe.py','test_tracking_empty_update.py','test_tracking_preparation.py','test_det_result_path.py','test_analysis_metrics.py']:
    add(unittest.defaultTestLoader.discover('/tests',pattern=pattern))
add(unittest.defaultTestLoader.loadTestsFromName('test_intrusion_connection.ScenarioConnectionTest'))
result=unittest.TextTestRunner(verbosity=2).run(suite)
out=dict(tests=result.testsRun,success=result.wasSuccessful(),errors=len(result.errors),failures=len(result.failures))
Path('/evidence',sys.argv[1]+'.json').write_text(json.dumps(out,indent=2));print(json.dumps(out))
raise SystemExit(0 if result.wasSuccessful() else 1)
