[OE-core] [PATCH 4/4] Add ptest for dbus.
Björn Stenberg
bjst at enea.com
Thu Nov 22 16:02:00 UTC 2012
This patch adds a new recipe dbus-test to build and package the dbus test
suite. The reason for a separate recipe is that the dbus test suite depends
on dbus-glib, so it cannot be compiled at the same time as dbus.
An RDEPENDS rule is added to the dbus recipe to include the dbus-test
package into the image when ptest is enabled, since the standard -ptest
suffix mechanism does not apply to this package.
Signed-off-by: Björn Stenberg <bjst at enea.com>
---
meta/recipes-core/dbus/dbus-1.6.4/run-ptest | 3 +
.../dbus/dbus-1.6.4/test-run-path.patch | 26 ++++++
meta/recipes-core/dbus/dbus-test_1.6.4.bb | 84 ++++++++++++++++++++
meta/recipes-core/dbus/dbus.inc | 3 +
4 files changed, 116 insertions(+), 0 deletions(-)
create mode 100755 meta/recipes-core/dbus/dbus-1.6.4/run-ptest
create mode 100644 meta/recipes-core/dbus/dbus-1.6.4/test-run-path.patch
create mode 100644 meta/recipes-core/dbus/dbus-test_1.6.4.bb
diff --git a/meta/recipes-core/dbus/dbus-1.6.4/run-ptest b/meta/recipes-core/dbus/dbus-1.6.4/run-ptest
new file mode 100755
index 0000000..e08ecb1
--- /dev/null
+++ b/meta/recipes-core/dbus/dbus-1.6.4/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+cd test
+make -k runtest-TESTS
diff --git a/meta/recipes-core/dbus/dbus-1.6.4/test-run-path.patch b/meta/recipes-core/dbus/dbus-1.6.4/test-run-path.patch
new file mode 100644
index 0000000..5c08c93
--- /dev/null
+++ b/meta/recipes-core/dbus/dbus-1.6.4/test-run-path.patch
@@ -0,0 +1,26 @@
+
+
+Signed-off-by: Björn Stenberg <bjst at enea.com>
+Upstream-Status: Pending
+
+--- a/test/Makefile.am 2012-06-15 15:25:43.000000000 +0200
++++ b/test/Makefile.am 2012-11-16 09:24:44.263140840 +0100
+@@ -119,12 +119,13 @@
+ DBUS_TEST_HOMEDIR=@abs_top_builddir@/dbus \
+ DBUS_TEST_SYSCONFDIR=$(DESTDIR)$(sysconfdir)
+
++ptest_run_dir = ..
++
+ TESTS_ENVIRONMENT = \
+- DBUS_BLOCK_ON_ABORT=1 \
+- DBUS_FATAL_WARNINGS=1 \
+- DBUS_TEST_DAEMON=@abs_top_builddir@/bus/dbus-daemon$(EXEEXT) \
+- DBUS_TEST_DATA=@abs_top_builddir@/test/data \
+- DBUS_TEST_HOMEDIR=@abs_top_builddir@/dbus \
++ DBUS_FATAL_WARNINGS=0 \
++ DBUS_TEST_DAEMON=$(ptest_run_dir)/bus/dbus-daemon$(EXEEXT) \
++ DBUS_TEST_DATA=$(ptest_run_dir)/test/data \
++ DBUS_TEST_HOMEDIR=$(ptest_run_dir)/dbus \
+ $(NULL)
+
+ test_corrupt_SOURCES = corrupt.c
diff --git a/meta/recipes-core/dbus/dbus-test_1.6.4.bb b/meta/recipes-core/dbus/dbus-test_1.6.4.bb
new file mode 100644
index 0000000..84829f7
--- /dev/null
+++ b/meta/recipes-core/dbus/dbus-test_1.6.4.bb
@@ -0,0 +1,84 @@
+DESCRIPTION = "D-Bus test package, only used for D-bus functionality test."
+HOMEPAGE = "http://dbus.freedesktop.org"
+SECTION = "base"
+LICENSE = "AFL-2 | GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=10dded3b58148f3f1fd804b26354af3e \
+ file://dbus/dbus.h;firstline=6;endline=20;md5=6eea2e0c7750dd8e620dcb1437312fa5"
+
+DEPENDS = "python-pygobject dbus dbus-glib"
+
+SRC_URI = "http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \
+ file://tmpdir.patch \
+ file://test-run-path.patch \
+ file://dbus-1.init \
+ file://run-ptest \
+ "
+
+S="${WORKDIR}/dbus-${PV}"
+FILESPATH = "${FILE_DIRNAME}/dbus-${PV}"
+
+inherit autotools pkgconfig gettext
+
+EXTRA_OECONF_X = "${@base_contains('DISTRO_FEATURES', 'x11', '--with-x', '--without-x', d)}"
+EXTRA_OECONF_X_virtclass-native = "--without-x"
+
+EXTRA_OECONF = "--enable-tests \
+ --enable-checks \
+ --enable-asserts \
+ --enable-verbose-mode \
+ --disable-xml-docs \
+ --disable-doxygen-docs \
+ --disable-libaudit \
+ --with-xml=expat \
+ --with-systemdsystemunitdir=${systemd_unitdir}/system/ \
+ ${EXTRA_OECONF_X}"
+
+FILES_${PN}-dbg = "\
+ ${PTEST_PATH}/test/name-test/.debug \
+ ${PTEST_PATH}/test/.debug \
+ ${PTEST_PATH}/test/.libs/.debug \
+ ${PTEST_PATH}/.debug \
+ ${PTEST_PATH}/bus/.debug \
+ ${PTEST_PATH}/dbus/.debug \
+ ${PTEST_PATH}/tools/.debug \
+ ${PTEST_PATH}/tools/.libs/.debug \
+ /usr/src \
+ /usr/src/debug \
+ /usr/src/debug/${PN}-${PV}/dbus-${PV}/test/name-test/.debug \
+ /usr/src/debug/${PN}-${PV}/dbus-${PV}/test/.debug \
+ /usr/src/debug/${PN}-${PV}/dbus-${PV}/test/.libs/.debug \
+ /usr/src/debug/${PN}-${PV}/dbus-${PV}/.debug \
+ /usr/src/debug/${PN}-${PV}/dbus-${PV}/bus/.debug \
+ /usr/src/debug/${PN}-${PV}/dbus-${PV}/tools/.debug \
+ /usr/src/debug/${PN}-${PV}/dbus-${PV}/tools/.libs/.debug \
+ "
+
+FILES_${PN}-staticdev = "${PTEST_PATH}/test/.libs \
+ ${PTEST_PATH}/tools/.libs \
+ "
+do_install() {
+ mkdir -p ${D}${libdir}/${PN}
+ touch ${D}${libdir}/${PN}/empty_file
+
+ if [ "${PN}" = "${BPN}" -a ${PTEST_ENABLED} = "1" ] ; then
+ mkdir -p ${D}${PTEST_PATH}
+ install -m 0755 ${WORKDIR}/run-ptest ${D}${PTEST_PATH}
+ cp ${S}/Makefile ${D}${PTEST_PATH}
+
+ for subdir in dbus bus tools test doc; do
+ mkdir -p ${D}${PTEST_PATH}/$subdir
+ done
+
+ cp ${S}/bus/bus-test* ${D}${PTEST_PATH}/bus
+ cp ${S}/bus/dbus-daemon ${D}${PTEST_PATH}/bus
+ cp ${S}/dbus/dbus-test ${D}${PTEST_PATH}/dbus
+ cp ${S}/tools/.libs/* ${D}${PTEST_PATH}/tools
+
+ cp -r ${S}/test ${D}${PTEST_PATH}
+ find ${D}${PTEST_PATH}/test -name "*.[choa]" -o -name "*.la" | xargs rm
+ mv -f ${D}${PTEST_PATH}/test/.libs/* ${D}${PTEST_PATH}/test
+ rm -rf ${D}${PTEST_PATH}/test/.libs
+
+ find ${D}${PTEST_PATH} -name Makefile | xargs sed -i 's/^Makefile:/_Makefile:/'
+ fi
+}
diff --git a/meta/recipes-core/dbus/dbus.inc b/meta/recipes-core/dbus/dbus.inc
index d165cdd..ab7d9f6 100644
--- a/meta/recipes-core/dbus/dbus.inc
+++ b/meta/recipes-core/dbus/dbus.inc
@@ -9,6 +9,9 @@ X11DEPENDS = "virtual/libx11 libsm"
DEPENDS = "expat virtual/libintl ${@base_contains('DISTRO_FEATURES', 'x11', '${X11DEPENDS}', '', d)}"
DEPENDS_class-native = "expat-native virtual/libintl-native"
DEPENDS_class-nativesdk = "nativesdk-expat virtual/nativesdk-libintl virtual/libx11"
+RDEPENDS = "${@base_contains('DISTRO_FEATURES', 'ptest', 'dbus-test', '', d)}"
+RDEPENDS_class-native = ""
+
INC_PR = "r5"
--
1.7.5.4
More information about the Openembedded-core
mailing list