mirror of https://github.com/python/cpython
DocTestFinder._find(): for tests derived from a module __test__ global,
doctest always promised to stick "__test__" in the name. That got broken. Now it's fixed again.
This commit is contained in:
parent
82076ef194
commit
c56847878e
|
@ -1019,7 +1019,7 @@ class DocTestFinder:
|
||||||
"must be strings, functions, methods, "
|
"must be strings, functions, methods, "
|
||||||
"classes, or modules: %r" %
|
"classes, or modules: %r" %
|
||||||
(type(val),))
|
(type(val),))
|
||||||
valname = '%s.%s' % (name, valname)
|
valname = '%s.__test__.%s' % (name, valname)
|
||||||
self._find(tests, val, valname, module, source_lines,
|
self._find(tests, val, valname, module, source_lines,
|
||||||
globs, seen)
|
globs, seen)
|
||||||
|
|
||||||
|
|
|
@ -467,8 +467,8 @@ functions, classes, and the `__test__` dictionary, if it exists:
|
||||||
1 some_module.SampleClass.a_staticmethod
|
1 some_module.SampleClass.a_staticmethod
|
||||||
1 some_module.SampleClass.double
|
1 some_module.SampleClass.double
|
||||||
1 some_module.SampleClass.get
|
1 some_module.SampleClass.get
|
||||||
1 some_module.c
|
1 some_module.__test__.c
|
||||||
2 some_module.d
|
2 some_module.__test__.d
|
||||||
1 some_module.sample_func
|
1 some_module.sample_func
|
||||||
|
|
||||||
Duplicate Removal
|
Duplicate Removal
|
||||||
|
|
|
@ -654,14 +654,14 @@ syntax_tests = """
|
||||||
... yield 1
|
... yield 1
|
||||||
Traceback (most recent call last):
|
Traceback (most recent call last):
|
||||||
..
|
..
|
||||||
SyntaxError: 'return' with argument inside generator (<doctest test.test_generators.syntax[0]>, line 2)
|
SyntaxError: 'return' with argument inside generator (<doctest test.test_generators.__test__.syntax[0]>, line 2)
|
||||||
|
|
||||||
>>> def f():
|
>>> def f():
|
||||||
... yield 1
|
... yield 1
|
||||||
... return 22
|
... return 22
|
||||||
Traceback (most recent call last):
|
Traceback (most recent call last):
|
||||||
..
|
..
|
||||||
SyntaxError: 'return' with argument inside generator (<doctest test.test_generators.syntax[1]>, line 3)
|
SyntaxError: 'return' with argument inside generator (<doctest test.test_generators.__test__.syntax[1]>, line 3)
|
||||||
|
|
||||||
"return None" is not the same as "return" in a generator:
|
"return None" is not the same as "return" in a generator:
|
||||||
|
|
||||||
|
@ -670,7 +670,7 @@ SyntaxError: 'return' with argument inside generator (<doctest test.test_generat
|
||||||
... return None
|
... return None
|
||||||
Traceback (most recent call last):
|
Traceback (most recent call last):
|
||||||
..
|
..
|
||||||
SyntaxError: 'return' with argument inside generator (<doctest test.test_generators.syntax[2]>, line 3)
|
SyntaxError: 'return' with argument inside generator (<doctest test.test_generators.__test__.syntax[2]>, line 3)
|
||||||
|
|
||||||
This one is fine:
|
This one is fine:
|
||||||
|
|
||||||
|
@ -685,7 +685,7 @@ This one is fine:
|
||||||
... pass
|
... pass
|
||||||
Traceback (most recent call last):
|
Traceback (most recent call last):
|
||||||
..
|
..
|
||||||
SyntaxError: 'yield' not allowed in a 'try' block with a 'finally' clause (<doctest test.test_generators.syntax[4]>, line 3)
|
SyntaxError: 'yield' not allowed in a 'try' block with a 'finally' clause (<doctest test.test_generators.__test__.syntax[4]>, line 3)
|
||||||
|
|
||||||
>>> def f():
|
>>> def f():
|
||||||
... try:
|
... try:
|
||||||
|
@ -699,7 +699,7 @@ SyntaxError: 'yield' not allowed in a 'try' block with a 'finally' clause (<doct
|
||||||
... pass
|
... pass
|
||||||
Traceback (most recent call last):
|
Traceback (most recent call last):
|
||||||
...
|
...
|
||||||
SyntaxError: 'yield' not allowed in a 'try' block with a 'finally' clause (<doctest test.test_generators.syntax[5]>, line 6)
|
SyntaxError: 'yield' not allowed in a 'try' block with a 'finally' clause (<doctest test.test_generators.__test__.syntax[5]>, line 6)
|
||||||
|
|
||||||
But this is fine:
|
But this is fine:
|
||||||
|
|
||||||
|
@ -805,7 +805,7 @@ SyntaxError: invalid syntax
|
||||||
... if 0:
|
... if 0:
|
||||||
... yield 2 # because it's a generator
|
... yield 2 # because it's a generator
|
||||||
Traceback (most recent call last):
|
Traceback (most recent call last):
|
||||||
SyntaxError: 'return' with argument inside generator (<doctest test.test_generators.syntax[22]>, line 8)
|
SyntaxError: 'return' with argument inside generator (<doctest test.test_generators.__test__.syntax[22]>, line 8)
|
||||||
|
|
||||||
This one caused a crash (see SF bug 567538):
|
This one caused a crash (see SF bug 567538):
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue