diff options
author | Pablo Galindo <Pablogsal@gmail.com> | 2020-04-27 17:02:07 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-27 17:02:07 (GMT) |
commit | 2b74c835a7280840a853e3a9aaeb83758b13a458 (patch) | |
tree | a8f64047d5872571e12d6c256bbc54a9551f8bb6 /Lib/test/test_flufl.py | |
parent | 9adccc1384568f4d46e37f698cb3e3a4f6ca0252 (diff) | |
download | cpython-2b74c835a7280840a853e3a9aaeb83758b13a458.zip cpython-2b74c835a7280840a853e3a9aaeb83758b13a458.tar.gz cpython-2b74c835a7280840a853e3a9aaeb83758b13a458.tar.bz2 |
bpo-40334: Support CO_FUTURE_BARRY_AS_BDFL in the new parser (GH-19721)
This commit also allows to pass flags to the new parser in all interfaces and fixes a bug in the parser generator that was causing to inline rules with actions, making them disappear.
Diffstat (limited to 'Lib/test/test_flufl.py')
-rw-r--r-- | Lib/test/test_flufl.py | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/Lib/test/test_flufl.py b/Lib/test/test_flufl.py index 35ab934..b714428 100644 --- a/Lib/test/test_flufl.py +++ b/Lib/test/test_flufl.py @@ -4,7 +4,6 @@ import sys from test import support -@support.skip_if_new_parser("Not supported by pegen yet") class FLUFLTests(unittest.TestCase): def test_barry_as_bdfl(self): @@ -16,10 +15,13 @@ class FLUFLTests(unittest.TestCase): __future__.CO_FUTURE_BARRY_AS_BDFL) self.assertRegex(str(cm.exception), "with Barry as BDFL, use '<>' instead of '!='") - self.assertEqual(cm.exception.text, '2 != 3\n') + self.assertIn('2 != 3', cm.exception.text) self.assertEqual(cm.exception.filename, '<FLUFL test>') - self.assertEqual(cm.exception.lineno, 2) - self.assertEqual(cm.exception.offset, 4) + + self.assertTrue(cm.exception.lineno, 2) + # The old parser reports the end of the token and the new + # parser reports the start of the token + self.assertEqual(cm.exception.offset, 4 if support.use_old_parser() else 3) def test_guido_as_bdfl(self): code = '2 {0} 3' @@ -27,10 +29,12 @@ class FLUFLTests(unittest.TestCase): with self.assertRaises(SyntaxError) as cm: compile(code.format('<>'), '<FLUFL test>', 'exec') self.assertRegex(str(cm.exception), "invalid syntax") - self.assertEqual(cm.exception.text, '2 <> 3\n') + self.assertIn('2 <> 3', cm.exception.text) self.assertEqual(cm.exception.filename, '<FLUFL test>') self.assertEqual(cm.exception.lineno, 1) - self.assertEqual(cm.exception.offset, 4) + # The old parser reports the end of the token and the new + # parser reports the start of the token + self.assertEqual(cm.exception.offset, 4 if support.use_old_parser() else 3) if __name__ == '__main__': |