Always get old compose with release type suffix

Signed-off-by: Patrick Uiterwijk <patrick@puiterwijk.org>
Merges: https://pagure.io/pungi/pull-request/792
This commit is contained in:
Patrick Uiterwijk 2017-11-07 11:13:49 +01:00 committed by Lubomír Sedlář
parent 288d9ecc90
commit f1cd1ae562
7 changed files with 17 additions and 21 deletions

View File

@ -643,8 +643,7 @@ def make_schema():
},
"old_composes_per_release_type": {
"type": "boolean",
"default": False,
"deprecated": "remove it. It is the default behavior now"
},
"hashed_directories": {
"type": "boolean",

View File

@ -314,7 +314,7 @@ def _get_old_package_dirs(compose, repo_dir):
compose.old_composes,
compose.ci_base.release.short,
compose.ci_base.release.version,
compose.ci_base.release.type_suffix if compose.conf['old_composes_per_release_type'] else None,
compose.ci_base.release.type_suffix,
compose.ci_base.base_product.short if compose.ci_base.release.is_layered else None,
compose.ci_base.base_product.version if compose.ci_base.release.is_layered else None,
allowed_statuses=['FINISHED', 'FINISHED_INCOMPLETE'],

View File

@ -57,7 +57,7 @@ def get_create_global_repo_cmd(compose, path_prefix):
compose.old_composes,
compose.ci_base.release.short,
compose.ci_base.release.version,
compose.ci_base.release.type_suffix if compose.conf['old_composes_per_release_type'] else None,
compose.ci_base.release.type_suffix,
compose.ci_base.base_product.short if compose.ci_base.release.is_layered else None,
compose.ci_base.base_product.version if compose.ci_base.release.is_layered else None,
)

View File

@ -387,7 +387,7 @@ def _find_old_file_cache_path(compose):
compose.old_composes,
compose.ci_base.release.short,
compose.ci_base.release.version,
compose.ci_base.release.type_suffix if compose.conf['old_composes_per_release_type'] else None,
compose.ci_base.release.type_suffix,
compose.ci_base.base_product.short if compose.ci_base.release.is_layered else None,
compose.ci_base.base_product.version if compose.ci_base.release.is_layered else None,
)

View File

@ -402,7 +402,7 @@ def get_file_size(path):
def find_old_compose(old_compose_dirs, release_short, release_version,
release_type_suffix=None, base_product_short=None,
release_type_suffix, base_product_short=None,
base_product_version=None, allowed_statuses=None):
allowed_statuses = allowed_statuses or ("FINISHED", "FINISHED_INCOMPLETE", "DOOMED")
composes = []
@ -423,9 +423,7 @@ def find_old_compose(old_compose_dirs, release_short, release_version,
for i in os.listdir(compose_dir):
# TODO: read .composeinfo
pattern = "%s-%s" % (release_short, release_version)
if release_type_suffix:
pattern += release_type_suffix
pattern = "%s-%s%s" % (release_short, release_version, release_type_suffix)
if base_product_short:
pattern += "-%s" % base_product_short
if base_product_version:
@ -435,7 +433,7 @@ def find_old_compose(old_compose_dirs, release_short, release_version,
continue
suffix = i[len(pattern):]
if release_type_suffix and (len(suffix) < 2 or not suffix[1].isdigit()):
if len(suffix) < 2 or not suffix[1].isdigit():
# This covers the case where we are looking for -updates, but there
# is an updates-testing as well.
continue

View File

@ -114,6 +114,7 @@ class DummyCompose(object):
short='test',
version='1.0',
is_layered=False,
type_suffix=''
),
)
self.topdir = topdir

View File

