summaryrefslogtreecommitdiff
path: root/meta/classes/ptest.bbclass
diff options
context:
space:
mode:
authorBjörn Stenberg <bjst@enea.com>2012-12-19 17:18:27 +0100
committerSaul Wold <sgw@linux.intel.com>2012-12-25 14:00:20 -0800
commit6f92e7f8891008dd3c89325d3fbe2da853372326 (patch)
tree2e295c48cdb056282aaabde81ce866d59c063ce4 /meta/classes/ptest.bbclass
parentc5b11835b478871210fdd5c98db3b75f51fb80cd (diff)
downloadopenembedded-core-6f92e7f8891008dd3c89325d3fbe2da853372326.tar.gz
openembedded-core-6f92e7f8891008dd3c89325d3fbe2da853372326.tar.bz2
openembedded-core-6f92e7f8891008dd3c89325d3fbe2da853372326.zip
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. Signed-off-by: Björn Stenberg <bjst@enea.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Diffstat (limited to 'meta/classes/ptest.bbclass')
-rw-r--r--meta/classes/ptest.bbclass34
1 files changed, 34 insertions, 0 deletions
diff --git a/meta/classes/ptest.bbclass b/meta/classes/ptest.bbclass
new file mode 100644
index 0000000000..8bde489e90
--- /dev/null
+++ b/meta/classes/ptest.bbclass
@@ -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