import contextlib,json,os,unittest
from pathlib import Path
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_capture_boundary.py','test_output_settings.py','test_analysis_metrics.py'):
        suite.addTests(unittest.defaultTestLoader.discover(os.environ.get('TEST_ROOT','/source/tests'),pattern=pattern))
    import test_metadata_connection
    suite.addTests(unittest.defaultTestLoader.loadTestsFromTestCase(test_metadata_connection.VisualTest))
    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())
