'error_on_uninitialized') ]
self._saved_default_directives = Options.directive_defaults.items()
Options.warning_errors = self.warning_errors
+ if sys.version_info >= (3, 4):
+ Options.directive_defaults['autotestdict'] = False
if not os.path.exists(self.workdir):
os.makedirs(self.workdir)
-# Directive defaults to True
-
+# cython: autotestdict=True
+# Directive defaults to True, but not when testing in Py3.4
"""
Tests autotestdict compiler directive.
MyClass.method (line 63) ; >>> add_log("class method")
mycpdeffunc (line 50) ; >>> add_log("cpdef")
myfunc (line 40) ; >>> add_log("def")
-
"""
+import sys
log = []
cdef cdeffunc():
cdeffunc() # make sure it's being used
def all_tests_run():
- log.sort()
- assert log == [u'cdef class', u'cdef class method', u'class', u'class method', u'cpdef', u'cpdef class method', u'def'], log
+ assert sorted(log) == sorted([u'cdef class', u'class'] + (
+ (1 if sys.version_info < (3, 4) else 2) * [u'cdef class method', u'class method', u'cpdef', u'cpdef class method', u'def'])), sorted(log)
def add_log(s):
log.append(unicode(s))
- if len(log) == len(__test__) + 2:
+ if len(log) == len(__test__) + (2 if sys.version_info < (3, 4) else 7):
# Final per-function doctest executed
all_tests_run()
""">>> add_log("cpdef class method")"""
cdef cdef_method(self):
- """>>> add_log("cdef class method")"""
+ """>>> add_log("cdef class cmethod")"""
def __cinit__(self):
"""
"""
Should not be included, as it can't be looked up with getattr in Py 3.1
- >>> True
+ >>> sys.version_info < (3, 4)
False
"""
"""
Should not be included, as it can't be looked up with getattr in Py 3.1
- >>> True
+ >>> sys.version_info < (3, 4)
False
"""
-# cython: autotestdict.all=True
+# cython: autotestdict=True, autotestdict.all=True
"""
Tests autotestdict compiler directive.
>>> items.sort()
>>> for key, value in items:
... print('%s ; %s' % (key, value))
-MyCdefClass.cdef_method (line 79) ; >>> add_log("cdef class method")
+MyCdefClass.cdef_method (line 79) ; >>> add_log("cdef class cmethod")
MyCdefClass.cpdef_method (line 76) ; >>> add_log("cpdef class method")
MyCdefClass.method (line 73) ; >>> add_log("cdef class method")
MyClass.method (line 62) ; >>> add_log("class method")
doc_without_test (line 43) ; Some docs
mycpdeffunc (line 49) ; >>> add_log("cpdef")
myfunc (line 40) ; >>> add_log("def")
-
"""
+import sys
log = []
cdef cdeffunc():
cdeffunc() # make sure it's being used
def all_tests_run():
- log.sort()
- assert log == [u'cdef', u'cdef class', u'cdef class method', u'class', u'class method', u'cpdef', u'cpdef class method', u'def'], log
+ assert sorted(log) == sorted([u'cdef', u'cdef class', u'class', u'cdef class cmethod'] + (
+ (1 if sys.version_info < (3, 4) else 2) * [u'cdef class method', u'class method', u'cpdef', u'cpdef class method', u'def'])), sorted(log)
def add_log(s):
log.append(unicode(s))
- if len(log) == len(__test__):
+ if len(log) == len(__test__) + (1 if sys.version_info < (3, 4) else 6):
# Final per-function doctest executed
all_tests_run()
""">>> add_log("cpdef class method")"""
cdef cdef_method(self):
- """>>> add_log("cdef class method")"""
+ """>>> add_log("cdef class cmethod")"""
def __cinit__(self):
"""
"""
Should not be included, as it can't be looked up with getattr in Py 3.1
- >>> True
+ >>> sys.version_info < (3, 4)
False
"""
"""
Should not be included, as it can't be looked up with getattr in Py 3.1
- >>> True
+ >>> sys.version_info < (3, 4)
False
"""
-# cython: autotestdict.cdef=True
+# cython: autotestdict=True, autotestdict.cdef=True
"""
Tests autotestdict compiler directive.
>>> items.sort()
>>> for key, value in items:
... print('%s ; %s' % (key, value))
-MyCdefClass.cdef_method (line 78) ; >>> add_log("cdef class method")
+MyCdefClass.cdef_method (line 78) ; >>> add_log("cdef class cmethod")
MyCdefClass.cpdef_method (line 75) ; >>> add_log("cpdef class method")
MyCdefClass.method (line 72) ; >>> add_log("cdef class method")
MyClass.method (line 61) ; >>> add_log("class method")
cdeffunc (line 25) ; >>> add_log("cdef")
mycpdeffunc (line 48) ; >>> add_log("cpdef")
myfunc (line 39) ; >>> add_log("def")
-
"""
+import sys
log = []
cdef cdeffunc():
cdeffunc() # make sure it's being used
def all_tests_run():
- log.sort()
- assert log == [u'cdef', u'cdef class', u'cdef class method', u'class', u'class method', u'cpdef', u'cpdef class method', u'def'], log
+ assert sorted(log) == sorted([u'cdef', u'cdef class', u'cdef class cmethod', u'class'] + (
+ ((1 if sys.version_info < (3, 4) else 2) * [u'cdef class method', u'class method', u'cpdef', u'cpdef class method', u'def']))), sorted(log)
def add_log(s):
log.append(unicode(s))
- if len(log) == len(__test__) + 1:
+ if len(log) == len(__test__) + (2 if sys.version_info < (3, 4) else 7):
# Final per-function doctest executed
all_tests_run()
""">>> add_log("cpdef class method")"""
cdef cdef_method(self):
- """>>> add_log("cdef class method")"""
+ """>>> add_log("cdef class cmethod")"""
def __cinit__(self):
"""
"""
Should not be included, as it can't be looked up with getattr in Py 3.1
- >>> True
+ >>> sys.version_info < (3, 4)
False
"""
"""
Should not be included, as it can't be looked up with getattr in Py 3.1
- >>> True
+ >>> sys.version_info < (3, 4)
False
"""
True
"""
+import sys
def func():
"""
- >>> True
+ >>> sys.version_info < (3, 4)
False
"""