Add PowerPC:ToTest

Signed-off-by: Dinar Valeev <dvaleev@suse.com>
This commit is contained in:
Dinar Valeev 2015-03-19 09:58:46 +01:00
parent d0df8ef5e6
commit 97d8130e84

View File

@ -47,6 +47,9 @@ class ToTestBase(object):
def iso_prefix(self): def iso_prefix(self):
return self.project return self.project
def arch(self):
return self.arch
def binaries_of_product(self, project, product): def binaries_of_product(self, project, product):
url = self.api.makeurl(['build', project, 'images', 'local', product]) url = self.api.makeurl(['build', project, 'images', 'local', product])
try: try:
@ -65,8 +68,8 @@ class ToTestBase(object):
"""Return the current snapshot in :ToTest""" """Return the current snapshot in :ToTest"""
# for now we hardcode all kind of things # for now we hardcode all kind of things
for binary in self.binaries_of_product('openSUSE:%s:ToTest' % self.project, '_product:openSUSE-cd-mini-i586'): for binary in self.binaries_of_product('openSUSE:%s:ToTest' % self.project, '_product:openSUSE-cd-mini-%s' % self.arch()):
result = re.match(r'openSUSE-%s-NET-i586-Snapshot(.*)-Media.iso' % self.iso_prefix(), result = re.match(r'openSUSE-%s-NET-.*-Snapshot(.*)-Media.iso' % self.iso_prefix(),
binary) binary)
if result: if result:
return result.group(1) return result.group(1)
@ -241,25 +244,19 @@ class ToTestBase(object):
if not self.all_repos_done('openSUSE:%s' % self.project): if not self.all_repos_done('openSUSE:%s' % self.project):
return False return False
for product in ['_product:openSUSE-ftp-ftp-i586_x86_64', for product in self.ftp_products + self.main_products:
'_product:openSUSE-Addon-NonOss-ftp-ftp-i586_x86_64'] + self.main_products:
if not self.package_ok('openSUSE:%s' % self.project, product, 'images', 'local'): if not self.package_ok('openSUSE:%s' % self.project, product, 'images', 'local'):
return False return False
if not self.all_repos_done('openSUSE:%s:Live' % self.project): if self.arch == "x86_64":
return False
for product in ['kiwi-image-livecd-kde.i586', if not self.all_repos_done('openSUSE:%s:Live' % self.project):
'kiwi-image-livecd-gnome.i586', return False
'kiwi-image-livecd-x11']:
if not self.package_ok('openSUSE:%s:Live' % self.project, product, 'standard', 'i586'):
return False
for product in ['kiwi-image-livecd-kde.x86_64', for arch in ['i586', 'x86_64' ]:
'kiwi-image-livecd-gnome.x86_64', for product in self.livecd_products:
'kiwi-image-livecd-x11']: if not self.package_ok('openSUSE:%s:Live' % self.project, product, 'standard', '%s' % arch):
if not self.package_ok('openSUSE:%s:Live' % self.project, product, 'standard', 'x86_64'): return False
return False
return True return True
@ -278,14 +275,12 @@ class ToTestBase(object):
print 'Updating snapshot %s' % snapshot print 'Updating snapshot %s' % snapshot
self.api.switch_flag_in_prj('openSUSE:%s:ToTest' % self.project, flag='publish', state='disable') self.api.switch_flag_in_prj('openSUSE:%s:ToTest' % self.project, flag='publish', state='disable')
self.release_package('openSUSE:%s' % self.project, '_product:openSUSE-ftp-ftp-i586_x86_64') for product in self.ftp_products:
self.release_package('openSUSE:%s' % self.project, '_product:openSUSE-Addon-NonOss-ftp-ftp-i586_x86_64') self.release_package('openSUSE:%s' % self.project, '%s' % product)
for cd in ['kiwi-image-livecd-kde.i586',
'kiwi-image-livecd-kde.x86_64', if self.arch == "x86_64":
'kiwi-image-livecd-gnome.i586', for cd in self.livecd_products:
'kiwi-image-livecd-gnome.x86_64', self.release_package('openSUSE:%s:Live' % self.project, cd, set_release='Snapshot%s' % snapshot)
'kiwi-image-livecd-x11']:
self.release_package('openSUSE:%s:Live' % self.project, cd, set_release='Snapshot%s' % snapshot)
for cd in self.main_products: for cd in self.main_products:
self.release_package('openSUSE:%s' % self.project, cd, set_release='Snapshot%s' % snapshot) self.release_package('openSUSE:%s' % self.project, cd, set_release='Snapshot%s' % snapshot)
@ -342,7 +337,12 @@ class ToTestBase(object):
def known_failures_from_dashboard(self, project): def known_failures_from_dashboard(self, project):
known_failures = [] known_failures = []
url = self.api.makeurl(['source', 'openSUSE:%s:Staging' % self.project, 'dashboard', 'known_failures']) if self.project == "Factory:PowerPC":
project = "Factory"
else:
project = self.project
url = self.api.makeurl(['source', 'openSUSE:%s:Staging' % project, 'dashboard', 'known_failures'])
f = self.api.retried_GET(url) f = self.api.retried_GET(url)
for line in f: for line in f:
if not line[0] == '#': if not line[0] == '#':
@ -356,6 +356,13 @@ class ToTestFactory(ToTestBase):
'_product:openSUSE-cd-mini-i586', '_product:openSUSE-cd-mini-i586',
'_product:openSUSE-cd-mini-x86_64'] '_product:openSUSE-cd-mini-x86_64']
ftp_products = ['_product:openSUSE-ftp-ftp-i586_x86_64',
'_product:openSUSE-Addon-NonOss-ftp-ftp-i586_x86_64']
livecd_products = ['kiwi-image-livecd-kde',
'kiwi-image-livecd-gnome',
'kiwi-image-livecd-x11']
def __init__(self, project, dryrun): def __init__(self, project, dryrun):
ToTestBase.__init__(self, project, dryrun) ToTestBase.__init__(self, project, dryrun)
@ -365,6 +372,9 @@ class ToTestFactory(ToTestBase):
def iso_prefix(self): def iso_prefix(self):
return 'Tumbleweed' return 'Tumbleweed'
def arch(self):
return 'x86_64'
# for Factory we check the version of the release package # for Factory we check the version of the release package
def current_version(self): def current_version(self):
url = self.api.makeurl(['build', 'openSUSE:%s' % self.project, 'standard', 'x86_64', url = self.api.makeurl(['build', 'openSUSE:%s' % self.project, 'standard', 'x86_64',
@ -378,6 +388,39 @@ class ToTestFactory(ToTestBase):
return result.group(1) return result.group(1)
raise Exception("can't find factory version") raise Exception("can't find factory version")
class ToTestFactoryPowerPC(ToTestBase):
main_products = ['_product:openSUSE-dvd5-BE-ppc64',
'_product:openSUSE-dvd5-LE-ppc64le',
'_product:openSUSE-cd-mini-ppc64',
'_product:openSUSE-cd-mini-ppc64le']
ftp_products = [ '_product:openSUSE-ftp-ftp-ppc_ppc64_ppc64le' ]
def __init__(self, project, dryrun):
ToTestBase.__init__(self, project, dryrun)
def openqa_version(self):
return 'Tumbleweed'
def arch(self):
return 'ppc64le'
def iso_prefix(self):
return 'Tumbleweed'
# for Factory we check the version of the release package
def current_version(self):
url = self.api.makeurl(['build', 'openSUSE:%s' % self.project, 'standard', 'ppc64le',
'_product:openSUSE-release'])
f = self.api.retried_GET(url)
root = ET.parse(f).getroot()
for binary in root.findall('binary'):
binary = binary.get('filename', '')
result = re.match(r'.*-([^-]*)-[^-]*.src.rpm', binary)
if result:
return result.group(1)
raise Exception("can't find factory powerpc version")
class ToTest132(ToTestBase): class ToTest132(ToTestBase):
main_products = [ main_products = [
@ -411,6 +454,7 @@ if __name__ == '__main__':
totest_class = { totest_class = {
'Factory': ToTestFactory, 'Factory': ToTestFactory,
'Factory:PowerPC': ToTestFactoryPowerPC,
'13.2': ToTest132, '13.2': ToTest132,
} }