summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gemato/recursiveloader.py1
-rw-r--r--tests/test_profile.py83
-rw-r--r--tests/test_recursiveloader.py3
3 files changed, 19 insertions, 68 deletions
diff --git a/gemato/recursiveloader.py b/gemato/recursiveloader.py
index fd8f571..4888aee 100644
--- a/gemato/recursiveloader.py
+++ b/gemato/recursiveloader.py
@@ -374,6 +374,7 @@ class ManifestRecursiveLoader:
sort=sort,
openpgp_env=self.openpgp_env,
openpgp_keyid=self.openpgp_keyid)
+ f.flush()
return f.buffer.tell()
def _iter_unordered_manifests_for_path(self, path, recursive=False):
diff --git a/tests/test_profile.py b/tests/test_profile.py
index 0c17049..1d15561 100644
--- a/tests/test_profile.py
+++ b/tests/test_profile.py
@@ -40,7 +40,7 @@ DIRS = [
'profiles/updates',
]
PACKAGE_MANIFESTS = ['dev-foo/bar/Manifest']
-EXPECTED_MANIFESTS = PACKAGE_MANIFESTS + [
+EXPECTED_MANIFESTS = [
'dev-foo/Manifest',
'eclass/Manifest',
'licenses/Manifest',
@@ -126,6 +126,11 @@ EXPECTED_TYPES[BackwardsCompatEbuildRepositoryProfile].update({
'dev-foo/bar/files/test.patch': 'AUX',
})
+PKG_MANIFEST_SUFFIX = {
+ EbuildRepositoryProfile: '.gz',
+ BackwardsCompatEbuildRepositoryProfile: '',
+}
+
ALL_PROFILES = [
EbuildRepositoryProfile,
BackwardsCompatEbuildRepositoryProfile,
@@ -188,7 +193,7 @@ def test_update_entries_for_directory(test_repo, profile):
[(path, make_expect_match(path, entry_type))
for path, entry_type in EXPECTED_TYPES[profile].items()] +
[(path, make_expect_match(path, 'MANIFEST', manifests_exist=False))
- for path in EXPECTED_MANIFESTS] +
+ for path in EXPECTED_MANIFESTS + PACKAGE_MANIFESTS] +
[(path, make_expect_match(path, 'IGNORE'))
for path in EXPECTED_IGNORE])
found = dict((path, make_entry_match(m, path))
@@ -197,8 +202,12 @@ def test_update_entries_for_directory(test_repo, profile):
m.save_manifests()
manifests_expected = dict(
- (path, make_expect_match(path, 'MANIFEST'))
- for path in EXPECTED_MANIFESTS)
+ itertools.chain(
+ ((path + '.gz', make_expect_match(path, 'MANIFEST'))
+ for path in EXPECTED_MANIFESTS),
+ ((path + PKG_MANIFEST_SUFFIX[profile],
+ make_expect_match(path, 'MANIFEST'))
+ for path in PACKAGE_MANIFESTS)))
manifests_found = dict((path, make_entry_match(m, path))
for path in manifests_expected)
assert manifests_found == manifests_expected
@@ -216,8 +225,11 @@ def test_cli_update(test_repo, profile):
expected = dict(
[(path, make_expect_match(path, entry_type))
for path, entry_type in EXPECTED_TYPES[profile].items()] +
- [(path, make_expect_match(path, 'MANIFEST'))
+ [(path + '.gz', make_expect_match(path, 'MANIFEST'))
for path in EXPECTED_MANIFESTS] +
+ [(path + PKG_MANIFEST_SUFFIX[profile],
+ make_expect_match(path, 'MANIFEST'))
+ for path in PACKAGE_MANIFESTS] +
[(path, make_expect_match(path, 'IGNORE'))
for path in EXPECTED_IGNORE])
found = dict((path, make_entry_match(m, path))
@@ -257,64 +269,3 @@ def test_regression_top_level_ignore_in_all_manifests(test_repo, profile):
found = dict((path, make_entry_match(m, path))
for path in expected)
assert found == expected
-
-
-def test_no_compress_compat(test_repo):
- """Verify that package directory Manifests are not compressed"""
- profile = BackwardsCompatEbuildRepositoryProfile
-
- m = ManifestRecursiveLoader(
- test_repo / 'Manifest',
- hashes=['SHA256', 'SHA512'],
- compress_watermark=0,
- allow_create=True,
- profile=profile())
- m.update_entries_for_directory('')
- m.save_manifests()
-
- expected = dict(
- itertools.chain.from_iterable(
- [(path, None),
- (path + '.gz', make_expect_match(path, 'MANIFEST')),
- ]
- for path in EXPECTED_MANIFESTS
- if path not in PACKAGE_MANIFESTS))
- expected.update(
- itertools.chain.from_iterable(
- [(path, make_expect_match(path, 'MANIFEST')),
- (path + '.gz', None),
- ]
- for path in EXPECTED_MANIFESTS
- if path in PACKAGE_MANIFESTS))
- found = dict((path, make_entry_match(m, path))
- for path in expected)
- assert found == expected
-
-
-def test_no_compress_compat_cli(test_repo):
- """Verify that package directory Manifests are not compressed (CLI)"""
- profile = BackwardsCompatEbuildRepositoryProfile
-
- assert gemato.cli.main(['gemato', 'create',
- '--profile', profile.name,
- '--compress-watermark=0',
- str(test_repo)]) == 0
-
- m = ManifestRecursiveLoader(test_repo / 'Manifest')
- expected = dict(
- itertools.chain.from_iterable(
- [(path, None),
- (path + '.gz', make_expect_match(path, 'MANIFEST')),
- ]
- for path in EXPECTED_MANIFESTS
- if path not in PACKAGE_MANIFESTS))
- expected.update(
- itertools.chain.from_iterable(
- [(path, make_expect_match(path, 'MANIFEST')),
- (path + '.gz', None),
- ]
- for path in EXPECTED_MANIFESTS
- if path in PACKAGE_MANIFESTS))
- found = dict((path, make_entry_match(m, path))
- for path in expected)
- assert found == expected
diff --git a/tests/test_recursiveloader.py b/tests/test_recursiveloader.py
index ee11e19..37bfae9 100644
--- a/tests/test_recursiveloader.py
+++ b/tests/test_recursiveloader.py
@@ -2068,8 +2068,7 @@ COMMON_COMPRESS_VARIANTS = (
list(itertools.chain.from_iterable(
[(BasicTestLayout, 0, algo,
[x for x in BasicTestLayout.MANIFESTS if x != 'Manifest']),
- pytest.param(BasicTestLayout, 64, algo, ['sub/Manifest'],
- marks=pytest.mark.xfail),
+ (BasicTestLayout, 64, algo, ['sub/Manifest']),
] for algo in COMPRESSION_ALGOS)) +
[(CompressedSubManifestLayout, 0, 'gz', ['sub/Manifest']),
(CompressedSubManifestLayout, 4096, 'gz', []),