Exemple #1
0
    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)
Exemple #2
0
    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)
Exemple #3
0
    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)
Exemple #4
0
    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)
Exemple #5
0
    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)
Exemple #6
0
    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)