bpo-42748: test_asdl_parser now uses exec_module instead of load_module (#23954)

This commit is contained in:
Dong-hee Na 2020-12-26 22:25:21 +09:00 committed by GitHub
parent ea251806b8
commit 0b281f94b9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 5 additions and 1 deletions

View File

@ -1,6 +1,7 @@
"""Tests for the asdl parser in Parser/asdl.py""" """Tests for the asdl parser in Parser/asdl.py"""
import importlib.machinery import importlib.machinery
import importlib.util
import os import os
from os.path import dirname from os.path import dirname
import sys import sys
@ -26,7 +27,10 @@ class TestAsdlParser(unittest.TestCase):
sys.path.insert(0, parser_dir) sys.path.insert(0, parser_dir)
loader = importlib.machinery.SourceFileLoader( loader = importlib.machinery.SourceFileLoader(
'asdl', os.path.join(parser_dir, 'asdl.py')) 'asdl', os.path.join(parser_dir, 'asdl.py'))
cls.asdl = loader.load_module() spec = importlib.util.spec_from_loader('asdl', loader)
module = importlib.util.module_from_spec(spec)
loader.exec_module(module)
cls.asdl = module
cls.mod = cls.asdl.parse(os.path.join(parser_dir, 'Python.asdl')) cls.mod = cls.asdl.parse(os.path.join(parser_dir, 'Python.asdl'))
cls.assertTrue(cls.asdl.check(cls.mod), 'Module validation failed') cls.assertTrue(cls.asdl.check(cls.mod), 'Module validation failed')