mirror of
https://github.com/python/cpython.git
synced 2025-12-08 06:10:17 +00:00
bpo-43105: Importlib now resolves relative paths when creating module spec objects from file locations (GH-25121)
This commit is contained in:
parent
b57e045320
commit
04732ca993
9 changed files with 2732 additions and 2527 deletions
|
|
@ -506,7 +506,7 @@ class FactoryTests:
|
|||
|
||||
def setUp(self):
|
||||
self.name = 'spam'
|
||||
self.path = 'spam.py'
|
||||
self.path = os.path.abspath('spam.py')
|
||||
self.cached = self.util.cache_from_source(self.path)
|
||||
self.loader = TestLoader()
|
||||
self.fileloader = TestLoader(self.path)
|
||||
|
|
@ -645,7 +645,7 @@ def test_spec_from_loader_is_package_true_with_fileloader(self):
|
|||
self.assertEqual(spec.loader, self.fileloader)
|
||||
self.assertEqual(spec.origin, self.path)
|
||||
self.assertIs(spec.loader_state, None)
|
||||
self.assertEqual(spec.submodule_search_locations, [''])
|
||||
self.assertEqual(spec.submodule_search_locations, [os.getcwd()])
|
||||
self.assertEqual(spec.cached, self.cached)
|
||||
self.assertTrue(spec.has_location)
|
||||
|
||||
|
|
@ -744,7 +744,7 @@ def test_spec_from_file_location_smsl_empty(self):
|
|||
self.assertEqual(spec.loader, self.fileloader)
|
||||
self.assertEqual(spec.origin, self.path)
|
||||
self.assertIs(spec.loader_state, None)
|
||||
self.assertEqual(spec.submodule_search_locations, [''])
|
||||
self.assertEqual(spec.submodule_search_locations, [os.getcwd()])
|
||||
self.assertEqual(spec.cached, self.cached)
|
||||
self.assertTrue(spec.has_location)
|
||||
|
||||
|
|
@ -769,7 +769,7 @@ def test_spec_from_file_location_smsl_default(self):
|
|||
self.assertEqual(spec.loader, self.pkgloader)
|
||||
self.assertEqual(spec.origin, self.path)
|
||||
self.assertIs(spec.loader_state, None)
|
||||
self.assertEqual(spec.submodule_search_locations, [''])
|
||||
self.assertEqual(spec.submodule_search_locations, [os.getcwd()])
|
||||
self.assertEqual(spec.cached, self.cached)
|
||||
self.assertTrue(spec.has_location)
|
||||
|
||||
|
|
@ -817,6 +817,17 @@ def is_package(self, name):
|
|||
self.assertEqual(spec.cached, self.cached)
|
||||
self.assertTrue(spec.has_location)
|
||||
|
||||
def test_spec_from_file_location_relative_path(self):
|
||||
spec = self.util.spec_from_file_location(self.name,
|
||||
os.path.basename(self.path), loader=self.fileloader)
|
||||
|
||||
self.assertEqual(spec.name, self.name)
|
||||
self.assertEqual(spec.loader, self.fileloader)
|
||||
self.assertEqual(spec.origin, self.path)
|
||||
self.assertIs(spec.loader_state, None)
|
||||
self.assertIs(spec.submodule_search_locations, None)
|
||||
self.assertEqual(spec.cached, self.cached)
|
||||
self.assertTrue(spec.has_location)
|
||||
|
||||
(Frozen_FactoryTests,
|
||||
Source_FactoryTests
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue