[yocto] [[PATCHv2][autobuilder] 2/4] autobuilder/buildsteps: Add Toaster buildsteps.
Aníbal Limón
anibal.limon at linux.intel.com
Mon Feb 22 07:15:01 PST 2016
Adds Toaster buildsteps for setup toaster environment (installs
requirements), start/stop a toaster instance and run tests.
Signed-off-by: Aníbal Limón <anibal.limon at linux.intel.com>
---
.../autobuilder/buildsteps/ToasterRunTests.py | 31 ++++++++++++++++++++
.../autobuilder/buildsteps/ToasterSetupVenv.py | 31 ++++++++++++++++++++
.../autobuilder/buildsteps/ToasterStart.py | 32 +++++++++++++++++++++
.../autobuilder/buildsteps/ToasterStop.py | 33 ++++++++++++++++++++++
4 files changed, 127 insertions(+)
create mode 100644 lib/python2.7/site-packages/autobuilder/buildsteps/ToasterRunTests.py
create mode 100644 lib/python2.7/site-packages/autobuilder/buildsteps/ToasterSetupVenv.py
create mode 100644 lib/python2.7/site-packages/autobuilder/buildsteps/ToasterStart.py
create mode 100644 lib/python2.7/site-packages/autobuilder/buildsteps/ToasterStop.py
diff --git a/lib/python2.7/site-packages/autobuilder/buildsteps/ToasterRunTests.py b/lib/python2.7/site-packages/autobuilder/buildsteps/ToasterRunTests.py
new file mode 100644
index 0000000..141768c
--- /dev/null
+++ b/lib/python2.7/site-packages/autobuilder/buildsteps/ToasterRunTests.py
@@ -0,0 +1,31 @@
+'''
+Created on Feb 15, 2016
+
+__author__ = "Anibal (alimon) Limon"
+__copyright__ = "Copyright 2016, Intel Corp."
+__credits__ = ["Anibal Limon"]
+__license__ = "GPL"
+__version__ = "2.0"
+__maintainer__ = "Anibal Limon"
+__email__ = "anibal.limon at linux.intel.com"
+'''
+
+from lib.buildsteps import ShellCommandCleanEnv
+import os
+
+class ToasterRunTests(ShellCommandCleanEnv):
+ haltOnFailure = True
+ flunkOnFailure = True
+ name = "ToasterRunTests"
+
+ def __init__(self, factory, argdict=None, **kwargs):
+ self.factory = factory
+ self.description = "Running toaster tests..."
+
+ oe_cmd = "source ./oe-init-build-env;"
+ venv_cmd = "source venv/bin/activate;"
+ cmd = "DISPLAY=:1 toaster-test --run-all-tests --verbose"
+
+ self.command = oe_cmd + venv_cmd + cmd
+
+ ShellCommandCleanEnv.__init__(self, factory, argdict, **kwargs)
diff --git a/lib/python2.7/site-packages/autobuilder/buildsteps/ToasterSetupVenv.py b/lib/python2.7/site-packages/autobuilder/buildsteps/ToasterSetupVenv.py
new file mode 100644
index 0000000..54cf1e7
--- /dev/null
+++ b/lib/python2.7/site-packages/autobuilder/buildsteps/ToasterSetupVenv.py
@@ -0,0 +1,31 @@
+'''
+Created on Feb 15, 2016
+
+__author__ = "Anibal (alimon) Limon"
+__copyright__ = "Copyright 2016, Intel Corp."
+__credits__ = ["Anibal Limon"]
+__license__ = "GPL"
+__version__ = "2.0"
+__maintainer__ = "Anibal Limon"
+__email__ = "anibal.limon at linux.intel.com"
+'''
+
+from lib.buildsteps import ShellCommandCleanEnv
+
+class ToasterSetupVenv(ShellCommandCleanEnv):
+ haltOnFailure = True
+ flunkOnFailure = True
+ name = "ToasterSetupVenv"
+
+ def __init__(self, factory, argdict=None, **kwargs):
+ self.factory = factory
+ self.description = "Creating virtualenv..."
+
+ oe_cmd = "source ./oe-init-build-env;"
+ venv_cmd = "virtualenv venv; source venv/bin/activate;"
+ install_cmd = "pip install -r ../bitbake/toaster-requirements.txt;"
+ install_tests_cmd = "pip install -r ../bitbake/toaster-tests-requirements.txt;"
+
+ self.command = oe_cmd + venv_cmd + install_cmd + install_tests_cmd
+
+ ShellCommandCleanEnv.__init__(self, factory, argdict, **kwargs)
diff --git a/lib/python2.7/site-packages/autobuilder/buildsteps/ToasterStart.py b/lib/python2.7/site-packages/autobuilder/buildsteps/ToasterStart.py
new file mode 100644
index 0000000..14cf9db3
--- /dev/null
+++ b/lib/python2.7/site-packages/autobuilder/buildsteps/ToasterStart.py
@@ -0,0 +1,32 @@
+'''
+Created on Feb 15, 2016
+
+__author__ = "Anibal (alimon) Limon"
+__copyright__ = "Copyright 2016, Intel Corp."
+__credits__ = ["Anibal Limon"]
+__license__ = "GPL"
+__version__ = "2.0"
+__maintainer__ = "Anibal Limon"
+__email__ = "anibal.limon at linux.intel.com"
+'''
+
+from lib.buildsteps import ShellCommandCleanEnv
+import os
+
+class ToasterStart(ShellCommandCleanEnv):
+ haltOnFailure = True
+ flunkOnFailure = True
+ name = "ToasterStart"
+
+ def __init__(self, factory, argdict=None, **kwargs):
+ self.factory = factory
+ self.description = "Starting toaster..."
+
+ oe_cmd = "source ./oe-init-build-env;"
+ venv_cmd = "source venv/bin/activate;"
+ start_cmd = "../bitbake/lib/toaster/tests/helpers.py -a start" \
+ " -d $(readlink -e ../)"
+
+ self.command = oe_cmd + venv_cmd + start_cmd
+
+ ShellCommandCleanEnv.__init__(self, factory, argdict, **kwargs)
diff --git a/lib/python2.7/site-packages/autobuilder/buildsteps/ToasterStop.py b/lib/python2.7/site-packages/autobuilder/buildsteps/ToasterStop.py
new file mode 100644
index 0000000..6fda0e8
--- /dev/null
+++ b/lib/python2.7/site-packages/autobuilder/buildsteps/ToasterStop.py
@@ -0,0 +1,33 @@
+'''
+Created on Feb 15, 2016
+
+__author__ = "Anibal (alimon) Limon"
+__copyright__ = "Copyright 2016, Intel Corp."
+__credits__ = ["Anibal Limon"]
+__license__ = "GPL"
+__version__ = "2.0"
+__maintainer__ = "Anibal Limon"
+__email__ = "anibal.limon at linux.intel.com"
+'''
+
+from lib.buildsteps import ShellCommandCleanEnv
+import os
+
+class ToasterStop(ShellCommandCleanEnv):
+ alwaysRun = True
+ haltOnFailure = True
+ flunkOnFailure = True
+ name = "ToasterStop"
+
+ def __init__(self, factory, argdict=None, **kwargs):
+ self.factory = factory
+ self.description = "Stopping toaster..."
+
+ oe_cmd = "source ./oe-init-build-env;"
+ venv_cmd = "source venv/bin/activate;"
+ start_cmd = "../bitbake/lib/toaster/tests/helpers.py -a stop" \
+ " -d $(readlink -e ../)"
+
+ self.command = oe_cmd + venv_cmd + start_cmd
+
+ ShellCommandCleanEnv.__init__(self, factory, argdict, **kwargs)
--
2.1.4
More information about the yocto
mailing list