summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xmorph3
-rw-r--r--morphlib/artifactresolver.py4
-rw-r--r--morphlib/artifactresolver_tests.py86
-rw-r--r--morphlib/buildgraph.py4
-rw-r--r--morphlib/buildgraph_tests.py83
-rw-r--r--morphlib/cachekeycomputer_tests.py3
-rw-r--r--morphlib/source.py8
-rw-r--r--morphlib/source_tests.py21
-rw-r--r--morphlib/sourcepool.py10
-rw-r--r--morphlib/sourcepool_tests.py7
10 files changed, 115 insertions, 114 deletions
diff --git a/morph b/morph
index a5d9f4e0..44c85b34 100755
--- a/morph
+++ b/morph
@@ -166,8 +166,9 @@ class Morph(cliapp.Application):
for x in morphology['sources']:
queue.append((x['repo'], x['ref'],
'%s.morph' % x['morph']))
- source = morphlib.source.Source(repo, ref, absref,
+ source = morphlib.source.Source(reponame, ref, absref,
morphology, filename)
+ source.repo = repo
pool.add(source)
return pool
diff --git a/morphlib/artifactresolver.py b/morphlib/artifactresolver.py
index 56da8e8c..df3fdf87 100644
--- a/morphlib/artifactresolver.py
+++ b/morphlib/artifactresolver.py
@@ -157,7 +157,7 @@ class ArtifactResolver(object):
for stratum_name in system.source.morphology['strata']:
source = self._source_pool.lookup(
- system.source.repo.original_name,
+ system.source.repo_name,
system.source.original_ref,
'%s.morph' % stratum_name)
@@ -179,7 +179,7 @@ class ArtifactResolver(object):
if stratum.source.morphology['build-depends']:
for stratum_name in stratum.source.morphology['build-depends']:
other_source = self._source_pool.lookup(
- stratum.source.repo.original_name,
+ stratum.source.repo_name,
stratum.source.original_ref,
'%s.morph' % stratum_name)
diff --git a/morphlib/artifactresolver_tests.py b/morphlib/artifactresolver_tests.py
index eba8c80a..d77ff5bb 100644
--- a/morphlib/artifactresolver_tests.py
+++ b/morphlib/artifactresolver_tests.py
@@ -94,8 +94,6 @@ class FakeStratumMorphology(morphlib.morph2.Morphology):
class ArtifactResolverTests(unittest.TestCase):
def setUp(self):
- self.repo = morphlib.cachedrepo.CachedRepo(
- 'repo', 'git://foo.bar/repo.git', '/foo/bar/repo')
self.cache_key_computer = FakeCacheKeyComputer()
self.resolver = morphlib.artifactresolver.ArtifactResolver(
self.cache_key_computer)
@@ -110,7 +108,7 @@ class ArtifactResolverTests(unittest.TestCase):
morph = FakeChunkMorphology('chunk')
source = morphlib.source.Source(
- self.repo, 'ref', 'sha1', morph, 'chunk.morph')
+ 'repo', 'ref', 'sha1', morph, 'chunk.morph')
pool.add(source)
artifacts = self.resolver.resolve_artifacts(pool)
@@ -128,7 +126,7 @@ class ArtifactResolverTests(unittest.TestCase):
morph = FakeChunkMorphology('chunk', ['chunk-runtime'])
source = morphlib.source.Source(
- self.repo, 'ref', 'sha1', morph, 'chunk.morph')
+ 'repo', 'ref', 'sha1', morph, 'chunk.morph')
pool.add(source)
artifacts = self.resolver.resolve_artifacts(pool)
@@ -145,7 +143,7 @@ class ArtifactResolverTests(unittest.TestCase):
morph = FakeChunkMorphology('chunk', ['chunk-runtime', 'chunk-devel'])
source = morphlib.source.Source(
- self.repo, 'ref', 'sha1', morph, 'chunk.morph')
+ 'repo', 'ref', 'sha1', morph, 'chunk.morph')
pool.add(source)
artifacts = self.resolver.resolve_artifacts(pool)
@@ -175,7 +173,7 @@ class ArtifactResolverTests(unittest.TestCase):
}
''')
stratum = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph, 'foo.morph')
+ 'repo', 'original/ref', 'sha1', morph, 'foo.morph')
pool.add(stratum)
artifacts = self.resolver.resolve_artifacts(pool)
@@ -197,7 +195,7 @@ class ArtifactResolverTests(unittest.TestCase):
}
''')
system = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph, 'foo.morph')
+ 'repo', 'original/ref', 'sha1', morph, 'foo.morph')
pool.add(system)
artifacts = self.resolver.resolve_artifacts(pool)
@@ -213,13 +211,13 @@ class ArtifactResolverTests(unittest.TestCase):
morph = FakeChunkMorphology('chunk')
chunk = morphlib.source.Source(
- self.repo, 'ref', 'sha1', morph, 'chunk.morph')
+ 'repo', 'ref', 'sha1', morph, 'chunk.morph')
pool.add(chunk)
morph = FakeStratumMorphology(
'stratum', [('chunk', 'chunk', 'repo', 'ref')])
stratum = morphlib.source.Source(
- self.repo, 'ref', 'sha1', morph, 'stratum.morph')
+ 'repo', 'ref', 'sha1', morph, 'stratum.morph')
pool.add(stratum)
artifacts = self.resolver.resolve_artifacts(pool)
@@ -243,7 +241,7 @@ class ArtifactResolverTests(unittest.TestCase):
morph = FakeChunkMorphology('chunk', ['chunk-devel', 'chunk-runtime'])
chunk = morphlib.source.Source(
- self.repo, 'ref', 'sha1', morph, 'chunk.morph')
+ 'repo', 'ref', 'sha1', morph, 'chunk.morph')
pool.add(chunk)
morph = FakeStratumMorphology(
@@ -252,7 +250,7 @@ class ArtifactResolverTests(unittest.TestCase):
('chunk-runtime', 'chunk', 'repo', 'ref')
])
stratum = morphlib.source.Source(
- self.repo, 'ref', 'sha1', morph, 'stratum.morph')
+ 'repo', 'ref', 'sha1', morph, 'stratum.morph')
pool.add(stratum)
artifacts = self.resolver.resolve_artifacts(pool)
@@ -283,7 +281,7 @@ class ArtifactResolverTests(unittest.TestCase):
morph = FakeChunkMorphology('chunk', ['chunk-devel', 'chunk-runtime'])
chunk = morphlib.source.Source(
- self.repo, 'ref', 'sha1', morph, 'chunk.morph')
+ 'repo', 'ref', 'sha1', morph, 'chunk.morph')
pool.add(chunk)
morph = FakeStratumMorphology(
@@ -291,7 +289,7 @@ class ArtifactResolverTests(unittest.TestCase):
('chunk-runtime', 'chunk', 'repo', 'ref')
])
stratum = morphlib.source.Source(
- self.repo, 'ref', 'sha1', morph, 'stratum.morph')
+ 'repo', 'ref', 'sha1', morph, 'stratum.morph')
pool.add(stratum)
artifacts = self.resolver.resolve_artifacts(pool)
@@ -315,12 +313,12 @@ class ArtifactResolverTests(unittest.TestCase):
morph = FakeChunkMorphology('foo')
foo_chunk = morphlib.source.Source(
- self.repo, 'ref', 'sha1', morph, 'foo.morph')
+ 'repo', 'ref', 'sha1', morph, 'foo.morph')
pool.add(foo_chunk)
morph = FakeChunkMorphology('bar')
bar_chunk = morphlib.source.Source(
- self.repo, 'ref', 'sha1', morph, 'bar.morph')
+ 'repo', 'ref', 'sha1', morph, 'bar.morph')
pool.add(bar_chunk)
morph = FakeStratumMorphology(
@@ -329,7 +327,7 @@ class ArtifactResolverTests(unittest.TestCase):
('bar', 'bar', 'repo', 'ref')
])
stratum = morphlib.source.Source(
- self.repo, 'ref', 'sha1', morph, 'stratum.morph')
+ 'repo', 'ref', 'sha1', morph, 'stratum.morph')
pool.add(stratum)
artifacts = self.resolver.resolve_artifacts(pool)
@@ -360,12 +358,12 @@ class ArtifactResolverTests(unittest.TestCase):
morph = FakeStratumMorphology('stratum1')
stratum1 = morphlib.source.Source(
- self.repo, 'ref', 'sha1', morph, 'stratum1.morph')
+ 'repo', 'ref', 'sha1', morph, 'stratum1.morph')
pool.add(stratum1)
morph = FakeStratumMorphology('stratum2', [], ['stratum1'])
stratum2 = morphlib.source.Source(
- self.repo, 'ref', 'sha1', morph, 'stratum2.morph')
+ 'repo', 'ref', 'sha1', morph, 'stratum2.morph')
pool.add(stratum2)
artifacts = self.resolver.resolve_artifacts(pool)
@@ -389,7 +387,7 @@ class ArtifactResolverTests(unittest.TestCase):
morph = FakeStratumMorphology('stratum1')
stratum1 = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph, 'stratum1.morph')
+ 'repo', 'original/ref', 'sha1', morph, 'stratum1.morph')
pool.add(stratum1)
morph = FakeStratumMorphology(
@@ -398,17 +396,17 @@ class ArtifactResolverTests(unittest.TestCase):
('chunk2', 'chunk2', 'repo', 'original/ref')
], ['stratum1'])
stratum2 = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph, 'stratum2.morph')
+ 'repo', 'original/ref', 'sha1', morph, 'stratum2.morph')
pool.add(stratum2)
morph = FakeChunkMorphology('chunk1')
chunk1 = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph, 'chunk1.morph')
+ 'repo', 'original/ref', 'sha1', morph, 'chunk1.morph')
pool.add(chunk1)
morph = FakeChunkMorphology('chunk2')
chunk2 = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph, 'chunk2.morph')
+ 'repo', 'original/ref', 'sha1', morph, 'chunk2.morph')
pool.add(chunk2)
artifacts = self.resolver.resolve_artifacts(pool)
@@ -447,7 +445,7 @@ class ArtifactResolverTests(unittest.TestCase):
morph = FakeStratumMorphology('stratum1')
stratum1 = morphlib.source.Source(
- self.repo, 'ref', 'sha1', morph, 'stratum1.morph')
+ 'repo', 'ref', 'sha1', morph, 'stratum1.morph')
pool.add(stratum1)
morph = morphlib.morph2.Morphology(
@@ -462,12 +460,12 @@ class ArtifactResolverTests(unittest.TestCase):
}
''')
system = morphlib.source.Source(
- self.repo, 'ref', 'sha1', morph, 'system.morph')
+ 'repo', 'ref', 'sha1', morph, 'system.morph')
pool.add(system)
morph = FakeStratumMorphology('stratum2', [], ['stratum1'])
stratum2 = morphlib.source.Source(
- self.repo, 'ref', 'sha1', morph, 'stratum2.morph')
+ 'repo', 'ref', 'sha1', morph, 'stratum2.morph')
pool.add(stratum2)
artifacts = self.resolver.resolve_artifacts(pool)
@@ -527,22 +525,22 @@ class ArtifactResolverTests(unittest.TestCase):
}
''')
stratum = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph, 'stratum.morph')
+ 'repo', 'original/ref', 'sha1', morph, 'stratum.morph')
pool.add(stratum)
morph = FakeChunkMorphology('chunk1')
chunk1 = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph, 'chunk1.morph')
+ 'repo', 'original/ref', 'sha1', morph, 'chunk1.morph')
pool.add(chunk1)
morph = FakeChunkMorphology('chunk2')
chunk2 = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph, 'chunk2.morph')
+ 'repo', 'original/ref', 'sha1', morph, 'chunk2.morph')
pool.add(chunk2)
morph = FakeChunkMorphology('chunk3')
chunk3 = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph, 'chunk3.morph')
+ 'repo', 'original/ref', 'sha1', morph, 'chunk3.morph')
pool.add(chunk3)
artifacts = self.resolver.resolve_artifacts(pool)
@@ -581,7 +579,7 @@ class ArtifactResolverTests(unittest.TestCase):
morph = FakeChunkMorphology('chunk')
chunk = morphlib.source.Source(
- self.repo, 'ref', 'sha1', morph, 'chunk.morph')
+ 'repo', 'ref', 'sha1', morph, 'chunk.morph')
pool.add(chunk)
morph = FakeStratumMorphology(
@@ -589,7 +587,7 @@ class ArtifactResolverTests(unittest.TestCase):
('chunk-runtime', 'chunk', 'repo', 'ref')
])
stratum = morphlib.source.Source(
- self.repo, 'ref', 'sha1', morph, 'stratum.morph')
+ 'repo', 'ref', 'sha1', morph, 'stratum.morph')
pool.add(stratum)
self.assertRaises(
@@ -601,12 +599,12 @@ class ArtifactResolverTests(unittest.TestCase):
morph = FakeStratumMorphology('stratum1', [], ['stratum2'])
stratum1 = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph, 'stratum1.morph')
+ 'repo', 'original/ref', 'sha1', morph, 'stratum1.morph')
pool.add(stratum1)
morph = FakeStratumMorphology('stratum2', [], ['stratum1'])
stratum2 = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph, 'stratum2.morph')
+ 'repo', 'original/ref', 'sha1', morph, 'stratum2.morph')
pool.add(stratum2)
self.assertRaises(morphlib.artifactresolver.MutualDependencyError,
@@ -621,7 +619,7 @@ class ArtifactResolverTests(unittest.TestCase):
('chunk2', 'chunk2', 'repo', 'original/ref')
], [])
stratum1 = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph, 'stratum1.morph')
+ 'repo', 'original/ref', 'sha1', morph, 'stratum1.morph')
pool.add(stratum1)
morph = FakeStratumMorphology(
@@ -630,17 +628,17 @@ class ArtifactResolverTests(unittest.TestCase):
('chunk1', 'chunk1', 'repo', 'original/ref')
], ['stratum1'])
stratum2 = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph, 'stratum2.morph')
+ 'repo', 'original/ref', 'sha1', morph, 'stratum2.morph')
pool.add(stratum2)
morph = FakeChunkMorphology('chunk1')
chunk1 = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph, 'chunk1.morph')
+ 'repo', 'original/ref', 'sha1', morph, 'chunk1.morph')
pool.add(chunk1)
morph = FakeChunkMorphology('chunk2')
chunk2 = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph, 'chunk2.morph')
+ 'repo', 'original/ref', 'sha1', morph, 'chunk2.morph')
pool.add(chunk2)
self.assertRaises(morphlib.artifactresolver.MutualDependencyError,
@@ -677,12 +675,12 @@ class ArtifactResolverTests(unittest.TestCase):
}
''')
stratum = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph, 'stratum.morph')
+ 'repo', 'original/ref', 'sha1', morph, 'stratum.morph')
pool.add(stratum)
morph = FakeChunkMorphology('chunk')
chunk = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph, 'chunk.morph')
+ 'repo', 'original/ref', 'sha1', morph, 'chunk.morph')
pool.add(chunk)
artifacts = self.resolver.resolve_artifacts(pool)
@@ -727,17 +725,17 @@ class ArtifactResolverTests(unittest.TestCase):
}
''')
stratum = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph, 'stratum.morph')
+ 'repo', 'original/ref', 'sha1', morph, 'stratum.morph')
pool.add(stratum)
morph = FakeChunkMorphology('chunk1')
chunk1 = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph, 'chunk1.morph')
+ 'repo', 'original/ref', 'sha1', morph, 'chunk1.morph')
pool.add(chunk1)
morph = FakeChunkMorphology('chunk2')
chunk2 = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph, 'chunk2.morph')
+ 'repo', 'original/ref', 'sha1', morph, 'chunk2.morph')
pool.add(chunk2)
self.assertRaises(morphlib.artifactresolver.DependencyOrderError,
@@ -762,12 +760,12 @@ class ArtifactResolverTests(unittest.TestCase):
}
''')
stratum = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph, 'stratum.morph')
+ 'repo', 'original/ref', 'sha1', morph, 'stratum.morph')
pool.add(stratum)
morph = FakeChunkMorphology('chunk')
chunk = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph, 'chunk.morph')
+ 'repo', 'original/ref', 'sha1', morph, 'chunk.morph')
pool.add(chunk)
self.assertRaises(morphlib.artifactresolver.DependencyFormatError,
diff --git a/morphlib/buildgraph.py b/morphlib/buildgraph.py
index 444d5f5f..687dbb13 100644
--- a/morphlib/buildgraph.py
+++ b/morphlib/buildgraph.py
@@ -69,7 +69,7 @@ class BuildGraph(object):
def _realise_system_dependencies(self, system, queue, source_pool):
for stratum_name in system.morphology['strata']:
stratum = source_pool.lookup(
- system.repo.original_name,
+ system.repo_name,
system.original_ref,
'%s.morph' % stratum_name)
@@ -82,7 +82,7 @@ class BuildGraph(object):
if stratum.morphology['build-depends']:
for stratum_name in stratum.morphology['build-depends']:
other_stratum = source_pool.lookup(
- stratum.repo.original_name,
+ stratum.repo_name,
stratum.original_ref,
'%s.morph' % stratum_name)
strata.append(other_stratum)
diff --git a/morphlib/buildgraph_tests.py b/morphlib/buildgraph_tests.py
index d344592c..18abcb6c 100644
--- a/morphlib/buildgraph_tests.py
+++ b/morphlib/buildgraph_tests.py
@@ -25,7 +25,6 @@ class BuildGraphTests(unittest.TestCase):
def setUp(self):
self.graph = morphlib.buildgraph.BuildGraph()
- self.repo = morphlib.cachedrepo.CachedRepo('repo', 'url', 'path')
def test_create_empty_build_order_for_empty_pool(self):
pool = morphlib.sourcepool.SourcePool()
@@ -47,7 +46,7 @@ class BuildGraphTests(unittest.TestCase):
}
''')
source = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph, 'foo.morph')
+ 'repo', 'original/ref', 'sha1', morph, 'foo.morph')
pool.add(source)
order = self.graph.compute_build_order(pool)
@@ -67,7 +66,7 @@ class BuildGraphTests(unittest.TestCase):
}
''')
source = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph, 'foo.morph')
+ 'repo', 'original/ref', 'sha1', morph, 'foo.morph')
pool.add(source)
order = self.graph.compute_build_order(pool)
@@ -87,7 +86,7 @@ class BuildGraphTests(unittest.TestCase):
}
''')
source = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph, 'foo.morph')
+ 'repo', 'original/ref', 'sha1', morph, 'foo.morph')
pool.add(source)
order = self.graph.compute_build_order(pool)
@@ -114,7 +113,7 @@ class BuildGraphTests(unittest.TestCase):
}
''')
stratum = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph, 'stratum.morph')
+ 'repo', 'original/ref', 'sha1', morph, 'stratum.morph')
pool.add(stratum)
morph = morphlib.morph2.Morphology(
@@ -129,7 +128,7 @@ class BuildGraphTests(unittest.TestCase):
}
''')
chunk = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph, 'chunk.morph')
+ 'repo', 'original/ref', 'sha1', morph, 'chunk.morph')
pool.add(chunk)
order = self.graph.compute_build_order(pool)
@@ -160,7 +159,7 @@ class BuildGraphTests(unittest.TestCase):
}
''')
stratum = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph, 'stratum.morph')
+ 'repo', 'original/ref', 'sha1', morph, 'stratum.morph')
pool.add(stratum)
morph = morphlib.morph2.Morphology(
@@ -175,7 +174,7 @@ class BuildGraphTests(unittest.TestCase):
}
''')
chunk = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph, 'chunk.morph')
+ 'repo', 'original/ref', 'sha1', morph, 'chunk.morph')
pool.add(chunk)
order = self.graph.compute_build_order(pool)
@@ -215,7 +214,7 @@ class BuildGraphTests(unittest.TestCase):
}
''')
stratum = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph, 'stratum.morph')
+ 'repo', 'original/ref', 'sha1', morph, 'stratum.morph')
pool.add(stratum)
morph = morphlib.morph2.Morphology(
@@ -226,7 +225,7 @@ class BuildGraphTests(unittest.TestCase):
}
''')
first_chunk = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph, 'first-chunk.morph')
+ 'repo', 'original/ref', 'sha1', morph, 'first-chunk.morph')
pool.add(first_chunk)
morph = morphlib.morph2.Morphology(
@@ -237,7 +236,7 @@ class BuildGraphTests(unittest.TestCase):
}
''')
second_chunk = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph, 'second-chunk.morph')
+ 'repo', 'original/ref', 'sha1', morph, 'second-chunk.morph')
pool.add(second_chunk)
morph = morphlib.morph2.Morphology(
@@ -248,7 +247,7 @@ class BuildGraphTests(unittest.TestCase):
}
''')
third_chunk = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph, 'third-chunk.morph')
+ 'repo', 'original/ref', 'sha1', morph, 'third-chunk.morph')
pool.add(third_chunk)
order = self.graph.compute_build_order(pool)
@@ -300,7 +299,7 @@ class BuildGraphTests(unittest.TestCase):
}
''')
stratum = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph, 'stratum.morph')
+ 'repo', 'original/ref', 'sha1', morph, 'stratum.morph')
pool.add(stratum)
morph = morphlib.morph2.Morphology(
@@ -311,7 +310,7 @@ class BuildGraphTests(unittest.TestCase):
}
''')
first_chunk = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph, 'first-chunk.morph')
+ 'repo', 'original/ref', 'sha1', morph, 'first-chunk.morph')
pool.add(first_chunk)
morph = morphlib.morph2.Morphology(
@@ -322,7 +321,7 @@ class BuildGraphTests(unittest.TestCase):
}
''')
second_chunk = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph, 'second-chunk.morph')
+ 'repo', 'original/ref', 'sha1', morph, 'second-chunk.morph')
pool.add(second_chunk)
morph = morphlib.morph2.Morphology(
@@ -333,7 +332,7 @@ class BuildGraphTests(unittest.TestCase):
}
''')
third_chunk = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph, 'third-chunk.morph')
+ 'repo', 'original/ref', 'sha1', morph, 'third-chunk.morph')
pool.add(third_chunk)
order = self.graph.compute_build_order(pool)
@@ -361,7 +360,7 @@ class BuildGraphTests(unittest.TestCase):
}
''')
first_stratum = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph,
+ 'repo', 'original/ref', 'sha1', morph,
'first-stratum.morph')
pool.add(first_stratum)
@@ -376,7 +375,7 @@ class BuildGraphTests(unittest.TestCase):
}
''')
second_stratum = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph,
+ 'repo', 'original/ref', 'sha1', morph,
'second-stratum.morph')
pool.add(second_stratum)
@@ -391,7 +390,7 @@ class BuildGraphTests(unittest.TestCase):
}
''')
third_stratum = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph,
+ 'repo', 'original/ref', 'sha1', morph,
'third-stratum.morph')
pool.add(third_stratum)
@@ -418,7 +417,7 @@ class BuildGraphTests(unittest.TestCase):
}
''')
first_stratum = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph,
+ 'repo', 'original/ref', 'sha1', morph,
'first-stratum.morph')
pool.add(first_stratum)
@@ -445,7 +444,7 @@ class BuildGraphTests(unittest.TestCase):
}
''')
second_stratum = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph,
+ 'repo', 'original/ref', 'sha1', morph,
'second-stratum.morph')
pool.add(second_stratum)
@@ -457,7 +456,7 @@ class BuildGraphTests(unittest.TestCase):
}
''')
first_chunk = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph, 'first-chunk.morph')
+ 'repo', 'original/ref', 'sha1', morph, 'first-chunk.morph')
pool.add(first_chunk)
morph = morphlib.morph2.Morphology(
@@ -468,7 +467,7 @@ class BuildGraphTests(unittest.TestCase):
}
''')
second_chunk = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph, 'second-chunk.morph')
+ 'repo', 'original/ref', 'sha1', morph, 'second-chunk.morph')
pool.add(second_chunk)
order = self.graph.compute_build_order(pool)
@@ -498,7 +497,7 @@ class BuildGraphTests(unittest.TestCase):
}
''')
first_stratum = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph,
+ 'repo', 'original/ref', 'sha1', morph,
'first-stratum.morph')
pool.add(first_stratum)
@@ -510,7 +509,7 @@ class BuildGraphTests(unittest.TestCase):
}
''')
second_stratum = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph,
+ 'repo', 'original/ref', 'sha1', morph,
'second-stratum.morph')
pool.add(second_stratum)
@@ -526,7 +525,7 @@ class BuildGraphTests(unittest.TestCase):
}
''')
system = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph, 'system.morph')
+ 'repo', 'original/ref', 'sha1', morph, 'system.morph')
pool.add(system)
order = self.graph.compute_build_order(pool)
@@ -554,7 +553,7 @@ class BuildGraphTests(unittest.TestCase):
}
''')
first_stratum = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph,
+ 'repo', 'original/ref', 'sha1', morph,
'first-stratum.morph')
pool.add(first_stratum)
@@ -569,7 +568,7 @@ class BuildGraphTests(unittest.TestCase):
}
''')
second_stratum = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph,
+ 'repo', 'original/ref', 'sha1', morph,
'second-stratum.morph')
pool.add(second_stratum)
@@ -599,7 +598,7 @@ class BuildGraphTests(unittest.TestCase):
}
''')
first_stratum = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph,
+ 'repo', 'original/ref', 'sha1', morph,
'first-stratum.morph')
pool.add(first_stratum)
@@ -626,7 +625,7 @@ class BuildGraphTests(unittest.TestCase):
}
''')
second_stratum = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph,
+ 'repo', 'original/ref', 'sha1', morph,
'second-stratum.morph')
pool.add(second_stratum)
@@ -638,7 +637,7 @@ class BuildGraphTests(unittest.TestCase):
}
''')
first_chunk = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph,
+ 'repo', 'original/ref', 'sha1', morph,
'first-chunk.morph')
pool.add(first_chunk)
@@ -650,7 +649,7 @@ class BuildGraphTests(unittest.TestCase):
}
''')
second_chunk = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph,
+ 'repo', 'original/ref', 'sha1', morph,
'second-chunk.morph')
pool.add(second_chunk)
@@ -691,7 +690,7 @@ class BuildGraphTests(unittest.TestCase):
}
''')
first_stratum = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph,
+ 'repo', 'original/ref', 'sha1', morph,
'first-stratum.morph')
pool.add(first_stratum)
@@ -718,7 +717,7 @@ class BuildGraphTests(unittest.TestCase):
}
''')
second_stratum = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph,
+ 'repo', 'original/ref', 'sha1', morph,
'second-stratum.morph')
pool.add(second_stratum)
@@ -730,7 +729,7 @@ class BuildGraphTests(unittest.TestCase):
}
''')
first_chunk = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph,
+ 'repo', 'original/ref', 'sha1', morph,
'first-chunk.morph')
pool.add(first_chunk)
@@ -742,7 +741,7 @@ class BuildGraphTests(unittest.TestCase):
}
''')
second_chunk = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph,
+ 'repo', 'original/ref', 'sha1', morph,
'second-chunk.morph')
pool.add(second_chunk)
@@ -754,7 +753,7 @@ class BuildGraphTests(unittest.TestCase):
}
''')
second_chunk = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph,
+ 'repo', 'original/ref', 'sha1', morph,
'third-chunk.morph')
pool.add(second_chunk)
@@ -787,7 +786,7 @@ class BuildGraphTests(unittest.TestCase):
}
''')
stratum = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph, 'stratum.morph')
+ 'repo', 'original/ref', 'sha1', morph, 'stratum.morph')
pool.add(stratum)
morph = morphlib.morph2.Morphology(
@@ -798,7 +797,7 @@ class BuildGraphTests(unittest.TestCase):
}
''')
first_chunk = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph, 'first-chunk.morph')
+ 'repo', 'original/ref', 'sha1', morph, 'first-chunk.morph')
pool.add(first_chunk)
morph = morphlib.morph2.Morphology(
@@ -809,7 +808,7 @@ class BuildGraphTests(unittest.TestCase):
}
''')
second_chunk = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph, 'second-chunk.morph')
+ 'repo', 'original/ref', 'sha1', morph, 'second-chunk.morph')
pool.add(second_chunk)
self.assertRaises(morphlib.buildgraph.DependencyOrderError,
@@ -834,7 +833,7 @@ class BuildGraphTests(unittest.TestCase):
}
''')
stratum = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph, 'stratum.morph')
+ 'repo', 'original/ref', 'sha1', morph, 'stratum.morph')
pool.add(stratum)
morph = morphlib.morph2.Morphology(
@@ -845,7 +844,7 @@ class BuildGraphTests(unittest.TestCase):
}
''')
chunk = morphlib.source.Source(
- self.repo, 'original/ref', 'sha1', morph, 'chunk.morph')
+ 'repo', 'original/ref', 'sha1', morph, 'chunk.morph')
pool.add(chunk)
self.assertRaises(morphlib.buildgraph.DependencyFormatError,
diff --git a/morphlib/cachekeycomputer_tests.py b/morphlib/cachekeycomputer_tests.py
index f9ffb387..923cc9f9 100644
--- a/morphlib/cachekeycomputer_tests.py
+++ b/morphlib/cachekeycomputer_tests.py
@@ -81,8 +81,7 @@ class CacheKeyComputerTests(unittest.TestCase):
]
}''',
}.iteritems():
- repo = morphlib.cachedrepo.CachedRepo('repo', 'url', 'path')
- source = morphlib.source.Source(repo, 'original/ref', 'sha',
+ source = morphlib.source.Source('repo', 'original/ref', 'sha',
morphlib.morph2.Morphology(text), name)
pool.add(source)
self.sources[name] = source
diff --git a/morphlib/source.py b/morphlib/source.py
index dc535a55..ff440f0b 100644
--- a/morphlib/source.py
+++ b/morphlib/source.py
@@ -24,6 +24,7 @@ class Source(object):
Has the following properties:
* ``repo`` -- the git repository which contains the source
+ * ``repo_name`` -- name of the git repository which contains the source
* ``original_ref`` -- the git ref provided by the user or a morphology
* ``sha1`` -- the absolute git commit id for the revision we use
* ``morphology`` -- the in-memory representation of the morphology we use
@@ -36,9 +37,10 @@ class Source(object):
'''
- def __init__(self, repo, original_ref, sha1, morphology, filename):
+ def __init__(self, repo_name, original_ref, sha1, morphology, filename):
assert isinstance(morphology, morphlib.morph2.Morphology)
- self.repo = repo
+ self.repo = None
+ self.repo_name = repo_name
self.original_ref = original_ref
self.sha1 = sha1
self.morphology = morphology
@@ -57,6 +59,6 @@ class Source(object):
return source in self.dependencies
def __str__(self): # pragma: no cover
- return '%s|%s|%s' % (self.repo.original_name,
+ return '%s|%s|%s' % (self.repo_name,
self.original_ref,
self.filename)
diff --git a/morphlib/source_tests.py b/morphlib/source_tests.py
index 3a396c63..a539da29 100644
--- a/morphlib/source_tests.py
+++ b/morphlib/source_tests.py
@@ -29,20 +29,23 @@ class SourceTests(unittest.TestCase):
'''
def setUp(self):
- self.repo = 'foo.repo'
+ self.repo_name = 'foo.repo'
self.original_ref = 'original/ref'
self.sha1 = 'CAFEF00D'
self.morphology = morphlib.morph2.Morphology(self.morphology_text)
self.filename = 'foo.morph'
- self.source = morphlib.source.Source(self.repo, self.original_ref,
- self.sha1, self.morphology,
- self.filename)
- self.other = morphlib.source.Source(self.repo, self.original_ref,
- self.sha1, self.morphology,
- self.filename)
+ self.source = morphlib.source.Source(
+ self.repo_name,self.original_ref, self.sha1, self.morphology,
+ self.filename)
+ self.other = morphlib.source.Source(
+ self.repo_name, self.original_ref, self.sha1, self.morphology,
+ self.filename)
- def test_sets_repo(self):
- self.assertEqual(self.source.repo, self.repo)
+ def test_sets_repo_name(self):
+ self.assertEqual(self.source.repo_name, self.repo_name)
+
+ def test_sets_repo_to_none_initially(self):
+ self.assertEqual(self.source.repo, None)
def test_sets_original_ref(self):
self.assertEqual(self.source.original_ref, self.original_ref)
diff --git a/morphlib/sourcepool.py b/morphlib/sourcepool.py
index 0f144ef2..b91f0f25 100644
--- a/morphlib/sourcepool.py
+++ b/morphlib/sourcepool.py
@@ -22,25 +22,25 @@ class SourcePool(object):
self._sources = {}
self._order = []
- def _key(self, reponame, original_ref, filename):
- return (reponame, original_ref, filename)
+ def _key(self, repo_name, original_ref, filename):
+ return (repo_name, original_ref, filename)
def add(self, source):
'''Add a source to the pool.'''
- key = self._key(source.repo.original_name,
+ key = self._key(source.repo_name,
source.original_ref,
source.filename)
self._sources[key] = source
self._order.append(source)
- def lookup(self, reponame, original_ref, filename):
+ def lookup(self, repo_name, original_ref, filename):
'''Find a source in the pool.
Raise KeyError if it is not found.
'''
- key = self._key(reponame, original_ref, filename)
+ key = self._key(repo_name, original_ref, filename)
return self._sources[key]
def __iter__(self):
diff --git a/morphlib/sourcepool_tests.py b/morphlib/sourcepool_tests.py
index 60f09dfc..9243bb1d 100644
--- a/morphlib/sourcepool_tests.py
+++ b/morphlib/sourcepool_tests.py
@@ -22,8 +22,7 @@ import morphlib
class DummySource(object):
def __init__(self):
- self.repo = morphlib.cachedrepo.CachedRepo(
- 'repo', 'repo url', 'repo path')
+ self.repo_name = 'repo'
self.original_ref = 'original/ref'
self.sha1 = 'dummy.sha1'
self.filename = 'dummy.morph'
@@ -48,7 +47,7 @@ class SourcePoolTests(unittest.TestCase):
def test_looks_up_source(self):
self.pool.add(self.source)
- result = self.pool.lookup(self.source.repo.original_name,
+ result = self.pool.lookup(self.source.repo_name,
self.source.original_ref,
self.source.filename)
self.assertEqual(result, self.source)
@@ -56,7 +55,7 @@ class SourcePoolTests(unittest.TestCase):
def test_lookup_raises_keyerror_if_not_found(self):
self.assertRaises(KeyError,
self.pool.lookup,
- self.source.repo.original_name,
+ self.source.repo_name,
self.source.original_ref,
self.source.filename)