diff options
Diffstat (limited to 'morphlib/morphloader_tests.py')
-rw-r--r-- | morphlib/morphloader_tests.py | 110 |
1 files changed, 56 insertions, 54 deletions
diff --git a/morphlib/morphloader_tests.py b/morphlib/morphloader_tests.py index f4d2f9b6..d47ec750 100644 --- a/morphlib/morphloader_tests.py +++ b/morphlib/morphloader_tests.py @@ -59,21 +59,21 @@ build-system: dummy self.loader.parse_morphology_text, '- item1\n- item2\n', 'test') def test_fails_to_validate_dict_without_kind(self): - m = morphlib.morph3.Morphology({ + m = morphlib.morphology.Morphology({ 'invalid': 'field', }) self.assertRaises( morphlib.morphloader.MissingFieldError, self.loader.validate, m) def test_fails_to_validate_chunk_with_no_fields(self): - m = morphlib.morph3.Morphology({ + m = morphlib.morphology.Morphology({ 'kind': 'chunk', }) self.assertRaises( morphlib.morphloader.MissingFieldError, self.loader.validate, m) def test_fails_to_validate_chunk_with_invalid_field(self): - m = morphlib.morph3.Morphology({ + m = morphlib.morphology.Morphology({ 'kind': 'chunk', 'name': 'foo', 'invalid': 'field', @@ -82,7 +82,7 @@ build-system: dummy morphlib.morphloader.InvalidFieldError, self.loader.validate, m) def test_validate_requires_products_list(self): - m = morphlib.morph3.Morphology( + m = morphlib.morphology.Morphology( kind='chunk', name='foo', products={ @@ -98,7 +98,7 @@ build-system: dummy self.assertEqual(e.morphology_name, 'foo') def test_validate_requires_products_list_of_mappings(self): - m = morphlib.morph3.Morphology( + m = morphlib.morphology.Morphology( kind='chunk', name='foo', products=[ @@ -113,7 +113,7 @@ build-system: dummy self.assertEqual(e.morphology_name, 'foo') def test_validate_requires_products_list_required_fields(self): - m = morphlib.morph3.Morphology( + m = morphlib.morphology.Morphology( kind='chunk', name='foo', products=[ @@ -136,7 +136,7 @@ build-system: dummy self.assertEqual(exs[3].field, 'products[0].factiart') def test_validate_requires_products_list_include_is_list(self): - m = morphlib.morph3.Morphology( + m = morphlib.morphology.Morphology( kind='chunk', name='foo', products=[ @@ -154,7 +154,7 @@ build-system: dummy self.assertEqual(ex.morphology_name, 'foo') def test_validate_requires_products_list_include_is_list_of_strings(self): - m = morphlib.morph3.Morphology( + m = morphlib.morphology.Morphology( kind='chunk', name='foo', products=[ @@ -175,14 +175,14 @@ build-system: dummy def test_fails_to_validate_stratum_with_no_fields(self): - m = morphlib.morph3.Morphology({ + m = morphlib.morphology.Morphology({ 'kind': 'stratum', }) self.assertRaises( morphlib.morphloader.MissingFieldError, self.loader.validate, m) def test_fails_to_validate_stratum_with_invalid_field(self): - m = morphlib.morph3.Morphology({ + m = morphlib.morphology.Morphology({ 'kind': 'stratum', 'name': 'foo', 'invalid': 'field', @@ -191,7 +191,7 @@ build-system: dummy morphlib.morphloader.InvalidFieldError, self.loader.validate, m) def test_validate_requires_chunk_refs_in_stratum_to_be_strings(self): - m = morphlib.morph3.Morphology({ + m = morphlib.morphology.Morphology({ 'kind': 'stratum', 'name': 'foo', 'build-depends': [], @@ -209,7 +209,7 @@ build-system: dummy self.loader.validate(m) def test_fails_to_validate_stratum_with_empty_refs_for_a_chunk(self): - m = morphlib.morph3.Morphology({ + m = morphlib.morphology.Morphology({ 'kind': 'stratum', 'name': 'foo', 'build-depends': [], @@ -227,7 +227,7 @@ build-system: dummy self.loader.validate(m) def test_fails_to_validate_system_with_obsolete_system_kind_field(self): - m = morphlib.morph3.Morphology({ + m = morphlib.morphology.Morphology({ 'kind': 'system', 'name': 'foo', 'arch': 'x86_64', @@ -240,7 +240,7 @@ build-system: dummy morphlib.morphloader.ObsoleteFieldsError, self.loader.validate, m) def test_fails_to_validate_system_with_obsolete_disk_size_field(self): - m = morphlib.morph3.Morphology({ + m = morphlib.morphology.Morphology({ 'kind': 'system', 'name': 'foo', 'arch': 'x86_64', @@ -253,14 +253,14 @@ build-system: dummy morphlib.morphloader.ObsoleteFieldsError, self.loader.validate, m) def test_fails_to_validate_system_with_no_fields(self): - m = morphlib.morph3.Morphology({ + m = morphlib.morphology.Morphology({ 'kind': 'system', }) self.assertRaises( morphlib.morphloader.MissingFieldError, self.loader.validate, m) def test_fails_to_validate_system_with_invalid_field(self): - m = morphlib.morph3.Morphology( + m = morphlib.morphology.Morphology( kind="system", name="foo", arch="blah", @@ -272,14 +272,14 @@ build-system: dummy morphlib.morphloader.InvalidFieldError, self.loader.validate, m) def test_fails_to_validate_morphology_with_unknown_kind(self): - m = morphlib.morph3.Morphology({ + m = morphlib.morphology.Morphology({ 'kind': 'invalid', }) self.assertRaises( morphlib.morphloader.UnknownKindError, self.loader.validate, m) def test_validate_requires_unique_stratum_names_within_a_system(self): - m = morphlib.morph3.Morphology( + m = morphlib.morphology.Morphology( { "kind": "system", "name": "foo", @@ -301,7 +301,7 @@ build-system: dummy self.loader.validate, m) def test_validate_requires_unique_chunk_names_within_a_stratum(self): - m = morphlib.morph3.Morphology( + m = morphlib.morphology.Morphology( { "kind": "stratum", "name": "foo", @@ -322,7 +322,7 @@ build-system: dummy self.loader.validate, m) def test_validate_requires_a_valid_architecture(self): - m = morphlib.morph3.Morphology( + m = morphlib.morphology.Morphology( kind="system", name="foo", arch="blah", @@ -334,7 +334,7 @@ build-system: dummy self.loader.validate, m) def test_validate_normalises_architecture_armv7_to_armv7l(self): - m = morphlib.morph3.Morphology( + m = morphlib.morphology.Morphology( kind="system", name="foo", arch="armv7", @@ -345,7 +345,7 @@ build-system: dummy self.assertEqual(m['arch'], 'armv7l') def test_validate_requires_build_deps_for_chunks_in_strata(self): - m = morphlib.morph3.Morphology( + m = morphlib.morphology.Morphology( { "kind": "stratum", "name": "foo", @@ -365,7 +365,7 @@ build-system: dummy self.loader.validate, m) def test_validate_requires_build_deps_or_bootstrap_mode_for_strata(self): - m = morphlib.morph3.Morphology( + m = morphlib.morphology.Morphology( { "name": "stratum-no-bdeps-no-bootstrap", "kind": "stratum", @@ -395,7 +395,7 @@ build-system: dummy self.loader.validate(m) def test_validate_requires_chunks_in_strata(self): - m = morphlib.morph3.Morphology( + m = morphlib.morphology.Morphology( { "name": "stratum", "kind": "stratum", @@ -415,7 +415,7 @@ build-system: dummy self.loader.validate, m) def test_validate_requires_strata_in_system(self): - m = morphlib.morph3.Morphology( + m = morphlib.morphology.Morphology( name='system', kind='system', arch='testarch') @@ -425,7 +425,7 @@ build-system: dummy def test_validate_requires_list_of_strata_in_system(self): for v in (None, {}): - m = morphlib.morph3.Morphology( + m = morphlib.morphology.Morphology( name='system', kind='system', arch='testarch', @@ -437,7 +437,7 @@ build-system: dummy self.assertEqual(cm.exception.strata_type, type(v)) def test_validate_requires_non_empty_strata_in_system(self): - m = morphlib.morph3.Morphology( + m = morphlib.morphology.Morphology( name='system', kind='system', arch='testarch', @@ -447,7 +447,7 @@ build-system: dummy self.loader.validate, m) def test_validate_requires_stratum_specs_in_system(self): - m = morphlib.morph3.Morphology( + m = morphlib.morphology.Morphology( name='system', kind='system', arch='testarch', @@ -460,7 +460,7 @@ build-system: dummy def test_validate_requires_unique_deployment_names_in_cluster(self): subsystem = [{'morph': 'baz', 'deploy': {'foobar': None}}] - m = morphlib.morph3.Morphology( + m = morphlib.morphology.Morphology( name='cluster', kind='cluster', systems=[{'morph': 'foo', @@ -513,7 +513,7 @@ build-system: dummy self.assertEqual(morph['build-system'], 'dummy') def test_saves_to_string(self): - morph = morphlib.morph3.Morphology({ + morph = morphlib.morphology.Morphology({ 'name': 'foo', 'kind': 'chunk', 'build-system': 'dummy', @@ -529,7 +529,7 @@ build-system: dummy ''') def test_saves_to_file(self): - morph = morphlib.morph3.Morphology({ + morph = morphlib.morphology.Morphology({ 'name': 'foo', 'kind': 'chunk', 'build-system': 'dummy', @@ -548,7 +548,7 @@ build-system: dummy ''') def test_validate_does_not_set_defaults(self): - m = morphlib.morph3.Morphology({ + m = morphlib.morphology.Morphology({ 'kind': 'chunk', 'name': 'foo', }) @@ -556,7 +556,7 @@ build-system: dummy self.assertEqual(sorted(m.keys()), sorted(['kind', 'name'])) def test_sets_defaults_for_chunks(self): - m = morphlib.morph3.Morphology({ + m = morphlib.morphology.Morphology({ 'kind': 'chunk', 'name': 'foo', }) @@ -569,6 +569,7 @@ build-system: dummy 'name': 'foo', 'description': '', 'build-system': 'manual', + 'build-mode': 'staging', 'configure-commands': [], 'pre-configure-commands': [], @@ -589,10 +590,11 @@ build-system: dummy 'products': [], 'devices': [], 'max-jobs': None, + 'prefix': '/usr', }) def test_unsets_defaults_for_chunks(self): - m = morphlib.morph3.Morphology({ + m = morphlib.morphology.Morphology({ 'kind': 'chunk', 'name': 'foo', 'build-system': 'manual', @@ -606,7 +608,7 @@ build-system: dummy }) def test_sets_defaults_for_strata(self): - m = morphlib.morph3.Morphology({ + m = morphlib.morphology.Morphology({ 'kind': 'stratum', 'name': 'foo', 'chunks': [ @@ -637,6 +639,7 @@ build-system: dummy "morph": "bar", 'build-mode': 'bootstrap', 'build-depends': [], + 'prefix': '/usr', }, ], 'products': [], @@ -650,21 +653,22 @@ build-system: dummy { 'name': 'bar', "ref": "bar", - 'build-mode': 'bootstrap', + 'build-mode': 'staging', 'build-depends': [], + 'prefix': '/usr', }, ], } test_dict_with_build_depends = dict(test_dict) test_dict_with_build_depends["build-depends"] = [] - m = morphlib.morph3.Morphology(test_dict_with_build_depends) + m = morphlib.morphology.Morphology(test_dict_with_build_depends) self.loader.unset_defaults(m) self.assertEqual( dict(m), test_dict) def test_sets_defaults_for_system(self): - m = morphlib.morph3.Morphology( + m = morphlib.morphology.Morphology( kind='system', name='foo', arch='testarch', @@ -692,7 +696,7 @@ build-system: dummy dict(m)) def test_unsets_defaults_for_system(self): - m = morphlib.morph3.Morphology( + m = morphlib.morphology.Morphology( { 'description': '', 'kind': 'system', @@ -720,7 +724,7 @@ build-system: dummy }) def test_sets_defaults_for_cluster(self): - m = morphlib.morph3.Morphology( + m = morphlib.morphology.Morphology( name='foo', kind='cluster', systems=[ @@ -737,7 +741,7 @@ build-system: dummy 'deploy': {}}]) def test_unsets_defaults_for_cluster(self): - m = morphlib.morph3.Morphology( + m = morphlib.morphology.Morphology( name='foo', kind='cluster', description='', @@ -754,8 +758,8 @@ build-system: dummy [{'morph': 'foo'}, {'morph': 'bar'}]) - def test_sets_stratum_chunks_repo_and_morph_from_name(self): - m = morphlib.morph3.Morphology( + def test_sets_stratum_chunks_repo_from_name(self): + m = morphlib.morphology.Morphology( { "name": "foo", "kind": "stratum", @@ -771,10 +775,9 @@ build-system: dummy self.loader.set_defaults(m) self.loader.validate(m) self.assertEqual(m['chunks'][0]['repo'], 'le-chunk') - self.assertEqual(m['chunks'][0]['morph'], 'le-chunk') - def test_collapses_stratum_chunks_repo_and_morph_from_name(self): - m = morphlib.morph3.Morphology( + def test_collapses_stratum_chunks_repo_from_name(self): + m = morphlib.morphology.Morphology( { "name": "foo", "kind": "stratum", @@ -791,10 +794,9 @@ build-system: dummy self.loader.unset_defaults(m) self.assertTrue('repo' not in m['chunks'][0]) - self.assertTrue('morph' not in m['chunks'][0]) def test_convertes_max_jobs_to_an_integer(self): - m = morphlib.morph3.Morphology( + m = morphlib.morphology.Morphology( { "name": "foo", "kind": "chunk", @@ -827,7 +829,7 @@ build-system: dummy def test_warns_when_systems_refer_to_strata_with_repo_or_ref(self): for obsolete_field in ('repo', 'ref'): - m = morphlib.morph3.Morphology( + m = morphlib.morphology.Morphology( name="foo", kind="system", arch="testarch", @@ -850,7 +852,7 @@ build-system: dummy def test_warns_when_strata_refer_to_build_depends_with_repo_or_ref(self): for obsolete_field in ('repo', 'ref'): - m = morphlib.morph3.Morphology( + m = morphlib.morphology.Morphology( { 'name': 'foo', 'kind': 'stratum', @@ -883,7 +885,7 @@ build-system: dummy def test_unordered_asciibetically_after_ordered(self): # We only get morphologies with arbitrary keys in clusters - m = morphlib.morph3.Morphology( + m = morphlib.morphology.Morphology( name='foo', kind='cluster', systems=[ @@ -924,21 +926,21 @@ build-system: dummy self.assertEqual(s, self.loader.save_to_string(m)) def test_smoketest_multi_line_unicode(self): - m = morphlib.morph3.Morphology( + m = morphlib.morphology.Morphology( name=u'foo', description=u'1 2 3\n4 5 6\n7 8 9\n', ) s = self.loader.save_to_string(m) def test_smoketest_multi_line_unicode_encoded(self): - m = morphlib.morph3.Morphology( + m = morphlib.morphology.Morphology( name=u'foo \u263A'.encode('utf-8'), description=u'1 \u263A\n2 \u263A\n3 \u263A\n'.encode('utf-8'), ) s = self.loader.save_to_string(m) def test_smoketest_binary_garbage(self): - m = morphlib.morph3.Morphology( + m = morphlib.morphology.Morphology( description='\x92', ) s = self.loader.save_to_string(m) |