12 lines
949 B
Python
12 lines
949 B
Python
import json,sys,unittest
|
|
from pathlib import Path
|
|
sys.path.insert(0,str(Path(__file__).resolve().parents[0]))
|
|
from generate_browser_performance_matrix import OUTPUT,generate
|
|
ROOT=Path(__file__).resolve().parents[1]
|
|
class BrowserPerformanceMatrixTests(unittest.TestCase):
|
|
def test_contract(self):
|
|
r=json.loads((ROOT/OUTPUT).read_text());self.assertEqual(r["schema"],"browser-performance-matrix.v1");self.assertEqual(r["task_id"],"REG-04");self.assertEqual(r["implementation_status"],"verified");self.assertEqual(r["checks"]["safari_not_in_scope"]["status"],"verified");self.assertEqual(r["checks"]["firefox_not_in_scope"]["status"],"verified");self.assertEqual(r["environment"]["scope"],["chromium"])
|
|
def test_deterministic(self):
|
|
b=(ROOT/OUTPUT).read_bytes();r=generate(ROOT,ROOT/OUTPUT);self.assertEqual(b,(ROOT/OUTPUT).read_bytes());self.assertEqual(r["report_sha256"],json.loads(b)["report_sha256"])
|
|
if __name__=="__main__":unittest.main()
|