Mercurial > cpython-lru_cache-weakref
diff Lib/test/test_codeop.py @ 27878:be7683a6f521 legacy-trunk
- Finally fixed the bug in compile() and exec where a string ending
with an indented code block but no newline would raise SyntaxError.
This would have been a four-line change in parsetok.c... Except
codeop.py depends on this behavior, so a compilation flag had to be
invented that causes the tokenizer to revert to the old behavior;
this required extra changes to 2 .h files, 2 .c files, and 2 .py
files. (Fixes SF bug #501622.)
| author | Guido van Rossum <guido@python.org> |
|---|---|
| date | Thu, 13 Feb 2003 22:07:59 +0000 |
| parents | aa0d2d51fbde |
| children | e6e100efbc7d |
line wrap: on
line diff
--- a/Lib/test/test_codeop.py Thu Feb 13 21:03:57 2003 +0000 +++ b/Lib/test/test_codeop.py Thu Feb 13 22:07:59 2003 +0000 @@ -5,13 +5,13 @@ import unittest from test.test_support import run_unittest -from codeop import compile_command +from codeop import compile_command, PyCF_DONT_IMPLY_DEDENT class CodeopTests(unittest.TestCase): def assertValid(self, str, symbol='single'): '''succeed iff str is a valid piece of code''' - expected = compile(str, "<input>", symbol) + expected = compile(str, "<input>", symbol, PyCF_DONT_IMPLY_DEDENT) self.assertEquals( compile_command(str, "<input>", symbol), expected) @@ -42,7 +42,8 @@ # special case self.assertEquals(compile_command(""), - compile("pass", "<input>", 'single')) + compile("pass", "<input>", 'single', + PyCF_DONT_IMPLY_DEDENT)) av("3**3","eval") av("(lambda z: \n z**3)","eval")
