Issue 4647: Builtin parser module fails to parse relative imports (original) (raw)
I've added the following test method:
test_parser.py
class RoundtripLegalSyntaxTestCase(unittest.TestCase):
def test_relative_import_statement(self):
self.check_suite("from . import sys")
The test fails raising the message:
Traceback (most recent call last): File "test_parser.py", line 182, in test_relative_import_statement self.check_suite("from . import sys") File "test_parser.py", line 29, in check_suite self.roundtrip(parser.suite, s) File "test_parser.py", line 20, in roundtrip self.fail("could not roundtrip %r: %s" % (s, why)) AssertionError: could not roundtrip 'from . import sys': Expected node type 1, got 23.
Apparently the parser expects a NAME token and gets a DOT token.
This behaviour affects Python 2.5 and Python 2.6. Unchecked for Python 3.0.