summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Maw <richard.maw@gmail.com>2014-09-17 15:07:46 +0000
committerRichard Maw <richard.maw@gmail.com>2014-09-19 12:43:26 +0000
commitdea5e91b2e7b109051bff68e15f8f55fe8c950bd (patch)
tree47bbdf8837ff4dd5c379687e99dc61dd95be79b0
parent27ad604d18f0440c1db714f8c22eda5f27bd4c13 (diff)
downloadmorph-dea5e91b2e7b109051bff68e15f8f55fe8c950bd.tar.gz
FIXUP: Fix unit tests after changing to per-source builds
-rw-r--r--morphlib/artifact_tests.py33
-rw-r--r--morphlib/artifactresolver_tests.py24
-rw-r--r--morphlib/builder2_tests.py31
-rw-r--r--morphlib/cachekeycomputer_tests.py16
-rw-r--r--morphlib/localartifactcache_tests.py14
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)