diff options
Diffstat (limited to 'morphlib/builder2_tests.py')
-rw-r--r-- | morphlib/builder2_tests.py | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/morphlib/builder2_tests.py b/morphlib/builder2_tests.py index 9730b59e..5a86fe75 100644 --- a/morphlib/builder2_tests.py +++ b/morphlib/builder2_tests.py @@ -80,9 +80,15 @@ class FakeFileHandle(object): def __enter__(self): return self - def __exit__(self, type, value, traceback): + def _writeback(self): self._cache._cached[self._key] = self._string + def __exit__(self, type, value, traceback): + self._writeback() + + def close(self): + self._writeback() + def write(self, string): self._string += string @@ -209,6 +215,18 @@ class BuilderBaseTests(unittest.TestCase): self.assertEqual(sorted(events), sorted(meta['build-times'].keys())) + def test_downloads_depends(self): + lac = FakeArtifactCache() + rac = FakeArtifactCache() + afacts = [FakeArtifact(name) for name in ('a', 'b', 'c')] + for a in afacts: + fh = rac.put(a) + fh.write(a.name) + fh.close() + morphlib.builder2.download_depends(afacts, lac, rac) + self.assertTrue(all(lac.has(a) for a in afacts)) + + class ChunkBuilderTests(unittest.TestCase): def setUp(self): |