[yocto] [[yocto-autobuilder][PATCHv2] 10/15] autobuilder/lib/{ABtools, builsteps}.py: Create save_error_report func
Aníbal Limón
anibal.limon at linux.intel.com
Tue Jun 21 16:07:47 PDT 2016
Create new generic function save_error_report based on _saveBitbakeErrorReport
in order to use the same function on OESelftest error reports.
Signed-off-by: Aníbal Limón <anibal.limon at linux.intel.com>
---
.../site-packages/autobuilder/lib/ABTools.py | 13 ++++++++++++
.../site-packages/autobuilder/lib/buildsteps.py | 23 +++++-----------------
2 files changed, 18 insertions(+), 18 deletions(-)
diff --git a/lib/python2.7/site-packages/autobuilder/lib/ABTools.py b/lib/python2.7/site-packages/autobuilder/lib/ABTools.py
index 579ae85..1e09de7 100644
--- a/lib/python2.7/site-packages/autobuilder/lib/ABTools.py
+++ b/lib/python2.7/site-packages/autobuilder/lib/ABTools.py
@@ -11,6 +11,9 @@ __email__ = "elizabeth.flanagan at intel.com"
'''
import os
+import time
+import json
+import codecs
from autobuilder.config import YOCTO_ABBASE
@@ -35,3 +38,13 @@ def get_error_report_worker_dir(buildername):
errordir = os.environ.get('ERROR_REPORT_DIR')
return errordir
+
+def save_error_report(buildername, buildnumber, report, report_type):
+ errordir = get_error_report_controller_dir(buildername, buildnumber)
+ if not os.path.exists(errordir):
+ os.makedirs(errordir)
+
+ filename = os.path.join(errordir, "error_report_%s_%d.txt" % \
+ (report_type, int(time.time())))
+ with codecs.open(filename, 'w', 'utf-8') as f:
+ json.dump(report, f, indent=4, sort_keys=True)
diff --git a/lib/python2.7/site-packages/autobuilder/lib/buildsteps.py b/lib/python2.7/site-packages/autobuilder/lib/buildsteps.py
index c290218..eee0c1b 100644
--- a/lib/python2.7/site-packages/autobuilder/lib/buildsteps.py
+++ b/lib/python2.7/site-packages/autobuilder/lib/buildsteps.py
@@ -13,14 +13,11 @@ __email__ = "anibal.limon at linux.intel.com"
import os
import re
-import time
-import json
-import codecs
from buildbot.steps.shell import ShellCommand
from buildbot.process.buildstep import LogLineObserver
-from lib.ABTools import get_error_report_controller_dir
+from lib.ABTools import save_error_report
DEFAULT_SHELL = 'bash'
@@ -139,21 +136,11 @@ class BitbakeShellCommand(ShellCommand):
return report
- def _saveBitbakeErrorReport(self, report):
- buildername = self.getProperty('buildername')
- buildnumber = self.getProperty('buildnumber')
-
- errordir = get_error_report_controller_dir(buildername, buildnumber)
- if not os.path.exists(errordir):
- os.makedirs(errordir)
-
- filename = os.path.join(errordir, "error_report_bitbake_%d.txt" % \
- int(time.time()))
- with codecs.open(filename, 'w', 'utf-8') as f:
- json.dump(report, f, indent=4, sort_keys=True)
-
def commandComplete(self, cmd):
if cmd.didFail():
if self.errors['bitbake']:
+ buildername = self.getProperty('buildername')
+ buildnumber = self.getProperty('buildnumber')
+
report = self._createBitbakeErrorReport(self.errors['log'])
- self._saveBitbakeErrorReport(report)
+ save_error_report(buildername, buildnumber, report, 'bitbake')
--
2.1.4
More information about the yocto
mailing list