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:
		
							parent
							
								
									288d9ecc90
								
							
						
					
					
						commit
						f1cd1ae562
					
				| @ -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", | ||||
|  | ||||
| @ -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'], | ||||
|  | ||||
| @ -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, | ||||
|         ) | ||||
|  | ||||
| @ -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, | ||||
|     ) | ||||
|  | ||||
| @ -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 | ||||
|  | ||||
| @ -114,6 +114,7 @@ class DummyCompose(object): | ||||
|                 short='test', | ||||
|                 version='1.0', | ||||
|                 is_layered=False, | ||||
|                 type_suffix='' | ||||
|             ), | ||||
|         ) | ||||
|         self.topdir = topdir | ||||
|  | ||||
| @ -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') | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user