Add ptest for dbus.

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.

(From OE-Core rev: 280e79adea4536b264a526072406d605d0822e7d)

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:
Björn Stenberg 2012-12-20 14:53:13 +01:00 committed by Richard Purdie
parent ddce381e78
commit 0c7da2f146
5 changed files with 221 additions and 0 deletions

View File

@ -0,0 +1,144 @@
Add install-ptest rules.
Change TEST_ENVIRONMENT to allow running outside build dir.
Makefile.am | 7 +++++++
bus/Makefile.am | 6 ++++++
dbus/Makefile.am | 6 ++++++
doc/Makefile.am | 4 ++++
test/Makefile.am | 25 ++++++++++++++++++++-----
test/name-test/Makefile.am | 9 +++++++++
tools/Makefile.am | 12 ++++++++++++
7 files changed, 64 insertions(+), 5 deletions(-)
Signed-off-by: Björn Stenberg <bjst@enea.com>
Upstream-Status: Pending
diff -ur a/Makefile.am b/Makefile.am
--- a/Makefile.am 2012-12-06 14:34:01.157414449 +0100
+++ b/Makefile.am 2012-12-06 15:21:14.447113035 +0100
@@ -30,4 +30,11 @@
ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
+if DBUS_BUILD_TESTS
+install-ptest:
+ @for subdir in $(SUBDIRS); do \
+ $(MAKE) -C $$subdir DESTDIR=$(DESTDIR)/$$subdir $@; \
+ done
+endif
+
include tools/lcov.am
diff -ur a/bus/Makefile.am b/bus/Makefile.am
--- a/bus/Makefile.am 2012-12-06 14:34:01.169413931 +0100
+++ b/bus/Makefile.am 2012-12-06 15:21:14.463112346 +0100
@@ -290,3 +290,9 @@
#### Extra dist
EXTRA_DIST=$(CONFIG_IN_FILES) $(SCRIPT_IN_FILES)
+
+if DBUS_BUILD_TESTS
+install-ptest:
+ @$(MKDIR_P) $(DESTDIR)
+ @install $(dbus_daemon_exec_PROGRAMS) $(noinst_PROGRAMS) $(DESTDIR)
+endif
diff -ur a/dbus/Makefile.am b/dbus/Makefile.am
--- a/dbus/Makefile.am 2012-12-06 14:34:01.161414276 +0100
+++ b/dbus/Makefile.am 2012-12-06 15:21:14.451112862 +0100
@@ -310,3 +310,9 @@
update-systemd:
curl http://cgit.freedesktop.org/systemd/plain/src/sd-daemon.c > sd-daemon.c
curl http://cgit.freedesktop.org/systemd/plain/src/sd-daemon.h > sd-daemon.h
+
+if DBUS_BUILD_TESTS
+install-ptest:
+ @$(MKDIR_P) $(DESTDIR)
+ @install $(noinst_PROGRAMS) $(DESTDIR)
+endif
diff -ur a/test/Makefile.am b/test/Makefile.am
--- a/test/Makefile.am 2012-12-06 14:34:01.165414103 +0100
+++ b/test/Makefile.am 2012-12-06 15:21:14.455112690 +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
@@ -325,3 +326,18 @@
data/valid-config-files/system.conf: $(top_builddir)/bus/system.conf
$(AM_V_at)$(MKDIR_P) data/valid-config-files
$(AM_V_GEN)cp $< $@
+
+if DBUS_BUILD_TESTS
+install-ptest: install-ptest-nonrecursive
+ @for subdir in $(SUBDIRS); do \
+ if [ $$subdir != "." ]; then \
+ $(MAKE) -C $$subdir DESTDIR=$(DESTDIR)/$$subdir $@; \
+ fi; \
+ done
+
+install-ptest-nonrecursive:
+ @$(MKDIR_P) $(DESTDIR)/data/valid-config-files/session.d
+ @for file in Makefile $(installable_tests) $(EXTRA_DIST) $(noinst_DATA); do \
+ install -D $${file%.in} $(DESTDIR)/$${file%.in}; \
+ done;
+endif
diff -ur a/test/name-test/Makefile.am b/test/name-test/Makefile.am
--- a/test/name-test/Makefile.am 2012-12-06 14:34:01.169413931 +0100
+++ b/test/name-test/Makefile.am 2012-12-06 15:21:14.459112518 +0100
@@ -36,4 +36,13 @@
test_privserver_client_LDADD=../libdbus-testutils.la
test_autolaunch_LDADD=../libdbus-testutils.la
+install-ptest:
+ @$(MKDIR_P) $(DESTDIR)
+ @for file in Makefile $(noinst_PROGRAMS) $(EXTRA_DIST); do \
+ if [ -f .libs/$$file ]; then \
+ install .libs/$$file $(DESTDIR); \
+ else \
+ install $$file $(DESTDIR); \
+ fi \
+ done;
endif
diff -ur a/tools/Makefile.am b/tools/Makefile.am
--- a/tools/Makefile.am 2012-12-06 14:34:01.161414276 +0100
+++ b/tools/Makefile.am 2012-12-06 15:21:14.455112690 +0100
@@ -78,3 +78,15 @@
installcheck-local:
test -d $(DESTDIR)$(localstatedir)/lib/dbus
+
+if DBUS_BUILD_TESTS
+install-ptest:
+ @$(MKDIR_P) $(DESTDIR)
+ @for file in $(bin_PROGRAMS); do \
+ if [ -f .libs/$$file ]; then \
+ install .libs/$$file $(DESTDIR); \
+ else \
+ install $$file $(DESTDIR); \
+ fi; \
+ done;
+endif
diff -ur a/doc/Makefile.am b/doc/Makefile.am
--- a/doc/Makefile.am 2012-06-06 12:45:55.000000000 +0200
+++ b/doc/Makefile.am 2012-12-06 16:04:58.990070587 +0100
@@ -174,3 +174,7 @@
maintainer-clean-local:
rm -f $(XMLTO_OUTPUT)
+
+if DBUS_BUILD_TESTS
+install-ptest:
+endif

View File

@ -0,0 +1,3 @@
#!/bin/sh
cd test
make -k runtest-TESTS

View File

@ -0,0 +1,26 @@
Signed-off-by: Björn Stenberg <bjst@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

View File

@ -0,0 +1,46 @@
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"
RDEPENDS = "make"
SRC_URI = "http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \
file://tmpdir.patch \
file://ptest.patch \
file://dbus-1.init \
file://run-ptest \
"
SRC_URI[md5sum] = "5ec43dc4554cba638917317b2b4f7640"
SRC_URI[sha256sum] = "5fba6b7a415d761a843fb8e0aee72db61cf13057a9ef8cdc795e5d369dc74cf1"
S="${WORKDIR}/dbus-${PV}"
FILESPATH = "${FILE_DIRNAME}/dbus-${PV}"
inherit autotools pkgconfig gettext ptest
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-modular-tests \
--enable-installed-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}"
do_install() {
ptest_do_install
find ${D}${PTEST_PATH} -name Makefile | xargs sed -i 's/^Makefile:/_Makefile:/'
}

View File

@ -9,6 +9,8 @@ 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_dbus = "${@base_contains('DISTRO_FEATURES', 'ptest', 'dbus-ptest', '', d)}"
RDEPENDS_class-native = ""
INC_PR = "r5"