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
|
||||
# specfiles of main package. Therefore, main package must be
|
||||
# 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')
|
||||
if mainspec in filelist:
|
||||
filelist.remove(mainspec)
|
||||
for spec in filelist:
|
||||
ret.append(spec[:-5])
|
||||
for file in filelist:
|
||||
if file.endswith('.spec'):
|
||||
ret.append(file[:-5])
|
||||
|
||||
return ret
|
||||
|
||||
|
@ -68,3 +68,24 @@ class TestSelect(unittest.TestCase):
|
||||
|
||||
# no stale links
|
||||
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