Beispiel #1
0
 def test_new_def_type(self):
     datatype_1 = uter.union((uter.int, "a"), (uter.int, "b"))
     datatype_2 = uter.union((uter.char, "a"), (uter.char, "b"))
     dataobj_1 = datatype_1()
     dataobj_2 = datatype_2()
     self.assertEqual(True, not datatype_1._MatchObj(4), "")
     self.assertEqual(True, not datatype_2._MatchObj(4), "")
     self.assertEqual(True, datatype_1._MatchObj(dataobj_1), "")
     self.assertEqual(True, not datatype_1._MatchObj(dataobj_2), "")
     self.assertEqual(True, not datatype_2._MatchObj(dataobj_1), "")
     self.assertEqual(True, datatype_2._MatchObj(dataobj_2), "")
Beispiel #2
0
 def test_def(self):
     datatype = uter.union((uter.int, "a"), (uter.char, "b"))
     data = datatype()
     data.a._SetValue(10)
     data.b._SetValue(11)
     self.assertEqual(True, 11 == data.a._GetValue(), "")
     self.assertEqual(True, 11 == data.b._GetValue(), "")
Beispiel #3
0
 def test_def_type_new_wrong(self):
     datatype = uter.union((uter.uint, "a"), (uter.uchar, "b"))
     except_happen = False
     try:
         data = datatype("aaaaaa", (1, ))
     except uter.error.ArgError, e:
         except_happen = True
         print e
Beispiel #4
0
 def test_wrong(self):
     except_happen = False
     try:
         datatype = uter.union(1)
         print datatype
     except uter.error.ArgError, e:
         except_happen = True
         print e
Beispiel #5
0
	def test_type_union(self):
		type = uter.union(("m_1", uter.int), ("m_2", uter.char))
		sym = uter.export.symbol("g_noname_un_in_release_so", section = ".data")
		var = uter.export.dataobject(type, sym.address())
		self.assertEqual(True, var.m_1._GetValue() == 0x12345678, "")
		if uter.target.endian.isbig():
			self.assertEqual(True, var.m_2._GetValue() == 0x12, "")
		else:
			self.assertEqual(True, var.m_2._GetValue() == 0x78, "")
Beispiel #6
0
 def test_def_type_new_mem_num(self):
     datatype = uter.union((uter.uint, "a"), (uter.uchar, "b"))
     data_a = datatype("a", (4, ))
     data_b = datatype("b", (4, ))
     print data_a
     print data_b
     self.assertEqual(True, data_a.a._GetValue() == 4, "")
     self.assertEqual(True, data_a.b._GetValue() == 4, "")
     self.assertEqual(True, data_b.a._GetValue() == 4, "")
     self.assertEqual(True, data_b.b._GetValue() == 4, "")
