Now when oe-selftest fails the error report for send to the Error report web are created and saved in the controller.
Since oe-selftest is intended to do a build system testing the values for MACHINE, TARGET_SYS and DISTRO are provided so use universal value instead. Signed-off-by: Aníbal Limón <anibal.li...@linux.intel.com> --- .../autobuilder/buildsteps/RunOeSelftest.py | 46 ++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/lib/python2.7/site-packages/autobuilder/buildsteps/RunOeSelftest.py b/lib/python2.7/site-packages/autobuilder/buildsteps/RunOeSelftest.py index a1df5cb..5b9e408 100644 --- a/lib/python2.7/site-packages/autobuilder/buildsteps/RunOeSelftest.py +++ b/lib/python2.7/site-packages/autobuilder/buildsteps/RunOeSelftest.py @@ -8,9 +8,12 @@ __maintainer__ = "Stefan Stanacar" __email__ = "stefanx.stana...@intel.com" ''' +import platform from buildbot.steps.shell import ShellCommand +from lib.ABTools import save_error_report, get_lsb_distro + class RunOeSelftest(ShellCommand): haltOnFailure = False flunkOnFailure = True @@ -35,3 +38,46 @@ class RunOeSelftest(ShellCommand): else: self.command += "if [ -d ../meta-selftest ]; then export DISPLAY=:1; oe-selftest " + self.tests + "; else echo 'Skipping step - no meta-selftest layer here'; fi" ShellCommand.start(self) + + def _createOESelftestErrorReport(self, log): + """ + Create a oe-selftest error report since oe-selftest + is intended to test the build system no information + about machine, distro and target_sys are provided so + use universal value. + """ + + report = {} + + report['machine'] = 'universal' + report['build_sys'] = "%s-%s" % (platform.machine(), + platform.system().lower()) + report['nativelsb'] = get_lsb_distro() or 'universal' + report['distro'] = 'universal' + report['target_sys'] = 'universal' + + report['component'] = 'oe-selftest' + report['branch_commit'] = self.getProperty('branch') + ': ' + \ + self.getProperty('got_revision') + + report['error_type'] = 'oe-selftest' + + failure = {} + failure['package'] = 'oe-selftest' + failure['task'] = self.command[self.command.find('oe-selftest'):] + failure['log'] = log + + report['failures'] = [failure] + + return report + + def commandComplete(self, cmd): + if cmd.didFail(): + buildername = self.getProperty('buildername') + buildnumber = self.getProperty('buildnumber') + + log = cmd.logs['stdio'].getText() + + report = self._createOESelftestErrorReport(log) + save_error_report(buildername, buildnumber, report, 'oe_selftest') + -- 2.1.4 -- _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto