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.