diff Lib/test/test_array.py @ 78467:4ee4cceda047

Issue #13072: Fix test_array for installation without the ctypes module
author Victor Stinner <victor.stinner@gmail.com>
date Thu, 09 Aug 2012 00:43:56 +0200
parents 67a994d5657d
children 7d82a60850fd
line wrap: on
line diff
--- a/Lib/test/test_array.py	Wed Aug 08 14:52:22 2012 -0700
+++ b/Lib/test/test_array.py	Thu Aug 09 00:43:56 2012 +0200
@@ -3,7 +3,6 @@
    Roger E. Masse
 """
 
-import ctypes
 import unittest
 from test import support
 import weakref
@@ -1033,6 +1032,16 @@
     minitemsize = 2
 
     def test_unicode(self):
+        try:
+            import ctypes
+            sizeof_wchar = ctypes.sizeof(ctypes.c_wchar)
+        except ImportError:
+            import sys
+            if sys.platform == 'win32':
+                sizeof_wchar = 2
+            else:
+                sizeof_wchar = 4
+
         self.assertRaises(TypeError, array.array, 'b', 'foo')
 
         a = array.array('u', '\xa0\xc2\u1234')
@@ -1042,7 +1051,7 @@
         a.fromunicode('\x11abc\xff\u1234')
         s = a.tounicode()
         self.assertEqual(s, '\xa0\xc2\u1234 \x11abc\xff\u1234')
-        self.assertEqual(a.itemsize, ctypes.sizeof(ctypes.c_wchar))
+        self.assertEqual(a.itemsize, sizeof_wchar)
 
         s = '\x00="\'a\\b\x80\xff\u0000\u0001\u1234'
         a = array.array('u', s)