Patchwork [4/5] Add ptest for dbus.

login
register
mail settings
Submitter Björn Stenberg
Date Dec. 20, 2012, 1:53 p.m.
Message ID <1356011593-29134-1-git-send-email-bjst@enea.com>
Download mbox | patch
Permalink /patch/41403/
State Accepted
Commit 0c7da2f1467e01d87c20ca5d033d1d3838e10f79
Headers show

Comments

Björn Stenberg - Dec. 20, 2012, 1:53 p.m.
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.

Signed-off-by: Björn Stenberg <bjst@enea.com>
---
 meta/recipes-core/dbus/dbus-1.6.4/ptest.patch      |  144 ++++++++++++++++++++
 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-ptest_1.6.4.bb         |   46 ++++++
 meta/recipes-core/dbus/dbus.inc                    |    2 +
 5 files changed, 221 insertions(+), 0 deletions(-)
 create mode 100644 meta/recipes-core/dbus/dbus-1.6.4/ptest.patch
 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-ptest_1.6.4.bb

Patch

diff --git a/meta/recipes-core/dbus/dbus-1.6.4/ptest.patch b/meta/recipes-core/dbus/dbus-1.6.4/ptest.patch
new file mode 100644
index 0000000..106bfb4
--- /dev/null
+++ b/meta/recipes-core/dbus/dbus-1.6.4/ptest.patch
@@ -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
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@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-ptest_1.6.4.bb b/meta/recipes-core/dbus/dbus-ptest_1.6.4.bb
new file mode 100644
index 0000000..2982439
--- /dev/null
+++ b/meta/recipes-core/dbus/dbus-ptest_1.6.4.bb
@@ -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:/'
+}
diff --git a/meta/recipes-core/dbus/dbus.inc b/meta/recipes-core/dbus/dbus.inc
index d165cdd..68f5e40 100644
--- a/meta/recipes-core/dbus/dbus.inc
+++ b/meta/recipes-core/dbus/dbus.inc
@@ -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"