Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Richard Purdie <richard.purdie@linuxfoundation.org>
To: "Björn Stenberg" <bjst@enea.com>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [PATCH 1/4] Add a new distro feature "ptest".
Date: Fri, 23 Nov 2012 21:49:21 +0000	[thread overview]
Message-ID: <1353707361.21863.4.camel@ted> (raw)
In-Reply-To: <1353600120-22967-2-git-send-email-bjst@enea.com>

On Thu, 2012-11-22 at 17:01 +0100, Björn Stenberg wrote:
> This patch creates a new distro feature "ptest", which creates -ptest
> packages containing the test suite of the package for running on the
> target. Test files are installed in /usr/lib/<pkg>/ptest.
> 
> The patch also includes a change to automake, splitting the "make check"
> target into separate steps for building and running the tests.
> 
> Signed-off-by: Björn Stenberg <bjst@enea.com>
> ---
>  meta/classes/image.bbclass                         |    6 ++-
>  meta/classes/packagegroup.bbclass                  |    2 +-
>  meta/conf/bitbake.conf                             |   15 ++++++++-
>  .../automake/automake/buildtest.patch              |   33 ++++++++++++++++++++
>  meta/recipes-devtools/automake/automake_1.12.3.bb  |    3 +-
>  5 files changed, 54 insertions(+), 5 deletions(-)
>  create mode 100644 meta/recipes-devtools/automake/automake/buildtest.patch
> 
> diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
> index 7b24e4e..b574545 100644
> --- a/meta/classes/image.bbclass
> +++ b/meta/classes/image.bbclass
> @@ -29,13 +29,13 @@ ROOTFS_BOOTSTRAP_INSTALL = "${@base_contains("IMAGE_FEATURES", "package-manageme
>  FEATURE_INSTALL = "${@' '.join(oe.packagegroup.required_packages(oe.data.typed_value('IMAGE_FEATURES', d), d))}"
>  FEATURE_INSTALL_OPTIONAL = "${@' '.join(oe.packagegroup.optional_packages(oe.data.typed_value('IMAGE_FEATURES', d), d))}"
>  
> -# packages to install from features, excluding dev/dbg/doc
> +# packages to install from features, excluding dev/dbg/doc/ptest
>  NORMAL_FEATURE_INSTALL = "${@' '.join(oe.packagegroup.required_packages(normal_groups(d), d))}"
>  NORMAL_FEATURE_INSTALL_OPTIONAL = "${@' '.join(oe.packagegroup.optional_packages(normal_groups(d), d))}"
>  
>  def normal_groups(d):
>      """Return all the IMAGE_FEATURES, with the exception of our special package groups"""
> -    extras = set(['dev-pkgs', 'staticdev-pkgs', 'doc-pkgs', 'dbg-pkgs'])
> +    extras = set(['dev-pkgs', 'staticdev-pkgs', 'doc-pkgs', 'dbg-pkgs', 'ptest-pkgs'])
>      features = set(oe.data.typed_value('IMAGE_FEATURES', d))
>      return features.difference(extras)
>  
> @@ -57,6 +57,8 @@ def complementary_globs(featurevar, d):
>              globs.append('*-doc')
>          elif feature == 'dbg-pkgs':
>              globs.append('*-dbg')
> +        elif feature == 'ptest-pkgs':
> +            globs.append('*-ptest')
>      return ' '.join(globs)
>  
>  IMAGE_INSTALL_COMPLEMENTARY = '${@complementary_globs("IMAGE_FEATURES", d)}'
> diff --git a/meta/classes/packagegroup.bbclass b/meta/classes/packagegroup.bbclass
> index e0e5b1c..b5be048 100644
> --- a/meta/classes/packagegroup.bbclass
> +++ b/meta/classes/packagegroup.bbclass
> @@ -25,7 +25,7 @@ python () {
>      packages = d.getVar('PACKAGES', True).split()
>      genpackages = []
>      for pkg in packages:
> -        for postfix in ['-dbg', '-dev']:
> +        for postfix in ['-dbg', '-dev', '-ptest']:
>              genpackages.append(pkg+postfix)
>      d.setVar('PACKAGES', ' '.join(packages+genpackages))
>  }
> diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
> index 450a0ee..d86e999 100644
> --- a/meta/conf/bitbake.conf
> +++ b/meta/conf/bitbake.conf
> @@ -224,6 +224,10 @@ SUMMARY_${PN}-dbg ?= "${SUMMARY} - Debugging files"
>  DESCRIPTION_${PN}-dbg ?= "${DESCRIPTION}  \
>  This package contains ELF symbols and related sources for debugging purposes."
>  
> +SUMMARY_${PN}-ptest ?= "${SUMMARY} - Package test files"
> +DESCRIPTION_${PN}-ptest ?= "${DESCRIPTION}  \
> +This package contains a test directory ${PTEST_PATH} for package test purposes."
> +
>  SUMMARY_${PN}-dev ?= "${SUMMARY} - Development files"
>  DESCRIPTION_${PN}-dev ?= "${DESCRIPTION}  \
>  This package contains symbolic links, header files, and \
> @@ -267,7 +271,7 @@ SOLIBSDEV_darwin8 = ".dylib"
>  SOLIBSDEV_darwin9 = ".dylib"
>  
>  PACKAGE_BEFORE_PN ?= ""
> -PACKAGES = "${PN}-dbg ${PN}-staticdev ${PN}-dev ${PN}-doc ${PN}-locale ${PACKAGE_BEFORE_PN} ${PN}"
> +PACKAGES = "${PN}-dbg ${PN}-staticdev ${PN}-dev ${PN}-doc ${PN}-locale ${PN}-ptest ${PACKAGE_BEFORE_PN} ${PN}"
>  PACKAGES_DYNAMIC = "^${PN}-locale-.*"
>  FILES = ""
>  
> @@ -312,6 +316,15 @@ SECTION_${PN}-dbg = "devel"
>  ALLOW_EMPTY_${PN}-dbg = "1"
>  RRECOMMENDS_${PN}-dbg = "${PN} (= ${EXTENDPKGV})"
>  
> +PTEST_PATH ?= "${libdir}/${PN}/ptest"
> +FILES_${PN}-ptest = "${PTEST_PATH}/*"
> +SECTION_${PN}-ptest = "devel"
> +ALLOW_EMPTY_${PN}-ptest = "1"
> +RDEPENDS_${PN}-ptest = "${PN} (= ${EXTENDPKGV})"
> +PTEST_ENABLED = "${@base_contains("DISTRO_FEATURES", "ptest", "1", "0", d)}"
> +RDEPENDS_${PN}-ptest_virtclass-native = ""
> +RDEPENDS_${PN}-ptest_virtclass-nativesdk = ""
> +
>  FILES_${PN}-locale = "${datadir}/locale"
>  
>  # File manifest

