diff options
author | Michał Górny <mgorny@gentoo.org> | 2017-10-27 20:23:27 +0200 |
---|---|---|
committer | Michał Górny <mgorny@gentoo.org> | 2017-10-27 20:23:27 +0200 |
commit | 2d69c2f2cd43fea3e4d153b3853a2eacf8aeac67 (patch) | |
tree | 3b6b83e675761fcda7ffe3d9af75d29527c8d0da /tests/test_recursiveloader.py | |
parent | 9375abd7adf21b63d48eb8be59684e4924c3bea7 (diff) | |
download | gemato-2d69c2f2cd43fea3e4d153b3853a2eacf8aeac67.tar.gz |
recursiveloader: Iterate over Manifests from most specific first
Ensure that when iterating over Manifests, the more specific paths
will come before the less specific. It is important for updates since
changes to deeper Manifests will affect their checksums in higher
Manifests.
Diffstat (limited to 'tests/test_recursiveloader.py')
-rw-r--r-- | tests/test_recursiveloader.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/test_recursiveloader.py b/tests/test_recursiveloader.py index 8eac573..29bfb0f 100644 --- a/tests/test_recursiveloader.py +++ b/tests/test_recursiveloader.py @@ -75,6 +75,26 @@ DATA test 0 MD5 d41d8cd98f00b204e9800998ecf8427e self.assertIn('sub/deeper/Manifest', m.loaded_manifests) self.assertIn('other/Manifest', m.loaded_manifests) + def test__iter_manifests_for_path_order(self): + m = gemato.recursiveloader.ManifestRecursiveLoader( + os.path.join(self.dir, 'Manifest')) + m.load_manifests_for_path('', recursive=True) + self.assertListEqual([d for d, k + in m._iter_manifests_for_path('sub/deeper')], + ['sub/deeper', 'sub', '']) + self.assertListEqual([d for d, k + in m._iter_manifests_for_path('other')], + ['other', '']) + + def test__iter_manifests_for_path_recursively_order(self): + m = gemato.recursiveloader.ManifestRecursiveLoader( + os.path.join(self.dir, 'Manifest')) + m.load_manifests_for_path('', recursive=True) + self.assertListEqual([d for d, k + in m._iter_manifests_for_path('sub', + recursive=True)], + ['sub/deeper', 'sub', '']) + def test_load_sub_manifest_recursively(self): m = gemato.recursiveloader.ManifestRecursiveLoader( os.path.join(self.dir, 'Manifest')) |