Add a new distro feature "ptest".
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. (From OE-Core rev: 6f92e7f8891008dd3c89325d3fbe2da853372326) Signed-off-by: Björn Stenberg <bjst@enea.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
627e745d7b
commit
1d2c6833ae
|
@ -26,13 +26,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)
|
||||
|
||||
|
@ -54,6 +54,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)}'
|
||||
|
|
|
@ -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))
|
||||
}
|
||||
|
|
|
@ -0,0 +1,34 @@
|
|||
# Ptest packages are built indirectly by a distro_feature,
|
||||
# no need for them to be a direct target of 'world'
|
||||
EXCLUDE_FROM_WORLD = "1"
|
||||
|
||||
SUMMARY_${PN}-ptest ?= "${SUMMARY} - Package test files"
|
||||
DESCRIPTION_${PN}-ptest ?= "${DESCRIPTION} \
|
||||
This package contains a test directory ${PTEST_PATH} for package test purposes."
|
||||
|
||||
PTEST_PATH ?= "${libdir}/${PN}/ptest"
|
||||
FILES_${PN}-ptest = "${PTEST_PATH}/*"
|
||||
SECTION_${PN}-ptest = "devel"
|
||||
ALLOW_EMPTY_${PN}-ptest = "1"
|
||||
PTEST_ENABLED = "${@base_contains("DISTRO_FEATURES", "ptest", "1", "0", d)}"
|
||||
RDEPENDS_${PN}-ptest_virtclass-native = ""
|
||||
RDEPENDS_${PN}-ptest_virtclass-nativesdk = ""
|
||||
|
||||
PACKAGES += "${PN}-ptest"
|
||||
|
||||
FILES_${PN}-dbg += "${PTEST_PATH}/*/.debug \
|
||||
${PTEST_PATH}/*/*/.debug \
|
||||
${PTEST_PATH}/*/*/*/.debug \
|
||||
${PTEST_PATH}/*/*/*/*/.debug \
|
||||
"
|
||||
|
||||
ptest_do_install() {
|
||||
if [ "${PN}" = "${BPN}" -a ${PTEST_ENABLED} = "1" ]; then
|
||||
install -D ${WORKDIR}/run-ptest ${D}${PTEST_PATH}/run-ptest
|
||||
if grep -q install-ptest: Makefile; then
|
||||
oe_runmake DESTDIR=${D}${PTEST_PATH} install-ptest
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
EXPORT_FUNCTIONS ptest_do_install
|
|
@ -0,0 +1,33 @@
|
|||
Split "check-TESTS" into a buildtest and runtest target, so that they can
|
||||
be run separately.
|
||||
|
||||
Signed-off-by: Björn Stenberg <bjst@enea.com>
|
||||
Upstream-Status: Pending
|
||||
|
||||
--- a/lib/am/check.am 2012-11-14 13:46:16.335475995 +0100
|
||||
+++ b/lib/am/check.am 2012-08-13 18:40:12.000000000 +0200
|
||||
@@ -44,7 +44,7 @@
|
||||
am__tty_colors = $(am__tty_colors_dummy)
|
||||
endif !%?COLOR%
|
||||
|
||||
-.PHONY: check-TESTS
|
||||
+.PHONY: check-TESTS buildtest-TESTS runtest-TESTS
|
||||
|
||||
if %?PARALLEL_TESTS%
|
||||
|
||||
@@ -465,7 +465,14 @@
|
||||
|
||||
else !%?PARALLEL_TESTS%
|
||||
|
||||
-check-TESTS: $(TESTS)
|
||||
+AM_RECURSIVE_TARGETS += buildtest runtest
|
||||
+
|
||||
+buildtest-TESTS: $(TESTS)
|
||||
+
|
||||
+check-TESTS: buildtest-TESTS
|
||||
+ $(MAKE) $(AM_MAKEFLAGS) runtest-TESTS
|
||||
+
|
||||
+runtest-TESTS:
|
||||
@failed=0; all=0; xfail=0; xpass=0; skip=0; \
|
||||
srcdir=$(srcdir); export srcdir; \
|
||||
## Make sure Solaris VPATH-expands all members of this list, even
|
|
@ -23,7 +23,8 @@ PATHFIXPATCH_class-nativesdk = ""
|
|||
SRC_URI += "${PATHFIXPATCH} \
|
||||
file://prefer-cpio-over-pax-for-ustar-archives.patch \
|
||||
file://python-libdir.patch \
|
||||
file://py-compile-compile-only-optimized-byte-code.patch"
|
||||
file://py-compile-compile-only-optimized-byte-code.patch \
|
||||
file://buildtest.patch"
|
||||
|
||||
SRC_URI[md5sum] = "674f6d28f8723e0f478cb03de30f36f1"
|
||||
SRC_URI[sha256sum] = "82089e23b384d3e64efa4f09f133a02dadb91c0593d4f1d4e12c29d806be9925"
|
||||
|
|
Loading…
Reference in New Issue