[ctypes-commit] ctypes/ctypes/test test_varsize_struct.py,1.1,1.2
Brought to you by:
theller
From: Thomas H. <th...@us...> - 2006-05-19 15:51:00
|
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) |