diff options
author | Tiago Gomes <tiago.gomes@codethink.co.uk> | 2015-11-20 13:57:31 +0000 |
---|---|---|
committer | Pedro Alvarez <pedro.alvarez@codethink.co.uk> | 2016-03-25 02:02:26 +0000 |
commit | 110d04440c5d6ec75bf252802badfe5b992bb38e (patch) | |
tree | 42aca1865b2610c3210ac888991fc3b509cff032 /morphlib/morphloader_tests.py | |
parent | 2f22021e81f65819b3a6f88ac68d20496bd56b15 (diff) | |
download | morph-baserock/pedroalvarez/defv8.tar.gz |
WIP Add support for multiple sources per chunkbaserock/pedroalvarez/defv8
TODO:
- Add API to the cache server to retrieve a submodule commit from a
given path.
- Fix cross-bootstrap command.
Change-Id: I3475c2bcb648a272fee33bc878a521f79d4e6581
Diffstat (limited to 'morphlib/morphloader_tests.py')
-rw-r--r-- | morphlib/morphloader_tests.py | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/morphlib/morphloader_tests.py b/morphlib/morphloader_tests.py index 43c0b7fd..78eb085a 100644 --- a/morphlib/morphloader_tests.py +++ b/morphlib/morphloader_tests.py @@ -87,6 +87,63 @@ class MorphologyLoaderTests(unittest.TestCase): morphlib.morphloader.MorphologyValidationError, self.loader.load_from_string, 'kind: chunk', 'test') + def test_fails_to_validate_stratum_with_a_missing_path(self): + m = morphlib.morphology.Morphology({ + 'kind': 'stratum', + 'name': 'foo', + 'build-depends': [], + 'chunks': [ + { + 'name': 'chunk', + 'repo': 'test:repo', + 'ref': 'master', + 'build-system': 'manual', + 'build-depends': [], + 'extra-sources': + [ + { + 'repo': 'foo', + 'path': 'somepath', + 'extra-sources': + [ + { + 'repo': 'bar', + 'ref': 'master' + } + ] + } + ] + } + ] + }) + self.assertRaises( + morphlib.morphloader.MissingFieldError, self.loader.validate, m) + + def test_fails_to_validate_stratum_with_invalid_path(self): + m = morphlib.morphology.Morphology({ + 'kind': 'stratum', + 'name': 'foo', + 'build-depends': [], + 'chunks': [ + { + 'name': 'chunk', + 'repo': 'test:repo', + 'ref': 'master', + 'build-system': 'manual', + 'build-depends': [], + 'extra-sources': + [ + { + 'repo': 'foo', + 'path': '../foo' + } + ] + } + ] + }) + self.assertRaises( + morphlib.morphloader.InvalidPathError, self.loader.validate, m) + def test_fails_to_validate_stratum_which_build_depends_on_self(self): text = ''' name: bad-stratum @@ -309,6 +366,7 @@ class MorphologyLoaderTests(unittest.TestCase): pre-strip-commands: post-strip-commands: + extra-sources: [] products: [] system-integration: [] devices: [] @@ -341,6 +399,7 @@ class MorphologyLoaderTests(unittest.TestCase): morph: bar build-mode: bootstrap build-depends: [] + extra-sources: [] prefix: '/usr' products: [] ''')) |