diff options
-rw-r--r-- | morphlib/execute_tests.py | 23 | ||||
-rw-r--r-- | morphlib/morphology.py | 7 | ||||
-rw-r--r-- | morphlib/morphology_tests.py | 24 |
3 files changed, 17 insertions, 37 deletions
diff --git a/morphlib/execute_tests.py b/morphlib/execute_tests.py index 0d785809..043b9e2c 100644 --- a/morphlib/execute_tests.py +++ b/morphlib/execute_tests.py @@ -35,17 +35,6 @@ class ExecuteTests(unittest.TestCase): self.assertRaises(morphlib.execute.CommandFailure, self.e.run, ['false']) - def test_run_commandfailure_contains_both_stdout_and_stderr_output(self): - try: - self.e.run(['printf "%s%s\n" foo msg; ' - 'printf "%s%s" bar msg 1>&2; ' - 'exit 1']) - except morphlib.execute.CommandFailure, e: - self.assert_('foomsg' in str(e)) - self.assert_('barmsg' in str(e)) - else: - self.assertTrue(False) - def test_returns_stdout_from_all_commands(self): self.assertEqual(self.e.run(['echo foo', 'echo bar']), ['foo\n', 'bar\n']) @@ -60,18 +49,6 @@ class ExecuteTests(unittest.TestCase): self.assertRaises(morphlib.execute.CommandFailure, self.e.runv, ['false']) - def test_runv_commandfailure_contains_both_stdout_and_stderr_output(self): - try: - self.e.runv(['sh', '-c', - 'printf "%s%s\n" foo msg; ' - 'printf "%s%s" bar msg 1>&2; ' - 'exit 1']) - except morphlib.execute.CommandFailure, e: - self.assert_('foomsg' in str(e)) - self.assert_('barmsg' in str(e)) - else: - self.assertTrue(False) - def test_runv_sets_working_directory(self): self.assertEqual(self.e.runv(['pwd']), '/\n') diff --git a/morphlib/morphology.py b/morphlib/morphology.py index 73387a9c..4fe6344a 100644 --- a/morphlib/morphology.py +++ b/morphlib/morphology.py @@ -32,10 +32,11 @@ class Morphology(object): self._dict = json.load(self._fp) if self.kind == 'stratum': - for name, source in self.sources.iteritems(): + for source in self.sources: if 'repo' not in source: - source['repo'] = name - source['repo'] = self._join_with_baseurl(source['repo']) + source['repo'] = source['name'] + repo = self._join_with_baseurl(source['repo']) + source['repo'] = unicode(repo) self.filename = self._fp.name diff --git a/morphlib/morphology_tests.py b/morphlib/morphology_tests.py index a19c5f90..d1e052a8 100644 --- a/morphlib/morphology_tests.py +++ b/morphlib/morphology_tests.py @@ -100,18 +100,19 @@ class MorphologyTests(unittest.TestCase): "name": "hello", "kind": "stratum", "sources": - { - "foo": { + [ + { + "name": "foo", "ref": "ref" } - } + ] }''')) self.assertEqual(morph.kind, 'stratum') self.assertEqual(morph.filename, 'mockfile') self.assertEqual(morph.sources, - { - 'foo': { 'repo': 'foo/', 'ref': 'ref' }, - }) + [ + { 'name': 'foo', 'repo': 'foo/', 'ref': 'ref' }, + ]) def test_accepts_valid_system_morphology(self): morph = morphlib.morphology.Morphology( @@ -139,22 +140,23 @@ class StratumRepoTests(unittest.TestCase): "name": "hello", "kind": "stratum", "sources": - { - "foo": { + [ + { + "name": "foo", "repo": "%s", "ref": "HEAD" } - } + ] }''' % repo), baseurl='git://git.baserock.org/') def test_leaves_absolute_repo_in_source_dict_as_is(self): stratum = self.stratum('git://git.baserock.org/foo/') - self.assertEqual(stratum.sources['foo']['repo'], + self.assertEqual(stratum.sources[0]['repo'], 'git://git.baserock.org/foo/') def test_makes_relative_repo_url_absolute_in_source_dict(self): stratum = self.stratum('foo') - self.assertEqual(stratum.sources['foo']['repo'], + self.assertEqual(stratum.sources[0]['repo'], 'git://git.baserock.org/foo/') |