import binascii import pytest from ..helpers import Suite @pytest.mark.slow_integration_test def test_crc32(): # FIXME: Stub # crc = 0xFFFFFFFF # byt = 0x61 # => (crc >> 8) ^ _CRC32_Table[(crc & 0xFF) ^ byt] # (crc >> 8) = 0x00FFFFFF # => 0x00FFFFFF ^ _CRC32_Table[(crc & 0xFF) ^ byt] # (crc & 0xFF) = 0xFF # => 0x00FFFFFF ^ _CRC32_Table[0xFF ^ byt] # 0xFF ^ 0x61 = 0x9E # => 0x00FFFFFF ^ _CRC32_Table[0x9E] # _CRC32_Table[0x9E] = 0x17b7be43 # => 0x00FFFFFF ^ 0x17b7be43 code_py = """ def _crc32_f(crc: u32, byt: u8) -> u32: return 16777215 ^ 397917763 def testEntry(data: bytes) -> u32: return 4294967295 ^ _crc32_f(4294967295, data[0]) """ exp_result = binascii.crc32(b'a') result = Suite(code_py).run_code(b'a') assert exp_result == result.returned_value