Seal Phase4AF exact short fullgraph author GPU gate and APL integration audit
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
"""Pure audit-format tests; no neural trajectory or GPU required."""
|
||||
import hashlib
|
||||
import struct
|
||||
import unittest
|
||||
import numpy as np
|
||||
from oracle_full import queue_summary,QUEUE_HEADER
|
||||
from compare_trial import bit_equal
|
||||
|
||||
class ProtocolTests(unittest.TestCase):
|
||||
def test_queue_chunk_independence_and_readonly(self):
|
||||
edges=np.array([0,4,2,2,19000000],dtype=np.int64);mask=np.array([1,0,1,1,0],dtype=np.uint8)
|
||||
edges.flags.writeable=False;mask.flags.writeable=False
|
||||
expected=hashlib.sha256(QUEUE_HEADER+struct.pack('<qq',18,len(edges))+edges.astype('<i8').tobytes()+mask.tobytes()).hexdigest()
|
||||
a=queue_summary(18,edges,mask,chunk_bytes=16)
|
||||
b=queue_summary(18,edges,lambda x,y:mask[x:y],chunk_bytes=24)
|
||||
self.assertEqual(a,b);self.assertEqual(a['joint_sha256'],expected)
|
||||
self.assertEqual(a['accepted_count'],3);self.assertEqual(a['count'],5)
|
||||
self.assertNotEqual(a['joint_sha256'],queue_summary(19,edges,mask)['joint_sha256'])
|
||||
|
||||
def test_empty_coverage(self):
|
||||
e=np.empty(0,np.int64);m=np.empty(0,np.uint8)
|
||||
a,b=queue_summary(0,e,m),queue_summary(1,e,m)
|
||||
self.assertEqual(a['count'],0);self.assertEqual(a['ordered_edge_sha256'],hashlib.sha256(b'').hexdigest())
|
||||
self.assertNotEqual(a['joint_sha256'],b['joint_sha256'])
|
||||
|
||||
def test_order_and_guard_not_ignored(self):
|
||||
e=np.array([5,1,9],np.int64);m=np.array([1,1,0],np.uint8)
|
||||
original=queue_summary(20,e,m)
|
||||
self.assertNotEqual(original['joint_sha256'],queue_summary(20,e[::-1],m)['joint_sha256'])
|
||||
self.assertNotEqual(original['joint_sha256'],queue_summary(20,e,1-m)['joint_sha256'])
|
||||
|
||||
def test_signed_zero_is_not_equal(self):
|
||||
self.assertFalse(bit_equal(np.array([0.],np.float64),np.array([-0.],np.float64)))
|
||||
self.assertFalse(bit_equal(np.array([1.],np.float64),np.array([1.],np.float32)))
|
||||
self.assertTrue(bit_equal(np.array([1.,-0.],np.float64),np.array([1.,-0.],np.float64)))
|
||||
|
||||
if __name__=='__main__':unittest.main()
|
||||
Reference in New Issue
Block a user