diff options
| author | Antoine Pitrou <solipsis@pitrou.net> | 2014-02-03 20:59:59 +0100 |
|---|---|---|
| committer | Antoine Pitrou <solipsis@pitrou.net> | 2014-02-03 20:59:59 +0100 |
| commit | d2cc743ca448866197b4ac0bcb918591827f4552 (patch) | |
| tree | 65eb723dff7cff862368a72fb572e0d62d6c8f58 /Lib/test/test_re.py | |
| parent | b3de1a720a7dffcf86bf7e7301263590b5972186 (diff) | |
| download | cpython-git-d2cc743ca448866197b4ac0bcb918591827f4552.tar.gz | |
Issue #20426: When passing the re.DEBUG flag, re.compile() displays the debug output every time it is called, regardless of the compilation cache.
Diffstat (limited to 'Lib/test/test_re.py')
| -rw-r--r-- | Lib/test/test_re.py | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/Lib/test/test_re.py b/Lib/test/test_re.py index f093812442..1c6f45dfa6 100644 --- a/Lib/test/test_re.py +++ b/Lib/test/test_re.py @@ -1,5 +1,5 @@ from test.support import verbose, run_unittest, gc_collect, bigmemtest, _2G, \ - cpython_only + cpython_only, captured_stdout import io import re from re import Scanner @@ -1064,6 +1064,19 @@ class ReTests(unittest.TestCase): self.assertEqual(m.group(1), "") self.assertEqual(m.group(2), "y") + def test_debug_flag(self): + with captured_stdout() as out: + re.compile('foo', re.DEBUG) + self.assertEqual(out.getvalue().splitlines(), + ['literal 102 ', 'literal 111 ', 'literal 111 ']) + # Debug output is output again even a second time (bypassing + # the cache -- issue #20426). + with captured_stdout() as out: + re.compile('foo', re.DEBUG) + self.assertEqual(out.getvalue().splitlines(), + ['literal 102 ', 'literal 111 ', 'literal 111 ']) + + def run_re_tests(): from test.re_tests import tests, SUCCEED, FAIL, SYNTAX_ERROR if verbose: |
