summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Coldrick <adam.coldrick@codethink.co.uk>2014-06-30 11:31:49 +0000
committerAdam Coldrick <adam.coldrick@codethink.co.uk>2014-06-30 11:31:49 +0000
commit0baeb62d8407f7a17ad1b092ee31a54bd5fed64f (patch)
tree5941e5691d59f99140b640afec23664436d5b664
parent86b10c080c123a043fee11e62a62b9a8ff31be35 (diff)
downloadmorph-0baeb62d8407f7a17ad1b092ee31a54bd5fed64f.tar.gz
Update unit tests to test chunks with a path in the morph field
-rw-r--r--morphlib/artifactresolver_tests.py34
-rw-r--r--morphlib/morphloader_tests.py2
2 files changed, 35 insertions, 1 deletions
diff --git a/morphlib/artifactresolver_tests.py b/morphlib/artifactresolver_tests.py
index 6f62b4d1..4e57f672 100644
--- a/morphlib/artifactresolver_tests.py
+++ b/morphlib/artifactresolver_tests.py
@@ -196,6 +196,40 @@ class ArtifactResolverTests(unittest.TestCase):
self.assertTrue(any(dep in stratum_artifacts
for dep in chunk_artifact.dependents))
+ def test_resolve_stratum_and_chunk_with_chunk_path(self):
+ pool = morphlib.sourcepool.SourcePool()
+
+ morph = FakeChunkMorphology('chunk')
+ chunk = morphlib.source.Source(
+ 'repo', 'ref', 'sha1', 'tree', morph, 'chunk.morph')
+ pool.add(chunk)
+
+ morph = FakeStratumMorphology(
+ 'stratum', chunks=[('chunk', 'chunk.morph', 'repo', 'ref')])
+ stratum = morphlib.source.Source(
+ 'repo', 'ref', 'sha1', 'tree', morph, 'stratum.morph')
+ pool.add(stratum)
+
+ artifacts = self.resolver.resolve_artifacts(pool)
+
+ self.assertEqual(len(artifacts),
+ sum(len(s.split_rules.artifacts) for s in pool))
+
+ stratum_artifacts = set(a for a in artifacts if a.source == stratum)
+ chunk_artifacts = set(a for a in artifacts if a.source == chunk)
+
+ 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))
+
+ 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
+ for dep in chunk_artifact.dependents))
+
def test_resolve_stratum_and_chunk_with_two_new_artifacts(self):
pool = morphlib.sourcepool.SourcePool()
diff --git a/morphlib/morphloader_tests.py b/morphlib/morphloader_tests.py
index 82663298..64e4a423 100644
--- a/morphlib/morphloader_tests.py
+++ b/morphlib/morphloader_tests.py
@@ -616,7 +616,6 @@ build-system: dummy
'ref': 'bar',
'morph': 'bar',
'build-mode': 'bootstrap',
- 'build-depends': [],
},
],
})
@@ -637,6 +636,7 @@ build-system: dummy
"morph": "bar",
'build-mode': 'bootstrap',
'build-depends': [],
+ 'prefix': '/usr',
},
],
'products': [],