diff options
-rw-r--r-- | buildset-config.toaster/toaster-tests.conf | 17 | ||||
-rw-r--r-- | lib/python2.7/site-packages/autobuilder/buildsteps/TestReport.py | 41 |
2 files changed, 58 insertions, 0 deletions
diff --git a/buildset-config.toaster/toaster-tests.conf b/buildset-config.toaster/toaster-tests.conf index 0aa6b465..14a95aa5 100644 --- a/buildset-config.toaster/toaster-tests.conf +++ b/buildset-config.toaster/toaster-tests.conf @@ -4,6 +4,22 @@ repos: [{'poky': {'repourl':'git://git.yoctoproject.org/poky', 'layerversion':{'core':'meta', 'yoctobsp':'meta-yocto-bsp', 'yocto':'meta-yocto', 'poky':'meta-poky'}, 'branch':'master' }}] +props: [{'testopia_category':{'prop_type':'StringParameter', + 'size': 32, + 'name': 'testopia_category', + 'label':'Category Full pass/Weekly:'}}, + {'testopia_pversion':{'prop_type':'StringParameter', + 'size': 32, + 'name': 'testopia_pversion', + 'label':'Project :'}}, + {'testopia_pmilestone':{'prop_type':'StringParameter', + 'size': 32, + 'name': 'testopia_pmilestone', + 'label':'Project :'}}, + {'testopia_prevision':{'prop_type':'StringParameter', + 'size': 128, + 'name': 'testopia_prevision', + 'label':'Project :'}},] steps: [{'SetDest':{}}, {'CheckOutLayers': {}}, {'RunPreamble': {}}, @@ -18,4 +34,5 @@ steps: [{'SetDest':{}}, {'Sleep': {'time': '120'}}, {'ToasterRunTests': {}}, {'ToasterStop': {}}, + {'TestReport': {'product': 'Toaster', 'results_log' : 'toaster-tests/build/build/results-toaster.log'}}, ] diff --git a/lib/python2.7/site-packages/autobuilder/buildsteps/TestReport.py b/lib/python2.7/site-packages/autobuilder/buildsteps/TestReport.py new file mode 100644 index 00000000..55548f8c --- /dev/null +++ b/lib/python2.7/site-packages/autobuilder/buildsteps/TestReport.py @@ -0,0 +1,41 @@ +import os +import platform + +from buildbot.steps.shell import ShellCommand +from autobuilder.config import * + +class TestReport(ShellCommand): + haltOnFailure = False + flunkOnFailure = True + name = "TestReport" + def __init__(self, factory, argdict=None, **kwargs): + self.factory = factory + self.workerdir=os.path.join(os.path.join(YOCTO_ABBASE, "yocto-worker")) + for k, v in argdict.iteritems(): + setattr(self, k, v) + # Timeout needs to be passed to LoggingBuildStep as a kwarg + self.timeout = 100000 + kwargs['timeout']=self.timeout + ShellCommand.__init__(self, **kwargs) + + def start(self): + self.tconfig = os.environ['TESTOPIA_UPDATE_CONFIG'] + self.category = self.getProperty('testopia_category') + self.branch = self.getProperty('branch') + self.tenv = " ".join(platform.linux_distribution()) + self.pversion = self.getProperty('testopia_pversion') + self.pmilestone = self.getProperty('testopia_pmilestone') + self.prevision = self.getProperty('testopia_prevision') + self.pdate = date.today.isoformat() + + self.results_log = os.path.join(self.workdir, self.results_log) + + program = os.path.join(YOCTO_ABBASE, 'qa-tools', 'testopia_update.py') + base_command = "%s --config %s -p %s -c %s -b %s -e %s --project-version %s --project-milestone %s --project-revision %s --project-date %s --debug --results-log %s" % (program, self.tconfig, self.product, self.category, self.branch, self.tenv, self.pversion, self.pmilestone, self.prevision, self.pdate, self.results_log) + + create_command = base_command + " -a create" + update_command = base_command + " -a update" + + self.command= "%s && %s" % (create_command, update_command) + + ShellCommand.start(self) |