swayfx-mosaic/tooling/probes/step20c-saved-input-gpu-batch/test_gpu_replay.py

20 lines
1.1 KiB
Python

import unittest
from pathlib import Path
from PIL import Image
from gpu_replay import replay,homologous,diff
from native_replay import validate_claims
LAB=Path('/home/fy59/swayfx-mosaic-targeted-7gge6h8b/runs')
class GPUReplayTests(unittest.TestCase):
def test_real_whole_differences(self):
for name,pixels in [('pristine',37252),('A',34323),('G',34323)]:
r=replay(LAB/f'FX-{name}/run');d=r['whole_H1_A_return']
self.assertEqual(d['pixels'],pixels);self.assertEqual(max(v['max_abs'] for v in d['perchannel']),6)
self.assertEqual(r['CACHE_A_RETURN_CAUSALITY'],'INCONCLUSIVE')
self.assertTrue(r['source_SHM']['ABA_byte_exact'])
def test_sixteen_homologous(self):
self.assertEqual(len(homologous(LAB/'FX-A/run',LAB/'FX-G/run')),16)
def test_masked_whole_and_source_buffer_output_falseproof(self):
im=Image.new('RGB',(2,2))
with self.assertRaises(ValueError):diff(im,im,mask=[])
with self.assertRaises(ValueError):validate_claims({'source_buffer_is_output':True})
if __name__=='__main__':unittest.main()