diff options
Diffstat (limited to 'morphlib')
-rw-r--r-- | morphlib/sourceresolver.py | 13 | ||||
-rw-r--r-- | morphlib/sourceresolver_tests.py | 24 |
2 files changed, 19 insertions, 18 deletions
diff --git a/morphlib/sourceresolver.py b/morphlib/sourceresolver.py index 07a0b395..150dc49b 100644 --- a/morphlib/sourceresolver.py +++ b/morphlib/sourceresolver.py @@ -348,13 +348,12 @@ class SourceResolver(object): # error. raise MorphologyNotFoundError(expected_filename) - return buildsystem.name + return buildsystem - def _create_morphology_for_build_system(self, buildsystem_name, + def _create_morphology_for_build_system(self, buildsystem, morph_name): # pragma: no cover - bs = morphlib.buildsystem.lookup_build_system(buildsystem_name) loader = morphlib.morphloader.MorphologyLoader() - morph = bs.get_morphology(morph_name) + morph = buildsystem.get_morphology(morph_name) loader.validate(morph) loader.set_commands(morph) loader.set_defaults(morph) @@ -478,7 +477,7 @@ class SourceResolver(object): morph_name): # pragma: no cover logging.debug('Caching build system for chunk with key %s', chunk_key) - self._resolved_buildsystems[chunk_key] = buildsystem + self._resolved_buildsystems[chunk_key] = buildsystem.name morphology = self._create_morphology_for_build_system(buildsystem, morph_name) @@ -511,7 +510,9 @@ class SourceResolver(object): self.status(msg='Build system for %(chunk)s is cached', chunk=str(chunk_key), chatty=True) - buildsystem = self._resolved_buildsystems[chunk_key] + buildsystem_name = self._resolved_buildsystems[chunk_key] + buildsystem = morphlib.buildsystem.lookup_build_system( + buildsystem_name) # If the build system for this chunk is cached then: # * the chunk does not have a chunk morph diff --git a/morphlib/sourceresolver_tests.py b/morphlib/sourceresolver_tests.py index 298dae5d..8af8d262 100644 --- a/morphlib/sourceresolver_tests.py +++ b/morphlib/sourceresolver_tests.py @@ -235,26 +235,26 @@ class SourceResolverTests(unittest.TestCase): def test_autodetects_local_morphology(self): self.lr.read_file = self.nolocalmorph self.lr.list_files = self.autotoolsbuildsystem - name = self.sr._detect_build_system('reponame', 'sha1', - 'assumed-local.morph') - self.assertEqual('autotools', name) + bs = self.sr._detect_build_system('reponame', 'sha1', + 'assumed-local.morph') + self.assertEqual('autotools', bs.name) def test_cache_repo_if_not_in_either_cache(self): self.lrc.has_repo = self.doesnothaverepo self.lr.read_file = self.nolocalmorph self.lr.list_files = self.autotoolsbuildsystem self.rrc.ls_tree = self.noremoterepo - name = self.sr._detect_build_system('reponame', 'sha1', - 'assumed-local.morph') - self.assertEqual('autotools', name) + bs = self.sr._detect_build_system('reponame', 'sha1', + 'assumed-local.morph') + self.assertEqual('autotools', bs.name) def test_autodetects_remote_morphology(self): self.lrc.has_repo = self.doesnothaverepo self.rrc.cat_file = self.noremotemorph self.rrc.ls_tree = self.autotoolsbuildsystem - name = self.sr._detect_build_system('reponame', 'sha1', - 'assumed-remote.morph') - self.assertEqual('autotools', name) + bs = self.sr._detect_build_system('reponame', 'sha1', + 'assumed-remote.morph') + self.assertEqual('autotools', bs.name) def test_returns_none_when_no_local_morph(self): self.lr.read_file = self.nolocalfile @@ -293,9 +293,9 @@ class SourceResolverTests(unittest.TestCase): def test_autodetects_locally_with_no_remote(self): self.lr.read_file = self.nolocalmorph self.lr.list_files = self.autotoolsbuildsystem - name = self.sr._detect_build_system('reponame', 'sha1', - 'assumed-local.morph') - self.assertEqual('autotools', name) + bs = self.sr._detect_build_system('reponame', 'sha1', + 'assumed-local.morph') + self.assertEqual('autotools', bs.name) def test_succeeds_when_local_not_cached_and_no_remote(self): self.lrc.has_repo = self.doesnothaverepo |