def test_tuple_equivalence_fail(self): dslx_members = [] ir_members = [] for i in range(5): dslx_members.append( dslx_value.Value.make_ubits(bit_count=4, value=i)) ir_members.append( ir_value.Value(ir_bits.UBits(value=i, bit_count=4))) dslx_tuple = dslx_value.Value.make_tuple(tuple(dslx_members)) ir_members_extra = ( ir_members + [ir_value.Value(ir_bits.UBits(value=5, bit_count=4))]) ir_tuple_different_size = ir_value.Value.make_tuple(ir_members_extra) with self.assertRaises(jit_comparison.JitMiscompareError): jit_comparison.compare_values(dslx_tuple, ir_tuple_different_size) ir_members_wrong = ( ir_members[:2] + [ir_value.Value(ir_bits.UBits(value=5, bit_count=4))] + ir_members[3:]) ir_tuple_different_member = ir_value.Value.make_tuple(ir_members_wrong) with self.assertRaises(jit_comparison.JitMiscompareError): jit_comparison.compare_values(dslx_tuple, ir_tuple_different_member)
def test_array_equivalence_fail(self): dslx_elements = [] ir_elements = [] for i in range(5): dslx_elements.append( dslx_value.Value.make_ubits(bit_count=4, value=i)) ir_elements.append( ir_value.Value(ir_bits.UBits(value=i, bit_count=4))) dslx_array = dslx_value.Value.make_array(tuple(dslx_elements)) ir_elements_extra = ( ir_elements + [ir_value.Value(ir_bits.UBits(value=5, bit_count=4))]) ir_array_different_size = ir_value.Value.make_array( tuple(ir_elements_extra)) with self.assertRaises(jit_comparison.JitMiscompareError): jit_comparison.compare_values(dslx_array, ir_array_different_size) ir_elements_wrong = ( ir_elements[:2] + [ir_value.Value(ir_bits.UBits(value=5, bit_count=4))] + ir_elements[3:]) ir_array_different_element = ir_value.Value.make_array( ir_elements_wrong) with self.assertRaises(jit_comparison.JitMiscompareError): jit_comparison.compare_values(dslx_array, ir_array_different_element)
def test_tuple_equivalence_ok(self): members = [] for i in range(5): members.append(dslx_value.Value.make_ubits(bit_count=4, value=i)) dslx_tuple = dslx_value.Value.make_tuple(tuple(members)) ir_tuple = jit_comparison.convert_interpreter_value_to_ir(dslx_tuple) jit_comparison.compare_values(dslx_tuple, ir_tuple)
def test_array_equivalence_ok(self): elements = [] for i in range(5): elements.append(dslx_value.Value.make_ubits(bit_count=4, value=i)) dslx_array = dslx_value.Value.make_array(tuple(elements)) ir_array = jit_comparison.convert_interpreter_value_to_ir(dslx_array) jit_comparison.compare_values(dslx_array, ir_array)
def test_bits_equivalence_fail(self): dslx_bits = dslx_value.Value.make_ubits(bit_count=4, value=4) ir_bits_wrong_bit_count = ir_value.Value( ir_bits.UBits(value=4, bit_count=5)) with self.assertRaises(jit_comparison.JitMiscompareError): jit_comparison.compare_values(dslx_bits, ir_bits_wrong_bit_count) ir_bits_wrong_value = ir_value.Value( ir_bits.UBits(value=3, bit_count=4)) with self.assertRaises(jit_comparison.JitMiscompareError): jit_comparison.compare_values(dslx_bits, ir_bits_wrong_value)
def test_bits_equivalence_ok(self): dslx_bits = dslx_value.Value.make_ubits(bit_count=4, value=4) ir_bits_val = jit_comparison.convert_interpreter_value_to_ir(dslx_bits) jit_comparison.compare_values(dslx_bits, ir_bits_val)