import contextlib, glob, json, os, pathlib, sys, unittest
os.umask(0o077)
os.environ['REDIS_STREAMS_ENABLED'] = 'false'
os.environ['DATABASE_URL'] = 'postgresql://u:p@localhost:1/db'
os.environ['TMPDIR'] = '/evidence'
assert not glob.glob('/dev/nvidia*')
mode = sys.argv[1]
with open('/evidence/'+mode+'-tests.log', 'w') as log, contextlib.redirect_stdout(log), contextlib.redirect_stderr(log):
    suite = unittest.TestSuite()
    for pattern in ('test_composition_architecture.py', 'test_redis_connection_logging.py'):
        suite.addTests(unittest.defaultTestLoader.discover('tests', pattern=pattern))
    result = unittest.TextTestRunner(stream=log, verbosity=2).run(suite)
summary = dict(tests=result.testsRun, failures=len(result.failures), errors=len(result.errors), gpu_nodes=0)
pathlib.Path('/evidence/'+mode+'-verify.json').write_text(json.dumps(summary))
print(json.dumps(summary))
sys.exit(not result.wasSuccessful())
