[yocto] [AB PATCH 02/27] Add buildstep and buildset for oe-selftest script
Elizabeth Flanagan
elizabeth.flanagan at intel.com
Wed Mar 5 10:22:53 PST 2014
From: Stefan Stanacar <stefanx.stanacar at intel.com>
This will run the oe-selftest script which has been
available in master for a while. The scripts run a series
of bitbake tests and takes care of it's own config.
Because some of the tests mess up with sstate we
want to use the default sstate dir, so a nosstate option
was added to CreateAutoConf.
Signed-off-by: Stefan Stanacar <stefanx.stanacar at intel.com>
---
buildset-config.master/nightly-oe-selftest.conf | 15 +++++++++++++
.../autobuilder/buildsteps/CreateAutoConf.py | 7 ++++--
.../autobuilder/buildsteps/RunOeSelftest.py | 26 ++++++++++++++++++++++
3 files changed, 46 insertions(+), 2 deletions(-)
create mode 100644 buildset-config.master/nightly-oe-selftest.conf
create mode 100644 lib/python2.7/site-packages/autobuilder/buildsteps/RunOeSelftest.py
diff --git a/buildset-config.master/nightly-oe-selftest.conf b/buildset-config.master/nightly-oe-selftest.conf
new file mode 100644
index 0000000..42bccde
--- /dev/null
+++ b/buildset-config.master/nightly-oe-selftest.conf
@@ -0,0 +1,15 @@
+[nightly-oe-selftest]
+builders: 'builder1'
+repos: [{'poky':
+ {'repourl':'git://git.yoctoproject.org/poky',
+ 'layerversion':{'core':'meta', 'yoctobsp':'meta-yocto-bsp'},
+ 'branch':'master'}}]
+steps: [{'SetDest':{}},
+ {'CheckOutLayers': {}},
+ {'RunPreamble': {}},
+ {'GetDistroVersion' : {'distro': 'poky'}},
+ {'CreateAutoConf': {'machine': 'qemux86-64', 'SDKMACHINE' : 'x86_64', 'distro': 'poky', 'nosstate': True, 'packages': 'rpm'}},
+ {'CreateBBLayersConf': {'buildprovider' : 'yocto'}},
+ {'BuildImages': {'images': 'core-image-minimal'}},
+ {'CreateBBLayersConf': {'buildprovider' : 'yocto', 'layerdirs': ['meta-selftest']}},
+ {'RunOeSelftest': {}}]
diff --git a/lib/python2.7/site-packages/autobuilder/buildsteps/CreateAutoConf.py b/lib/python2.7/site-packages/autobuilder/buildsteps/CreateAutoConf.py
index 116ee14..bec221a 100644
--- a/lib/python2.7/site-packages/autobuilder/buildsteps/CreateAutoConf.py
+++ b/lib/python2.7/site-packages/autobuilder/buildsteps/CreateAutoConf.py
@@ -38,6 +38,7 @@ class CreateAutoConf(ShellCommand):
self.factory = factory
self.buildappsrcrev = "${AUTOREV}"
self.initmgr=None
+ self.nosstate=False
self.kwargs = kwargs
for k, v in argdict.iteritems():
if type(v) is bool:
@@ -100,9 +101,11 @@ class CreateAutoConf(ShellCommand):
elif self.multilib == "lib64":
fout = fout + 'MULTILIBS = "multilib:lib64" \n'
fout = fout + 'DEFAULTTUNE_virtclass-multilib-lib64 = "x86-64" \n'
- fout = fout + 'SSTATE_DIR ?= "' + os.environ.get("SSTATE_DIR") + '/multilib" \n'
+ if not self.nosstate:
+ fout = fout + 'SSTATE_DIR ?= "' + os.environ.get("SSTATE_DIR") + '/multilib" \n'
else:
- fout = fout + 'SSTATE_DIR ?= "' + os.environ.get("SSTATE_DIR") + '/" \n'
+ if not self.nosstate:
+ fout = fout + 'SSTATE_DIR ?= "' + os.environ.get("SSTATE_DIR") + '/" \n'
if self.gplv3 == "False":
fout = fout + 'INCOMPATIBLE_LICENSE = "GPLv3" \n'
if self.x32 == "True":
diff --git a/lib/python2.7/site-packages/autobuilder/buildsteps/RunOeSelftest.py b/lib/python2.7/site-packages/autobuilder/buildsteps/RunOeSelftest.py
new file mode 100644
index 0000000..0efddd7
--- /dev/null
+++ b/lib/python2.7/site-packages/autobuilder/buildsteps/RunOeSelftest.py
@@ -0,0 +1,26 @@
+'''
+__author__ = "Stefan Stanacar"
+__copyright__ = "Copyright 2014 Intel Corporation"
+__credits__ = ["Stefan Stanacar"]
+__license__ = "GPL"
+__version__ = "2.0"
+__maintainer__ = "Stefan Stanacar"
+__email__ = "stefanx.stanacar at intel.com"
+'''
+
+
+from buildbot.steps.shell import ShellCommand
+
+class RunOeSelftest(ShellCommand):
+ haltOnFailure = False
+ flunkOnFailure = True
+ name = "Running oe-selftest"
+ def __init__(self, factory, argdict=None, **kwargs):
+ self.factory = factory
+ for k, v in argdict.iteritems():
+ setattr(self, k, v)
+ self.description = "Running oe-selftest"
+ self.timeout = 100000
+ kwargs['timeout']=self.timeout
+ self.command = "if [ -d meta-selftest ]; then . ./oe-init-build-env; oe-selftest; else echo 'Skipping step - no meta-selftest layer here'; fi"
+ ShellCommand.__init__(self, **kwargs)
--
1.8.1.2
More information about the yocto
mailing list