]> granicus.if.org Git - python/commitdiff
Fixed struct test to not use unittest.
authorMartin Blais <blais@furius.ca>
Fri, 2 Jun 2006 13:03:43 +0000 (13:03 +0000)
committerMartin Blais <blais@furius.ca>
Fri, 2 Jun 2006 13:03:43 +0000 (13:03 +0000)
Lib/test/test_struct.py

index a6c0b4949f8231fd0a9374e293f9c6ab845137f2..af835f7a6fbec3c91fc1a48d3685ab7c1942a2c8 100644 (file)
@@ -2,7 +2,6 @@ from test.test_support import TestFailed, verbose, verify
 import test.test_support
 import struct
 import array
-import unittest
 import warnings
 
 import sys
@@ -494,80 +493,87 @@ def test_1229380():
 if PY_STRUCT_RANGE_CHECKING:
     test_1229380()
 
-class PackBufferTestCase(unittest.TestCase):
-    """
-    Test the packing methods that work on buffers.
-    """
-
-    def test_unpack_from( self ):
-        test_string = 'abcd01234'
-        fmt = '4s'
-        s = struct.Struct(fmt)
-        for cls in (str, buffer):
-            data = cls(test_string)
-            self.assertEquals(s.unpack_from(data), ('abcd',))
-            self.assertEquals(s.unpack_from(data, 2), ('cd01',))
-            self.assertEquals(s.unpack_from(data, 4), ('0123',))
-            for i in xrange(6):
-                self.assertEquals(s.unpack_from(data, i), (data[i:i+4],))
-            for i in xrange(6, len(test_string) + 1):
-                simple_err(s.unpack_from, data, i)
-        for cls in (str, buffer):
-            data = cls(test_string)
-            self.assertEquals(struct.unpack_from(fmt, data), ('abcd',))
-            self.assertEquals(struct.unpack_from(fmt, data, 2), ('cd01',))
-            self.assertEquals(struct.unpack_from(fmt, data, 4), ('0123',))
-            for i in xrange(6):
-                self.assertEquals(struct.unpack_from(fmt, data, i),
-                                  (data[i:i+4],))
-            for i in xrange(6, len(test_string) + 1):
-                simple_err(struct.unpack_from, fmt, data, i)
-
-    def test_pack_to( self ):
-        test_string = 'Reykjavik rocks, eow!'
-        writable_buf = array.array('c', ' '*100)
-        fmt = '21s'
-        s = struct.Struct(fmt)
-
-        # Test without offset
-        s.pack_to(writable_buf, 0, test_string)
-        from_buf = writable_buf.tostring()[:len(test_string)]
-        self.assertEquals(from_buf, test_string)
-
-        # Test with offset.
-        s.pack_to(writable_buf, 10, test_string)
-        from_buf = writable_buf.tostring()[:len(test_string)+10]
-        self.assertEquals(from_buf, (test_string[:10] + test_string))
-
-        # Go beyond boundaries.
-        small_buf = array.array('c', ' '*10)
-        self.assertRaises(struct.error, s.pack_to, small_buf, 0, test_string)
-        self.assertRaises(struct.error, s.pack_to, small_buf, 2, test_string)
-
-    def test_pack_to_fn( self ):
-        test_string = 'Reykjavik rocks, eow!'
-        writable_buf = array.array('c', ' '*100)
-        fmt = '21s'
-        pack_to = lambda *args: struct.pack_to(fmt, *args)
-
-        # Test without offset
-        pack_to(writable_buf, 0, test_string)
-        from_buf = writable_buf.tostring()[:len(test_string)]
-        self.assertEquals(from_buf, test_string)
-
-        # Test with offset.
-        pack_to(writable_buf, 10, test_string)
-        from_buf = writable_buf.tostring()[:len(test_string)+10]
-        self.assertEquals(from_buf, (test_string[:10] + test_string))
-
-        # Go beyond boundaries.
-        small_buf = array.array('c', ' '*10)
-        self.assertRaises(struct.error, pack_to, small_buf, 0, test_string)
-        self.assertRaises(struct.error, pack_to, small_buf, 2, test_string)
-
-
-def test_main():
-    test.test_support.run_unittest(PackBufferTestCase)
-
-if __name__ == "__main__":
-    test_main()
+
+###########################################################################
+# Packing and unpacking to/from buffers.
+
+# Copied and modified from unittest.
+def assertRaises(excClass, callableObj, *args, **kwargs):
+    try:
+        callableObj(*args, **kwargs)
+    except excClass:
+        return
+    else:
+        raise RuntimeError("%s not raised." % excClass)
+
+def test_unpack_from():
+    test_string = 'abcd01234'
+    fmt = '4s'
+    s = struct.Struct(fmt)
+    for cls in (str, buffer):
+        data = cls(test_string)
+        assert s.unpack_from(data) == ('abcd',)
+        assert s.unpack_from(data, 2) == ('cd01',)
+        assert s.unpack_from(data, 4) == ('0123',)
+        for i in xrange(6):
+            assert s.unpack_from(data, i) == (data[i:i+4],)
+        for i in xrange(6, len(test_string) + 1):
+            simple_err(s.unpack_from, data, i)
+    for cls in (str, buffer):
+        data = cls(test_string)
+        assert struct.unpack_from(fmt, data) == ('abcd',)
+        assert struct.unpack_from(fmt, data, 2) == ('cd01',)
+        assert struct.unpack_from(fmt, data, 4) == ('0123',)
+        for i in xrange(6):
+            assert (struct.unpack_from(fmt, data, i) == (data[i:i+4],))
+        for i in xrange(6, len(test_string) + 1):
+            simple_err(struct.unpack_from, fmt, data, i)
+
+def test_pack_to():
+    test_string = 'Reykjavik rocks, eow!'
+    writable_buf = array.array('c', ' '*100)
+    fmt = '21s'
+    s = struct.Struct(fmt)
+
+    # Test without offset
+    s.pack_to(writable_buf, 0, test_string)
+    from_buf = writable_buf.tostring()[:len(test_string)]
+    assert from_buf == test_string
+
+    # Test with offset.
+    s.pack_to(writable_buf, 10, test_string)
+    from_buf = writable_buf.tostring()[:len(test_string)+10]
+    assert from_buf == (test_string[:10] + test_string)
+
+    # Go beyond boundaries.
+    small_buf = array.array('c', ' '*10)
+    assertRaises(struct.error, s.pack_to, small_buf, 0, test_string)
+    assertRaises(struct.error, s.pack_to, small_buf, 2, test_string)
+
+def test_pack_to_fn():
+    test_string = 'Reykjavik rocks, eow!'
+    writable_buf = array.array('c', ' '*100)
+    fmt = '21s'
+    pack_to = lambda *args: struct.pack_to(fmt, *args)
+
+    # Test without offset
+    pack_to(writable_buf, 0, test_string)
+    from_buf = writable_buf.tostring()[:len(test_string)]
+    assert from_buf == test_string
+
+    # Test with offset.
+    pack_to(writable_buf, 10, test_string)
+    from_buf = writable_buf.tostring()[:len(test_string)+10]
+    assert from_buf == (test_string[:10] + test_string)
+
+    # Go beyond boundaries.
+    small_buf = array.array('c', ' '*10)
+    assertRaises(struct.error, pack_to, small_buf, 0, test_string)
+    assertRaises(struct.error, pack_to, small_buf, 2, test_string)
+
+    
+# Test methods to pack and unpack from buffers rather than strings.
+test_unpack_from()
+test_pack_to()
+test_pack_to_fn()
+