31 lines
1.5 KiB
Python
31 lines
1.5 KiB
Python
"""Exclusive CPU/source test receipt. No scientific execution or CUDA allowed."""
|
|
import argparse
|
|
import io
|
|
import os
|
|
from pathlib import Path
|
|
import sys
|
|
import time
|
|
import unittest
|
|
from normal_io import digest, save, require, MODEL
|
|
|
|
def run(output):
|
|
require(sys.dont_write_bytecode,'Use -B')
|
|
os.environ['CUDA_VISIBLE_DEVICES']=''
|
|
before={p.name:digest(p) for p in MODEL.iterdir() if p.is_file()}
|
|
suite=unittest.defaultTestLoader.discover(str(MODEL),pattern='test_*.py')
|
|
text=io.StringIO();start=time.perf_counter()
|
|
result=unittest.TextTestRunner(stream=text,verbosity=2).run(suite)
|
|
after={p.name:digest(p) for p in MODEL.iterdir() if p.is_file()}
|
|
no_neural_modules=not any(n in sys.modules for n in ('torch','runtime_light','conditioning_epoch'))
|
|
success=result.wasSuccessful() and not result.skipped and before==after and no_neural_modules
|
|
save(output,dict(schema='normal-CPU-tests-v1',pass_all=success,tests=result.testsRun,
|
|
failures=len(result.failures),errors=len(result.errors),skips=len(result.skipped),
|
|
source_sha256=before,sources_unchanged=before==after,wall_seconds=time.perf_counter()-start,
|
|
stdout=text.getvalue(),fresh_process=True,CUDA_hidden=True,no_neural_modules=no_neural_modules,
|
|
scope='CPU source and mock-process tests; not real GPU numerical or scientific evidence'))
|
|
return success
|
|
|
|
if __name__=='__main__':
|
|
p=argparse.ArgumentParser();p.add_argument('--output',required=True)
|
|
sys.exit(0 if run(p.parse_args().output) else 1)
|