Beispiel #7
0
    def test_all(self):
        self.assertEqual(True, type(uter.char) is uter._UterMetaClass, "")
        self.assertEqual(True, type(uter.uchar) is uter._UterMetaClass, "")
        self.assertEqual(True, type(uter.short) is uter._UterMetaClass, "")
        self.assertEqual(True, type(uter.ushort) is uter._UterMetaClass, "")
        self.assertEqual(True, type(uter.int) is uter._UterMetaClass, "")
        self.assertEqual(True, type(uter.uint) is uter._UterMetaClass, "")
        self.assertEqual(True, type(uter.long) is uter._UterMetaClass, "")
        self.assertEqual(True, type(uter.ulong) is uter._UterMetaClass, "")
        self.assertEqual(True, type(uter.longlong) is uter._UterMetaClass, "")
        self.assertEqual(True, type(uter.ulonglong) is uter._UterMetaClass, "")
        self.assertEqual(True, type(uter.float) is uter._UterMetaClass, "")
        self.assertEqual(True, type(uter.double) is uter._UterMetaClass, "")

        self.assertEqual(True, isinstance(uter.char, uter._UterMetaClass), "")
        self.assertEqual(True, isinstance(uter.uchar, uter._UterMetaClass), "")
        self.assertEqual(True, isinstance(uter.short, uter._UterMetaClass), "")
        self.assertEqual(True, isinstance(uter.ushort, uter._UterMetaClass),
                         "")
        self.assertEqual(True, isinstance(uter.int, uter._UterMetaClass), "")
        self.assertEqual(True, isinstance(uter.uint, uter._UterMetaClass), "")
        self.assertEqual(True, isinstance(uter.long, uter._UterMetaClass), "")
        self.assertEqual(True, isinstance(uter.ulong, uter._UterMetaClass), "")
        self.assertEqual(True, isinstance(uter.longlong, uter._UterMetaClass),
                         "")
        self.assertEqual(True, isinstance(uter.ulonglong, uter._UterMetaClass),
                         "")
        self.assertEqual(True, isinstance(uter.float, uter._UterMetaClass), "")
        self.assertEqual(True, isinstance(uter.double, uter._UterMetaClass),
                         "")

        datatype = uter.struct((uter.char, "a"), (uter.char, "b"))
        self.assertEqual(True, type(datatype) is uter._UterMetaClass, "")
        self.assertEqual(True, isinstance(datatype, uter._UterMetaClass), "")

        datatype = uter.union((uter.char, "a"), (uter.char, "b"))
        self.assertEqual(True, type(datatype) is uter._UterMetaClass, "")
        self.assertEqual(True, isinstance(datatype, uter._UterMetaClass), "")

        datatype = uter.enum(("a", 1), ("b", 3))
        self.assertEqual(True, type(datatype) is uter._UterMetaClass, "")
        self.assertEqual(True, isinstance(datatype, uter._UterMetaClass), "")

        datatype = uter.point(uter.int)
        self.assertEqual(True, type(datatype) is uter._UterMetaClass, "")
        self.assertEqual(True, isinstance(datatype, uter._UterMetaClass), "")

        datatype = uter.array(uter.int, 8)
        self.assertEqual(True, type(datatype) is uter._UterMetaClass, "")
        self.assertEqual(True, isinstance(datatype, uter._UterMetaClass), "")

        datatype = uter.typedef(uter.int, "xxx")
        self.assertEqual(True, type(datatype) is uter._UterMetaClass, "")
        self.assertEqual(True, isinstance(datatype, uter._UterMetaClass), "")
Beispiel #8
0
 def test_def_type(self):
     datatypein1 = uter.struct((uter.int, "a"), (uter.int, "b"))
     datatypein2 = uter.int
     datatypein3 = uter.struct((uter.char, "a"), (uter.char, "b"),
                               (uter.char, "c"), (uter.char, "d"))
     datatype = uter.union((datatypein1, "m_1"), (datatypein2, "m_2"),
                           (datatypein3, "m_3"), (uter.int, "m_4"))
     print datatype
     self.assertEqual(True, datatype._GetSize() == 8, "")
     self.assertEqual(True, datatype._GetAlign() == 4, "")
     self.assertEqual(True, datatype._DefDesc() == "union (no name) ", "")
Beispiel #9
0
    def test_match(self):
        datatype_1 = uter.union((uter.int, "a"), (uter.char, "b"))
        self.assertEqual(True, datatype_1 != 1, "")
        datatype_2 = uter.union((uter.int, "a"), (uter.int, "b"))
        self.assertEqual(True, datatype_2 != 1, "")
        datatype_3 = uter.union((uter.int, "a"), (uter.char, "b"))
        self.assertEqual(True, datatype_3 != 1, "")
        datatype_4 = uter.union([uter.int, "a"], [uter.char, "b"])
        self.assertEqual(True, datatype_4 != 1, "")
        datatype_5 = uter.union([uter.int, "a"], [uter.int, "b"])
        self.assertEqual(True, datatype_5 != 1, "")
        datatype_6 = uter.union([uter.int, "a"], [uter.char, "b"])
        self.assertEqual(True, datatype_6 != 1, "")

        self.assertEqual(
            True, datatype_1 == datatype_1 and datatype_2 == datatype_2
            and datatype_3 == datatype_3, "")
        self.assertEqual(True, datatype_1 != datatype_2
                         and datatype_1 == datatype_3, "")
        self.assertEqual(True, datatype_2 != datatype_1
                         and datatype_3 == datatype_1, "")
        self.assertEqual(True, datatype_2 != datatype_3, "")
        self.assertEqual(True, datatype_3 != datatype_2, "")
        self.assertEqual(True, datatype_1 == datatype_4, "")
        self.assertEqual(True, datatype_2 == datatype_5, "")
        self.assertEqual(True, datatype_3 == datatype_6, "")