@ -260,17 +260,17 @@ class TestFindOldCompose(unittest.TestCase):
def test_finds_single(self):
touch(self.tmp_dir + '/Fedora-Rawhide-20160229.0/STATUS', 'FINISHED')
old = util.find_old_compose(self.tmp_dir, 'Fedora', 'Rawhide')
old = util.find_old_compose(self.tmp_dir, 'Fedora', 'Rawhide', '')
self.assertEqual(old, self.tmp_dir + '/Fedora-Rawhide-20160229.0')
def test_ignores_in_progress(self):
touch(self.tmp_dir + '/Fedora-Rawhide-20160229.0/STATUS', 'STARTED')
old = util.find_old_compose(self.tmp_dir, 'Fedora', 'Rawhide')
old = util.find_old_compose(self.tmp_dir, 'Fedora', 'Rawhide', '')
self.assertIsNone(old)
def test_only_considers_allowed_status(self):
touch(self.tmp_dir + '/Fedora-Rawhide-20160229.0/STATUS', 'FINISHED')
old = util.find_old_compose(self.tmp_dir, 'Fedora', 'Rawhide',
old = util.find_old_compose(self.tmp_dir, 'Fedora', 'Rawhide', '',
allowed_statuses=['DOOMED'])
self.assertIsNone(old)
@ -278,7 +278,7 @@ class TestFindOldCompose(unittest.TestCase):
touch(self.tmp_dir + '/Fedora-Rawhide-20160228.0/STATUS', 'DOOMED')
touch(self.tmp_dir + '/Fedora-Rawhide-20160229.0/STATUS', 'FINISHED')
touch(self.tmp_dir + '/Fedora-Rawhide-20160229.1/STATUS', 'FINISHED_INCOMPLETE')
old = util.find_old_compose(self.tmp_dir, 'Fedora', 'Rawhide')
old = util.find_old_compose(self.tmp_dir, 'Fedora', 'Rawhide', '')
self.assertEqual(old, self.tmp_dir + '/Fedora-Rawhide-20160229.1')
def test_find_correct_type(self):
@ -288,13 +288,11 @@ class TestFindOldCompose(unittest.TestCase):
self.assertEqual(old, self.tmp_dir + '/Fedora-26-updates-20160229.0')
old = util.find_old_compose(self.tmp_dir, 'Fedora', '26', '-updates-testing')
self.assertEqual(old, self.tmp_dir + '/Fedora-26-updates-testing-20160229.0')
old = util.find_old_compose(self.tmp_dir, 'Fedora', '26')
self.assertEqual(old, self.tmp_dir + '/Fedora-26-updates-testing-20160229.0')
def test_find_latest_with_two_digit_respin(self):
touch(self.tmp_dir + '/Fedora-Rawhide-20160228.n.9/STATUS', 'FINISHED')
touch(self.tmp_dir + '/Fedora-Rawhide-20160228.n.10/STATUS', 'FINISHED')
old = util.find_old_compose(self.tmp_dir, 'Fedora', 'Rawhide')
old = util.find_old_compose(self.tmp_dir, 'Fedora', 'Rawhide', '')
self.assertEqual(old, self.tmp_dir + '/Fedora-Rawhide-20160228.n.10')
def test_finds_ignores_other_files(self):
@ -302,22 +300,22 @@ class TestFindOldCompose(unittest.TestCase):
touch(self.tmp_dir + '/Fedora-Rawhide-20160228.0/STATUS/file', 'also not a compose')
touch(self.tmp_dir + '/Fedora-24-20160229.0/STATUS', 'FINISHED')
touch(self.tmp_dir + '/Another-Rawhide-20160229.0/STATUS', 'FINISHED')
old = util.find_old_compose(self.tmp_dir, 'Fedora', 'Rawhide')
old = util.find_old_compose(self.tmp_dir, 'Fedora', 'Rawhide', '')
self.assertIsNone(old)
def test_search_in_file(self):
touch(self.tmp_dir + '/file')
old = util.find_old_compose(self.tmp_dir + '/file', 'Fedora', 'Rawhide')
old = util.find_old_compose(self.tmp_dir + '/file', 'Fedora', 'Rawhide', '')
self.assertIsNone(old)
def test_skips_symlink(self):
os.symlink(self.tmp_dir, self.tmp_dir + '/Fedora-Rawhide-20160229.0')
old = util.find_old_compose(self.tmp_dir, 'Fedora', 'Rawhide')
old = util.find_old_compose(self.tmp_dir, 'Fedora', 'Rawhide', '')
self.assertIsNone(old)
def test_finds_layered_product(self):
touch(self.tmp_dir + '/Fedora-Rawhide-Base-1-20160229.0/STATUS', 'FINISHED')
old = util.find_old_compose(self.tmp_dir, 'Fedora', 'Rawhide',
old = util.find_old_compose(self.tmp_dir, 'Fedora', 'Rawhide', '',
base_product_short='Base', base_product_version='1')
self.assertEqual(old, self.tmp_dir + '/Fedora-Rawhide-Base-1-20160229.0')