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:
Tim Peters 2004-09-13 01:07:12 +00:00
parent 82076ef194
commit c56847878e
3 changed files with 9 additions and 9 deletions

View File

@ -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)

View File

@ -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

View File

@ -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):