Beispiel #10
0
 def test_def_type(self):
     datatypein1 = uter.struct((uter.int, "a"), (uter.int, "b"))
     datatypein2 = uter.int
     datatypein3 = uter.struct((uter.char, "a"), (uter.char, "b"),
                               (uter.char, "c"), (uter.char, "d"))
     datatype = uter.union((datatypein1, "m_1"), (datatypein2, "m_2"),
                           (datatypein3, "m_3"), (uter.int, "m_4"))
     datatypem1 = datatype.m_1
     print datatypem1
     datatypem2 = datatype.m_2
     print datatypem2
     self.assertEqual(True, datatypem1._MatchType(datatypein1), "")
     self.assertEqual(True, datatypem2._MatchType(datatypein2), "")
Beispiel #11
0
class test_case_def(unittest.TestCase):
    def test_wrong(self):
        except_happen = False
        try:
            datatype = uter.union(1)
            print datatype
        except uter.error.ArgError, e:
            except_happen = True
            print e
        self.assertEqual(True, except_happen, "")

        except_happen = False
        try:
            datatype = uter.union("x")
            print datatype
        except uter.error.ArgError, e:
            except_happen = True
            print e
Beispiel #12
0
            except_happen = True
            print e
        self.assertEqual(True, except_happen, "")

        except_happen = False
        try:
            datatype = uter.union("x")
            print datatype
        except uter.error.ArgError, e:
            except_happen = True
            print e
        self.assertEqual(True, except_happen, "")

        except_happen = False
        try:
            datatype = uter.union((1, ))
            print datatype
        except uter.error.ArgError, e:
            except_happen = True
            print e
        self.assertEqual(True, except_happen, "")

        except_happen = False
        try:
            datatype = uter.union((uter.int, ))
            print datatype
        except uter.error.ArgError, e:
            except_happen = True
            print e
        self.assertEqual(True, except_happen, "")
Beispiel #13
0
 def test_create(self):
     datatype_1 = uter.union((uter.int, "a"), (uter.char, "b"))
     datatype_2 = uter.union([uter.int, "a"], [uter.char, "b"])
     print datatype_1
     print datatype_2
     self.assertEqual(True, True, "")
Beispiel #14
0
 def test_size(self):
     datatype = uter.union((uter.int, "a"), (uter.char, "b"))
     self.assertEqual(4, datatype._GetSize(), "")
Beispiel #15
0
 def test_def_type_new_maxval(self):
     datatype = uter.union((uter.uint, "a"), (uter.uchar, "b"))
     data = datatype("a", (2**32 - 1, ))
     print data
     self.assertEqual(True, data.a._GetValue() == 2**32 - 1, "")
     self.assertEqual(True, data.b._GetValue() == 255, "")
Beispiel #16
0
 def test_align(self):
     datatype = uter.union((uter.int, "a"), (uter.char, "b"))
     self.assertEqual(4, datatype._GetAlign(), "")
Beispiel #17
0
 def test_def_type_new_mem_noval(self):
     datatype = uter.union((uter.uint, "a"), (uter.uchar, "b"))
     data = datatype("a")
     print data
     self.assertEqual(True, data.a._GetValue() == 0, "")
     self.assertEqual(True, data.b._GetValue() == 0, "")
Beispiel #18
0
 def test_asdef(self):
     datatype = uter.union((uter.int, "a"), (uter.char, "b"))
     self.assertEqual("union (no name) ", datatype._DefDesc(), "")