Add test for selecting multibuild with 2 spec
This commit is contained in:
parent
ce9158abcc
commit
7113e5fedc
@ -936,12 +936,16 @@ class StagingAPI(object):
|
|||||||
# guarantee the sub-pacakges are created according to the
|
# guarantee the sub-pacakges are created according to the
|
||||||
# specfiles of main package. Therefore, main package must be
|
# specfiles of main package. Therefore, main package must be
|
||||||
# created before through get_sub_packages().
|
# created before through get_sub_packages().
|
||||||
filelist = self.get_filelist_for_package(pkgname=package, project=project, expand='1', extension='spec')
|
filelist = self.get_filelist_for_package(pkgname=package, project=project, expand='1')
|
||||||
|
if '_multibuild' in filelist:
|
||||||
|
return [package]
|
||||||
|
|
||||||
mainspec = "{}{}".format(package, '.spec')
|
mainspec = "{}{}".format(package, '.spec')
|
||||||
if mainspec in filelist:
|
if mainspec in filelist:
|
||||||
filelist.remove(mainspec)
|
filelist.remove(mainspec)
|
||||||
for spec in filelist:
|
for file in filelist:
|
||||||
ret.append(spec[:-5])
|
if file.endswith('.spec'):
|
||||||
|
ret.append(file[:-5])
|
||||||
|
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
|
@ -68,3 +68,24 @@ class TestSelect(unittest.TestCase):
|
|||||||
|
|
||||||
# no stale links
|
# no stale links
|
||||||
self.assertEqual([], package_list(self.wf.apiurl, staging.name))
|
self.assertEqual([], package_list(self.wf.apiurl, staging.name))
|
||||||
|
|
||||||
|
def test_select_multibuild_package(self):
|
||||||
|
self.wf.setup_rings()
|
||||||
|
staging = self.wf.create_staging('A', freeze=True)
|
||||||
|
|
||||||
|
project = self.wf.create_project('devel:gcc')
|
||||||
|
package = OBSLocal.Package(name='gcc9', project=project)
|
||||||
|
package.create_commit(filename='gcc9.spec')
|
||||||
|
package.create_commit(filename='gcc9-tests.spec')
|
||||||
|
package.create_commit('<multibuild><flavor>gcc9-tests.spec</flavor></multibuild>', filename='_multibuild')
|
||||||
|
self.wf.submit_package(package)
|
||||||
|
|
||||||
|
ret = SelectCommand(self.wf.api, staging.name).perform(['gcc9'])
|
||||||
|
self.assertEqual(True, ret)
|
||||||
|
|
||||||
|
self.assertEqual(package_list(self.wf.apiurl, staging.name), ['gcc9'])
|
||||||
|
uc = UnselectCommand(self.wf.api)
|
||||||
|
self.assertIsNone(uc.perform(['gcc9'], False, None))
|
||||||
|
|
||||||
|
# no stale links
|
||||||
|
self.assertEqual([], package_list(self.wf.apiurl, staging.name))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user