Commit aef8cfaa authored by Tim Peters's avatar Tim Peters

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).
parent 0fafacc6
...@@ -649,28 +649,28 @@ Ye olde Fibonacci generator, LazyList style. ...@@ -649,28 +649,28 @@ Ye olde Fibonacci generator, LazyList style.
syntax_tests = """ syntax_tests = """
>>> def f(): #doctest: +ELLIPSIS >>> def f():
... return 22 ... return 22
... yield 1 ... yield 1
Traceback (most recent call last): 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 ... yield 1
... return 22 ... return 22
Traceback (most recent call last): 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: "return None" is not the same as "return" in a generator:
>>> def f(): #doctest: +ELLIPSIS >>> def f():
... yield 1 ... yield 1
... return None ... return None
Traceback (most recent call last): 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: This one is fine:
...@@ -678,16 +678,16 @@ This one is fine: ...@@ -678,16 +678,16 @@ This one is fine:
... yield 1 ... yield 1
... return ... return
>>> def f(): #doctest: +ELLIPSIS >>> def f():
... try: ... try:
... yield 1 ... yield 1
... finally: ... finally:
... pass ... pass
Traceback (most recent call last): 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:
... try: ... try:
... 1//0 ... 1//0
...@@ -699,7 +699,7 @@ SyntaxError: 'yield' not allowed in a 'try' block with a 'finally' clause (..., ...@@ -699,7 +699,7 @@ SyntaxError: 'yield' not allowed in a 'try' block with a 'finally' clause (...,
... pass ... pass
Traceback (most recent call last): 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: But this is fine:
...@@ -794,7 +794,7 @@ SyntaxError: invalid syntax ...@@ -794,7 +794,7 @@ SyntaxError: invalid syntax
<type 'generator'> <type 'generator'>
>>> def f(): #doctest: +ELLIPSIS >>> def f():
... if 0: ... if 0:
... lambda x: x # shouldn't trigger here ... lambda x: x # shouldn't trigger here
... return # or here ... return # or here
...@@ -805,7 +805,7 @@ SyntaxError: invalid syntax ...@@ -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 (..., 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): This one caused a crash (see SF bug 567538):
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment