Don't really need ellipsis doctests for the syntax errors, because

this module imports itself explicitly from test (so the "file names"
current doctest synthesizes for examples don't vary depending on how
test_generators is run).
This commit is contained in:
Tim Peters 2004-08-27 15:12:49 +00:00
parent 0fafacc672
commit aef8cfaa28

View File

@ -649,28 +649,28 @@ Ye olde Fibonacci generator, LazyList style.
syntax_tests = """
>>> def f(): #doctest: +ELLIPSIS
>>> def f():
... return 22
... yield 1
Traceback (most recent call last):
..
SyntaxError: 'return' with argument inside generator (..., line 2)
SyntaxError: 'return' with argument inside generator (<doctest test.test_generators.syntax[0]>, line 2)
>>> def f(): #doctest: +ELLIPSIS
>>> def f():
... yield 1
... return 22
Traceback (most recent call last):
..
SyntaxError: 'return' with argument inside generator (..., line 3)
SyntaxError: 'return' with argument inside generator (<doctest test.test_generators.syntax[1]>, line 3)
"return None" is not the same as "return" in a generator:
>>> def f(): #doctest: +ELLIPSIS
>>> def f():
... yield 1
... return None
Traceback (most recent call last):
..
SyntaxError: 'return' with argument inside generator (..., line 3)
SyntaxError: 'return' with argument inside generator (<doctest test.test_generators.syntax[2]>, line 3)
This one is fine:
@ -678,16 +678,16 @@ This one is fine:
... yield 1
... return
>>> def f(): #doctest: +ELLIPSIS
>>> def f():
... try:
... yield 1
... finally:
... pass
Traceback (most recent call last):
..
SyntaxError: 'yield' not allowed in a 'try' block with a 'finally' clause (..., line 3)
SyntaxError: 'yield' not allowed in a 'try' block with a 'finally' clause (<doctest test.test_generators.syntax[4]>, line 3)
>>> def f(): #doctest: +ELLIPSIS
>>> def f():
... try:
... try:
... 1//0
@ -699,7 +699,7 @@ SyntaxError: 'yield' not allowed in a 'try' block with a 'finally' clause (...,
... pass
Traceback (most recent call last):
...
SyntaxError: 'yield' not allowed in a 'try' block with a 'finally' clause (..., line 6)
SyntaxError: 'yield' not allowed in a 'try' block with a 'finally' clause (<doctest test.test_generators.syntax[5]>, line 6)
But this is fine:
@ -794,7 +794,7 @@ SyntaxError: invalid syntax
<type 'generator'>
>>> def f(): #doctest: +ELLIPSIS
>>> def f():
... if 0:
... lambda x: x # shouldn't trigger here
... return # or here
@ -805,7 +805,7 @@ SyntaxError: invalid syntax
... if 0:
... yield 2 # because it's a generator
Traceback (most recent call last):
SyntaxError: 'return' with argument inside generator (..., line 8)
SyntaxError: 'return' with argument inside generator (<doctest test.test_generators.syntax[22]>, line 8)
This one caused a crash (see SF bug 567538):