From: "Aníbal Limón" <anibal.limon@linux.intel.com>
To: yocto@yoctoproject.org
Cc: paul.eggleton@linux.intel.com
Subject: [[AUH] 12/17] upgradehelper.py: Add settings for enable testimage.
Date: Wed, 25 Nov 2015 18:00:41 -0600 [thread overview]
Message-ID: <1448496046-13186-13-git-send-email-anibal.limon@linux.intel.com> (raw)
In-Reply-To: <1448496046-13186-1-git-send-email-anibal.limon@linux.intel.com>
Testimage feature will provide the ability to run testimage
class over a set of succesful upgrades.
Also it will run ptest on recipes that support ptest and retrive
the result for store/send to maintainer.
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
---
README | 25 +++++++++++++++++++++++++
upgradehelper.py | 38 ++++++++++++++++++++++++++++++++++++--
2 files changed, 61 insertions(+), 2 deletions(-)
diff --git a/README b/README
index ee1bd1f..6432f97 100644
--- a/README
+++ b/README
@@ -61,6 +61,7 @@ machines=qemux86 qemux86-64 qemuarm qemumips qemuppc
# optional features
buildhistory=no
+testimage=no
--------------- snip ---------------
@@ -93,6 +94,30 @@ $BUILDDIR/upgrade-helper/work/recipe/buildhistory-diff.txt.
(Do not remove any other inherited class in the process, e.g. distrodata).
+5. If you want to enable testimage (optional) you need to enable in
+upgrade-helper.conf also add the following lines to your conf/local.conf
+file:
+
+--------------- snip ---------------
+INHERIT += "testimage"
+
+EXTRA_IMAGE_FEATURES = "debug-tweaks package-management"
+# testimage/ptest only work with rpm
+PACKAGE_CLASSES = "package_rpm"
+--------------- snip ---------------
+
+Also if you are running in a server without X11 session, you need to start
+a vncserver example:
+
+$ vncserver :1
+$ export DISPLAY=:1
+
+If upgrade is succesful testimage/ptest results are generated into
+$BUILDDIR/upgrade-helper/work/recipe/ptest_recipe.log if recipe support
+ptest.
+
+(Do not remove any other inherited class in the process, e.g. distrodata).
+
Usage
-----
diff --git a/upgradehelper.py b/upgradehelper.py
index c841c2a..222909b 100755
--- a/upgradehelper.py
+++ b/upgradehelper.py
@@ -157,6 +157,7 @@ class Updater(object):
'qemux86 qemux86-64 qemuarm qemumips qemuppc').split()
self.opts['skip_compilation'] = skip_compilation
self.opts['buildhistory'] = self._buildhistory_is_enabled()
+ self.opts['testimage'] = self._testimage_is_enabled()
self.uh_dir = os.path.join(build_dir, "upgrade-helper")
if not os.path.exists(self.uh_dir):
@@ -211,6 +212,41 @@ class Updater(object):
return enabled
+ def _testimage_is_enabled(self):
+ enabled = False
+
+ if settings.get("testimage", "no") == "yes":
+ if 'testimage' in self.base_env['INHERIT']:
+ if not "ptest" in self.base_env["DISTRO_FEATURES"]:
+ E(" testimage requires ptest in DISTRO_FEATURES please add to"\
+ " conf/local.conf.")
+ exit(1)
+
+ if not "package-management" in self.base_env['EXTRA_IMAGE_FEATURES']:
+ E(" testimage requires package-management in EXTRA_IMAGE_FEATURES"\
+ " please add to conf/local.conf.")
+ exit(1)
+
+ if not "package_rpm" == self.base_env["PACKAGE_CLASSES"]:
+ E(" testimage/ptest requires PACKAGE_CLASSES set to package_rpm"\
+ " please add to conf/local.conf.")
+ exit(1)
+
+ enabled = True
+ else:
+ E(" testimage was enabled in upgrade-helper.conf"\
+ " but isn't INHERIT in conf/local.conf, if you want"\
+ " to enable please set.")
+ exit(1)
+ else:
+ if 'testimage' in self.base_env['INHERIT']:
+ E(" testimage was INHERIT in conf/local.conf"\
+ " but testimage=yes isn't in upgrade-helper.conf,"\
+ " if you want to enable please set.")
+ exit(1)
+
+ return enabled
+
def _get_packages_to_upgrade(self, packages=None):
if packages is None:
I( "Nothing to upgrade")
@@ -497,10 +533,8 @@ class Updater(object):
self.uh_recipes_failed_dir, pkg_ctx['PN']))
self.commit_changes(pkg_ctx)
-
self.statistics.update(pkg_ctx['PN'], pkg_ctx['NPV'],
pkg_ctx['MAINTAINER'], pkg_ctx['error'])
-
self.pkg_upgrade_handler(pkg_ctx)
if attempted_pkgs > 1:
--
2.1.4
next prev parent reply other threads:[~2015-11-26 0:00 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-26 0:00 [[AUH] 00/17] AUH code refactor and support test image Aníbal Limón
2015-11-26 0:00 ` [[AUH] 01/17] {upgradehelper, bitbake}.py: Move _get_env function to bitbake Aníbal Limón
2015-11-26 0:00 ` [[AUH] 02/17] upgradehelper.py: Merge options into a dictionary Aníbal Limón
2015-11-26 0:00 ` [[AUH] 03/17] upgradehelper.py: Adds own module for steps Aníbal Limón
2015-11-26 0:00 ` [[AUH] 04/17] upgradehelper: Reorder files into directories Aníbal Limón
2015-11-26 0:00 ` [[AUH] 05/17] buildhistory: Add option for enable in upgrade-helper.conf Aníbal Limón
2015-11-26 0:00 ` [[AUH] 06/17] recipe/base.py: Add is_recipe_or_include_file func Aníbal Limón
2015-11-26 0:00 ` [[AUH] 07/17] recipe/base.py: Add modify_recipe_files function decorator Aníbal Limón
2015-11-26 0:00 ` [[AUH] 08/17] recipe/base.py: Add support for get recipe inherits Aníbal Limón
2015-11-26 20:25 ` Paul Eggleton
2015-11-27 16:50 ` Aníbal Limón
2015-11-26 0:00 ` [[AUH] 09/17] steps.py: Merge load_dirs step into load_env Aníbal Limón
2015-11-26 0:00 ` [[AUH] 10/17] steps.py: Move clean_repo to first step Aníbal Limón
2015-11-26 0:00 ` [[AUH] 11/17] utils/git.py: Add method for apply patches into a branch Aníbal Limón
2015-11-26 20:28 ` Paul Eggleton
2015-11-27 16:51 ` Aníbal Limón
2015-11-26 0:00 ` Aníbal Limón [this message]
2015-11-26 0:00 ` [[AUH] 13/17] upgradehelper: Add testimage feature Aníbal Limón
2015-11-26 20:29 ` Paul Eggleton
2015-11-27 16:51 ` Aníbal Limón
2015-11-26 0:00 ` [[AUH] 14/17] upgradehelper.py: Changed retry failure build to 30 days Aníbal Limón
2015-11-26 0:00 ` [[AUH] 15/17] upgradehelper: Add workdir setting Aníbal Limón
2015-11-26 0:00 ` [[AUH] 16/17] statistics: Improve email format and get_summary method Aníbal Limón
2015-11-26 0:00 ` [[AUH] 17/17] statistics: Add support for publish_work_url setting Aníbal Limón
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1448496046-13186-13-git-send-email-anibal.limon@linux.intel.com \
--to=anibal.limon@linux.intel.com \
--cc=paul.eggleton@linux.intel.com \
--cc=yocto@yoctoproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.