test fixes for Py2.4
authorStefan Behnel <scoder@users.berlios.de>
Tue, 27 Oct 2009 20:57:28 +0000 (21:57 +0100)
committerStefan Behnel <scoder@users.berlios.de>
Tue, 27 Oct 2009 20:57:28 +0000 (21:57 +0100)
tests/run/cdivision_CEP_516.pyx
tests/run/funcexceptreturn.pyx
tests/run/index.pyx
tests/run/profile_test.pyx
tests/run/str_encoding_latin1.pyx
tests/run/tuple.pyx
tests/run/withstat.pyx

index adc3cd9db3e985b4aad6ccdd4b3868aa47ce8f02..1a94ef295ae1e41aeb97338679cf04fc6fb9e532 100644 (file)
@@ -76,6 +76,18 @@ Traceback (most recent call last):
 OverflowError: value too large to perform division
 """
 
+def _all(seq):
+    for x in seq:
+        if not x:
+            return False
+    return True
+
+try:
+    all
+except NameError:
+    all = _all
+
+
 cimport cython
 
 @cython.cdivision(False)
index 358ee3d79b460db29a5477b25f961f17b6b13e19..761948d415cca729790735933f43706768750cae 100644 (file)
@@ -5,7 +5,7 @@ __doc__ = u"""
 >>> print(sys.exc_info()[0]) # 0
 None
 >>> exc = test_c()
->>> type(exc) is TestException
+>>> isinstance(exc, TestException) or exc
 True
 >>> print(sys.exc_info()[0]) # test_c()
 None
index 305505ca40f06a68f77ea7e82eec605f3fba59cb..e3cf963cd13ce5af3563fbb19a406313271c7e8e 100644 (file)
@@ -51,7 +51,8 @@ TypeError: 'int' object is unsubscriptable
 import sys
 if sys.version_info[0] >= 3:
     __doc__ = __doc__.replace(u'is unsubscriptable', u'is not subscriptable')
-
+elif sys.version_info < (2,5):
+    __doc__ = __doc__.replace(u"'int' object is unsubscriptable", u'unsubscriptable object')
 
 def index_tuple(tuple t, int i):
     return t[i]
index f231b3e7631c4b936863f5000fd9a6c9a0e6d25d..f2537cfe267a4eec2381531df3a422656fb91f01 100644 (file)
@@ -23,6 +23,13 @@ __doc__ = u"""
     >>> os.unlink(statsfile)
 """
 
+import sys
+if sys.version_info < (2,5):
+    # disable in earlier versions
+    __doc__ = """
+>>> # nothing to test here ...
+"""
+
 cimport cython
 
 def test_profile(long N):
index 93f99c07b51eee9d0cc82058f4d1737e6c6e7a7c..0ac785d1b2f024ecf49447aa9d72ee756ff9ffa6 100644 (file)
@@ -36,8 +36,7 @@ True
 
 """
 # recoding/escaping is required to properly pass the literals to doctest
-).encode('unicode_escape').decode('ASCII')
-
+).encode('unicode_escape').decode('ASCII').replace(u'\\n', u'\n')
 
 a = 'abc'
 s = 'aäÄÖöo'
index 869107a2418000e89dd21b537e0db4344a1412d9..b7c5e05106f0bbdd04888d33e5a6b05fb42b2cbc 100644 (file)
@@ -19,6 +19,12 @@ __doc__ = u"""
     TypeError: 'NoneType' object is not iterable
 """
 
+import sys
+if sys.version_info < (2,5):
+    __doc__ = __doc__.replace(
+        u"'NoneType' object is not iterable\n    >>> tuple_none_list()",
+        u'iteration over non-sequence\n    >>> tuple_none_list()')
+
 def f(obj1, obj2, obj3, obj4, obj5):
     obj1 = ()
     return obj1
index 6f43ea8b7b29ff2fc3fffcf0d05ec0788789f64f..e31e7db8e74c8a76763d65e4bb3903de0ca9718b 100644 (file)
@@ -38,6 +38,11 @@ enter
 exit <type 'NoneType'> <type 'NoneType'> <type 'NoneType'>
 """
 
+import sys
+if sys.version_info < (2,5):
+    __doc__ = __doc__.replace(u"exit <type 'type'> <type 'MyException'>",
+                              u"exit <type 'classobj'> <type 'instance'>")
+
 def typename(t):
     return u"<type '%s'>" % type(t).__name__