diff options
-rw-r--r-- | morphlib/artifact_tests.py | 33 | ||||
-rw-r--r-- | morphlib/artifactresolver_tests.py | 24 | ||||
-rw-r--r-- | morphlib/builder2_tests.py | 31 | ||||
-rw-r--r-- | morphlib/cachekeycomputer_tests.py | 16 | ||||
-rw-r--r-- | morphlib/localartifactcache_tests.py | 14 |
5 files changed, 28 insertions, 90 deletions
diff --git a/morphlib/artifact_tests.py b/morphlib/artifact_tests.py index 3b817823..abd8767e 100644 --- a/morphlib/artifact_tests.py +++ b/morphlib/artifact_tests.py @@ -56,38 +56,5 @@ class ArtifactTests(unittest.TestCase): def test_constructor_sets_name(self): self.assertEqual(self.artifact.name, self.artifact_name) - def test_constructor_initializes_cache_key_as_none(self): - self.assertEqual(self.artifact.cache_key, None) - - def test_sets_dependencies_to_empty(self): - self.assertEqual(self.artifact.dependencies, []) - def test_sets_dependents_to_empty(self): self.assertEqual(self.artifact.dependents, []) - - def test_does_not_depend_on_other_initially(self): - self.assertFalse(self.artifact.depends_on(self.other)) - - def test_adds_dependency(self): - self.artifact.add_dependency(self.other) - self.assertIn(self.other, self.artifact.dependencies) - self.assertIn(self.artifact, self.other.dependents) - self.assertTrue(self.artifact.depends_on(self.other)) - - def test_does_not_add_dependency_twice(self): - self.artifact.add_dependency(self.other) - self.artifact.add_dependency(self.other) - self.assertEqual(len([a for a in self.artifact.dependencies - if a == self.other]), 1) - self.assertEqual(len([a for a in self.other.dependents - if a == self.artifact]), 1) - self.assertTrue(self.artifact.depends_on(self.other)) - - def test_get_dependency_prefix(self): - self.artifact.add_dependency(self.other) - self.artifact.source.prefix = '/bar' - self.other.source = copy.copy(self.artifact.source) - self.other.source.prefix = '/foo' - - prefix_set = self.artifact.get_dependency_prefix_set() - self.assertEqual(prefix_set, set(['/foo'])) diff --git a/morphlib/artifactresolver_tests.py b/morphlib/artifactresolver_tests.py index ee65c7e8..89f30010 100644 --- a/morphlib/artifactresolver_tests.py +++ b/morphlib/artifactresolver_tests.py @@ -103,7 +103,7 @@ class ArtifactResolverTests(unittest.TestCase): for artifact in artifacts: self.assertEqual(artifact.source, source) self.assertTrue(artifact.name.startswith('chunk')) - self.assertEqual(artifact.dependencies, []) + self.assertEqual(source.dependencies, []) self.assertEqual(artifact.dependents, []) def test_resolve_single_chunk_with_one_new_artifact(self): @@ -123,7 +123,7 @@ class ArtifactResolverTests(unittest.TestCase): foobartifact, = (a for a in artifacts if a.name == 'chunk-foobar') self.assertEqual(foobartifact.source, source) - self.assertEqual(foobartifact.dependencies, []) + self.assertEqual(foobartifact.source.dependencies, []) self.assertEqual(foobartifact.dependents, []) def test_resolve_single_chunk_with_two_new_artifacts(self): @@ -145,7 +145,7 @@ class ArtifactResolverTests(unittest.TestCase): for name in ('chunk-baz', 'chunk-qux'): artifact, = (a for a in artifacts if a.name == name) self.assertEqual(artifact.source, source) - self.assertEqual(artifact.dependencies, []) + self.assertEqual(artifact.source.dependencies, []) self.assertEqual(artifact.dependents, []) def test_resolve_stratum_and_chunk(self): @@ -184,13 +184,14 @@ class ArtifactResolverTests(unittest.TestCase): for stratum_artifact in stratum_artifacts: self.assertTrue(stratum_artifact.name.startswith('stratum')) self.assertEqual(stratum_artifact.dependents, []) - self.assertTrue(any(dep in chunk_artifacts - for dep in stratum_artifact.dependencies)) + self.assertTrue( + any(dep in chunk_artifacts + for dep in stratum_artifact.source.dependencies)) for chunk_artifact in chunk_artifacts: self.assertTrue(chunk_artifact.name.startswith('chunk')) - self.assertEqual(chunk_artifact.dependencies, []) - self.assertTrue(any(dep in stratum_artifacts + self.assertEqual(chunk_artifact.source.dependencies, []) + self.assertTrue(any(dep in stratum_sources for dep in chunk_artifact.dependents)) def test_resolve_stratum_and_chunk_with_two_new_artifacts(self): @@ -230,13 +231,14 @@ class ArtifactResolverTests(unittest.TestCase): for stratum_artifact in stratum_artifacts: self.assertTrue(stratum_artifact.name.startswith('stratum')) self.assertEqual(stratum_artifact.dependents, []) - self.assertTrue(any(dep in chunk_artifacts - for dep in stratum_artifact.dependencies)) + self.assertTrue( + any(dep in chunk_artifacts + for dep in stratum_artifact.source.dependencies)) for chunk_artifact in chunk_artifacts: self.assertTrue(chunk_artifact.name.startswith('chunk')) - self.assertEqual(chunk_artifact.dependencies, []) - self.assertTrue(any(dep in stratum_artifacts + self.assertEqual(chunk_artifact.source.dependencies, []) + self.assertTrue(any(dep in stratum_sources for dep in chunk_artifact.dependents)) def test_detection_of_mutual_dependency_between_two_strata(self): diff --git a/morphlib/builder2_tests.py b/morphlib/builder2_tests.py index cb0371c2..4fd0807a 100644 --- a/morphlib/builder2_tests.py +++ b/morphlib/builder2_tests.py @@ -167,37 +167,6 @@ class BuilderBaseTests(unittest.TestCase): self.builder.runcmd(['foo', 'bar']) self.assertEqual(self.commands_run, [['foo', 'bar']]) - def test_creates_metadata_with_required_fields(self): - artifact_name = 'le-artifact' - source = self.artifact.source - morphology = source.morphology - meta = self.builder.create_metadata(artifact_name) - self.assertEqual(meta['artifact-name'], artifact_name) - self.assertEqual(meta['source-name'], morphology['name']) - self.assertEqual(meta['kind'], morphology['kind']) - self.assertEqual(meta['description'], morphology['description']) - self.assertEqual(meta['repo'], source.repo.url) - self.assertEqual(meta['original_ref'], source.original_ref) - self.assertEqual(meta['sha1'], source.sha1) - self.assertEqual(meta['morphology'], source.filename) - - def test_writes_metadata(self): - artifact_name = 'le-artifact' - orig_meta = self.builder.create_metadata(artifact_name) - - instdir = '/inst/dir' - - self.builder._open = self.fake_open - self.builder.write_metadata(instdir, artifact_name) - - self.assertTrue(self.open_filename.startswith( - os.path.join(instdir, 'baserock', - artifact_name + '.'))) - self.assertTrue(self.open_filename.endswith('.meta')) - - meta = json.loads(self.open_handle.getvalue()) - self.assertEqual(meta, orig_meta) - def test_writes_build_times(self): with self.builder.build_watch('nothing'): pass diff --git a/morphlib/cachekeycomputer_tests.py b/morphlib/cachekeycomputer_tests.py index fb5b1e28..55936f94 100644 --- a/morphlib/cachekeycomputer_tests.py +++ b/morphlib/cachekeycomputer_tests.py @@ -123,7 +123,7 @@ class CacheKeyComputerTests(unittest.TestCase): self.ckc._hash_tuple = inccount(self.ckc._hash_tuple, 'tuple') artifact = self._find_artifact('system-rootfs') - self.ckc.compute_key(artifact) + self.ckc.compute_key(artifact.source) self.assertNotEqual(runcount['thing'], 0) self.assertNotEqual(runcount['dict'], 0) @@ -136,13 +136,13 @@ class CacheKeyComputerTests(unittest.TestCase): def test_compute_twice_same_key(self): artifact = self._find_artifact('system-rootfs') - self.assertEqual(self.ckc.compute_key(artifact), - self.ckc.compute_key(artifact)) + self.assertEqual(self.ckc.compute_key(artifact.source), + self.ckc.compute_key(artifact.source)) def test_compute_twice_same_id(self): artifact = self._find_artifact('system-rootfs') - id1 = self.ckc.get_cache_id(artifact) - id2 = self.ckc.get_cache_id(artifact) + id1 = self.ckc.get_cache_id(artifact.source) + id2 = self.ckc.get_cache_id(artifact.source) hash1 = self.ckc._hash_id(id1) hash2 = self.ckc._hash_id(id2) self.assertEqual(hash1, hash2) @@ -150,13 +150,13 @@ class CacheKeyComputerTests(unittest.TestCase): def test_compute_key_returns_sha256(self): artifact = self._find_artifact('system-rootfs') self.assertTrue(self._valid_sha256( - self.ckc.compute_key(artifact))) + self.ckc.compute_key(artifact.source))) def test_different_env_gives_different_key(self): artifact = self._find_artifact('system-rootfs') - oldsha = self.ckc.compute_key(artifact) + oldsha = self.ckc.compute_key(artifact.source) build_env = copy.deepcopy(self.build_env) build_env.env["USER"] = "brian" ckc = morphlib.cachekeycomputer.CacheKeyComputer(build_env) - self.assertNotEqual(oldsha, ckc.compute_key(artifact)) + self.assertNotEqual(oldsha, ckc.compute_key(artifact.source)) diff --git a/morphlib/localartifactcache_tests.py b/morphlib/localartifactcache_tests.py index c1055d05..4325cfbe 100644 --- a/morphlib/localartifactcache_tests.py +++ b/morphlib/localartifactcache_tests.py @@ -47,12 +47,11 @@ class LocalArtifactCacheTests(unittest.TestCase): 'chunk.morph', 'sha1', 'tree', morph) self.source, = sources + self.source.cache_key = '0'*64 self.runtime_artifact = morphlib.artifact.Artifact( self.source, 'chunk-runtime') - self.runtime_artifact.cache_key = '0'*64 self.devel_artifact = morphlib.artifact.Artifact( self.source, 'chunk-devel') - self.devel_artifact.cache_key = '0'*64 def test_artifact_filename(self): cache = morphlib.localartifactcache.LocalArtifactCache(self.tempfs) @@ -63,12 +62,13 @@ class LocalArtifactCacheTests(unittest.TestCase): def test_get_source_metadata_filename(self): cache = morphlib.localartifactcache.LocalArtifactCache(self.tempfs) artifact = self.devel_artifact + source = self.source name = 'foobar' filename = cache.get_source_metadata_filename(artifact.source, - artifact.cache_key, name) + source.cache_key, name) expected_name = self.tempfs.getsyspath('%s.%s' % - (artifact.cache_key, name)) + (source.cache_key, name)) self.assertEqual(filename, expected_name) def test_put_artifacts_and_check_whether_the_cache_has_them(self): @@ -167,13 +167,13 @@ class LocalArtifactCacheTests(unittest.TestCase): handle.write('runtime') handle.close() - self.assertTrue(len(list(cache.list_contents())) == 1) + self.assertEqual(len(list(cache.list_contents())), 1) handle = cache.put(self.devel_artifact) handle.write('devel') handle.close() - self.assertTrue(len(list(cache.list_contents())) == 1) + self.assertEqual(len(list(cache.list_contents())), 1) def test_put_artifacts_and_remove_them_afterwards(self): cache = morphlib.localartifactcache.LocalArtifactCache(self.tempfs) @@ -189,4 +189,4 @@ class LocalArtifactCacheTests(unittest.TestCase): key = list(cache.list_contents())[0][0] cache.remove(key) - self.assertTrue(len(list(cache.list_contents())) == 0) + self.assertEqual(len(list(cache.list_contents())), 0) |