Update of /cvsroot/ctypes/ctypes/ctypes/test
In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv14650
Modified Files:
test_varsize_struct.py
Log Message:
Allow zero-sized arrays again, although accessing elements will raise
IndexError.
Index: test_varsize_struct.py
===================================================================
RCS file: /cvsroot/ctypes/ctypes/ctypes/test/test_varsize_struct.py,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** test_varsize_struct.py 12 May 2006 20:26:10 -0000 1.1
--- test_varsize_struct.py 19 May 2006 15:50:56 -0000 1.2
***************
*** 34,40 ****
def test_array_invalid_length(self):
# cannot create arrays with non-positive size
! self.failUnlessRaises(ValueError, lambda: c_int * 0)
self.failUnlessRaises(ValueError, lambda: c_int * -3)
def test_varsized_array(self):
array = (c_int * 20)(20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
--- 34,50 ----
def test_array_invalid_length(self):
# cannot create arrays with non-positive size
! self.failUnlessRaises(ValueError, lambda: c_int * -1)
self.failUnlessRaises(ValueError, lambda: c_int * -3)
+ def test_zerosized_array(self):
+ array = (c_int * 0)()
+ # accessing elements of zero-sized arrays raise IndexError
+ self.failUnlessRaises(IndexError, array.__setitem__, 0, None)
+ self.failUnlessRaises(IndexError, array.__getitem__, 0)
+ self.failUnlessRaises(IndexError, array.__setitem__, 1, None)
+ self.failUnlessRaises(IndexError, array.__getitem__, 1)
+ self.failUnlessRaises(IndexError, array.__setitem__, -1, None)
+ self.failUnlessRaises(IndexError, array.__getitem__, -1)
+
def test_varsized_array(self):
array = (c_int * 20)(20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
|