Whilst we're in bootstrapping mode for this work, how about we make
these changes a "ptest.bbclass" file which we'd inherit in the recipes
where we've got ptest enabled?

This would also solve the package name conflict I suspect you have in
the dbus recipes, making the hack to the main dbus recipe unnecessary.

Cheers,

Richard




  reply	other threads:[~2012-11-23 22:03 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-22 16:01 [PATCH 0/4] ptest for master Björn Stenberg
2012-11-22 16:01 ` [PATCH 1/4] Add a new distro feature "ptest" Björn Stenberg
2012-11-23 21:49   ` Richard Purdie [this message]
2012-11-28 14:44     ` Björn Stenberg
2012-11-29 15:52     ` Björn Stenberg
2012-12-04 16:49       ` Richard Purdie
2012-12-05 10:17         ` Björn Stenberg
2012-11-22 16:01 ` [PATCH 2/4] New package: ptest-runner Björn Stenberg
2012-11-22 16:01 ` [PATCH 3/4] Add ptest for glib Björn Stenberg
2012-11-23 21:50   ` Richard Purdie
2012-11-28 13:32   ` Björn Stenberg
2012-11-22 16:02 ` [PATCH 4/4] Add ptest for dbus Björn Stenberg
2012-11-22 16:06   ` Otavio Salvador
2012-11-23 21:46   ` Richard Purdie
  -- strict thread matches above, loose matches on Subject: below --
2012-11-21 15:23 [PATCH 0/4] RFC: ptest for danny Björn Stenberg
2012-11-21 15:23 ` [PATCH 1/4] Add a new distro feature "ptest" Björn Stenberg

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=1353707361.21863.4.camel@ted \
    --to=richard.purdie@linuxfoundation.org \
    --cc=bjst@enea.com \
    --cc=openembedded-core@lists.openembedded.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox