import contextlib
import json
import os
from pathlib import Path
import unittest

os.umask(0o077)
R=Path('/evidence')
label=os.environ.get('VERIFY_LABEL','source')
with (R/(label+'.log')).open('x') as log, contextlib.redirect_stdout(log), contextlib.redirect_stderr(log):
    suite=unittest.TestSuite()
    for pattern in ('test_output_settings.py','test_intrusion.py','test_metadata_render_time.py','test_tracking_empty_update.py'):
        suite.addTests(unittest.defaultTestLoader.discover(os.environ.get('TEST_ROOT','/source/tests'),pattern=pattern))
    result=unittest.TextTestRunner(stream=log,verbosity=2).run(suite)
out=dict(tests=result.testsRun,errors=len(result.errors),failures=len(result.failures))
(R/(label+'-verify.json')).write_text(json.dumps(out,indent=2))
print(json.dumps(out))
raise SystemExit(not result.wasSuccessful())
