Files
linuxcncWebWASM/scripts/test_ini_parser.py

14 lines
876 B
Python

#!/usr/bin/env python3
import hashlib,json,unittest
from pathlib import Path
import sys
sys.path.insert(0,str(Path(__file__).resolve().parent))
from generate_ini_parser_report import OUTPUT,generate
ROOT=Path(__file__).resolve().parents[1]
class IniParserReportTests(unittest.TestCase):
def test_report(self):
r=json.loads((ROOT/OUTPUT).read_text());u={k:v for k,v in r.items() if k!='report_sha256'};h=hashlib.sha256(json.dumps(u,ensure_ascii=False,sort_keys=True,separators=(',',':')).encode()).hexdigest();self.assertEqual(r['task_id'],'P2-02');self.assertEqual(r['implementation_status'],'verified');self.assertEqual(r['report_sha256'],h)
def test_deterministic(self):
b=(ROOT/OUTPUT).read_bytes();r=generate();self.assertEqual(b,(ROOT/OUTPUT).read_bytes());self.assertEqual(r['report_sha256'],json.loads(b)['report_sha256'])
if __name__=='__main__':unittest.main()