dbus-test: merge into main dbus recipe

The reason it was separate is that there is a peculiar circular
dependency: dbus tests require glib, while some of glib's gdbus tests
require dbus. So dbus was built with tests disabled and without glib
dependency, then glib was built with dbus dependency, then dbus was
built again with glib dependency and tests enabled, only for the purpose
of installing those tests. I find that brittle and hacky, so this
removes dbus dependecy from glib (the fallout is that some gdbus tests
are no longer being executed), and dbus and its tests are built once,
after glib. Conversely, dbus is now dependent on glib for the purpose
of building the tests.

Also, dbus ptest installation is no longer using custom code, and dbus
run-ptest simply uses standard installed tests execution mechanism from
gnome.

(From OE-Core rev: cfecef4e6925865961858d0fe5ffc7794c71cd3b)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Alexander Kanavin
2022-03-09 23:22:12 +01:00
committed by Richard Purdie
parent 5d11e2028e
commit 7367324055
7 changed files with 12 additions and 109 deletions

View File

@@ -134,7 +134,6 @@ RECIPE_MAINTAINER:pn-cwautomacros = "Ross Burton <ross.burton@arm.com>"
RECIPE_MAINTAINER:pn-db = "Unassigned <unassigned@yoctoproject.org>"
RECIPE_MAINTAINER:pn-dbus = "Chen Qi <Qi.Chen@windriver.com>"
RECIPE_MAINTAINER:pn-dbus-glib = "Chen Qi <Qi.Chen@windriver.com>"
RECIPE_MAINTAINER:pn-dbus-test = "Chen Qi <Qi.Chen@windriver.com>"
RECIPE_MAINTAINER:pn-dbus-wait = "Chen Qi <Qi.Chen@windriver.com>"
RECIPE_MAINTAINER:pn-debianutils = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER:pn-dejagnu = "Nathan Rossi <nathan@nathanrossi.com>"

View File

@@ -76,7 +76,7 @@ PTESTS_SLOW = "\
babeltrace2-ptest \
busybox-ptest \
coreutils-ptest \
dbus-test-ptest \
dbus-ptest \
e2fsprogs-ptest \
findutils-ptest \
glib-2.0-ptest \

View File

@@ -1,64 +0,0 @@
SUMMARY = "D-Bus test package (for D-bus functionality testing only)"
HOMEPAGE = "http://dbus.freedesktop.org"
SECTION = "base"
require dbus.inc
SRC_URI += "file://run-ptest \
file://python-config.patch \
"
DEPENDS = "dbus glib-2.0"
RDEPENDS:${PN}-dev = ""
S="${WORKDIR}/dbus-${PV}"
FILESEXTRAPATHS =. "${FILE_DIRNAME}/dbus:"
inherit ptest
EXTRA_OECONF += "--enable-tests \
--enable-modular-tests \
--enable-installed-tests \
--enable-checks \
--enable-asserts \
--with-dbus-test-dir=${PTEST_PATH} \
--enable-embedded-tests \
"
do_install() {
:
}
do_install_ptest() {
install -d ${D}${PTEST_PATH}/test
l="shell printf refs syslog marshal syntax corrupt dbus-daemon dbus-daemon-eavesdrop loopback relay \
variant uid-permissions syntax spawn sd-activation names monitor message fdpass service shell-service"
for i in $l; do install ${B}/test/.libs/test-$i ${D}${PTEST_PATH}/test; done
l="bus bus-system bus-launch-helper"
for i in $l; do install ${B}/bus/.libs/test-$i ${D}${PTEST_PATH}/test; done
install -d ${D}${PTEST_PATH}/bus
install ${B}/bus/.libs/dbus-daemon-launch-helper-test ${D}${PTEST_PATH}/bus
install ${B}/test/test-segfault ${D}${PTEST_PATH}/test
cp -r ${B}/test/data ${D}${PTEST_PATH}/test
install ${B}/dbus/.libs/test-dbus ${D}${PTEST_PATH}/test
install -d ${D}${PTEST_PATH}/test/.libs
cp -a ${B}/dbus/.libs/*.so* ${D}${PTEST_PATH}/test/.libs
# Remove build host references...
find "${D}${PTEST_PATH}/test/data" \( -name *.service -o -name *.conf -o -name "*.aaprofile" \) -type f -exec \
sed -i \
-e 's:${B}:${PTEST_PATH}:g' \
{} +
sed -i -e 's;@PTEST_PATH@;${PTEST_PATH};g' ${D}${PTEST_PATH}/run-ptest
}
RDEPENDS:${PN}-ptest += "bash make dbus"
RDEPENDS:${PN}-ptest:remove = "${PN}"
PRIVATE_LIBS:${PN}-ptest = "libdbus-1.so.3"

View File

@@ -1,10 +1,12 @@
inherit autotools pkgconfig gettext upstream-version-is-even
inherit autotools pkgconfig gettext upstream-version-is-even ptest-gnome
LICENSE = "AFL-2.1 | GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=10dded3b58148f3f1fd804b26354af3e \
file://dbus/dbus.h;beginline=6;endline=20;md5=7755c9d7abccd5dbd25a6a974538bb3c"
SRC_URI = "https://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \
file://run-ptest \
file://python-config.patch \
file://tmpdir.patch \
file://dbus-1.init \
file://clear-guid_from_server-if-send_negotiate_unix_f.patch \
@@ -17,6 +19,9 @@ EXTRA_OECONF = "--disable-xml-docs \
--disable-doxygen-docs \
--enable-largefile \
--with-system-socket=/run/dbus/system_bus_socket \
--enable-tests \
--enable-checks \
--enable-asserts \
"
EXTRA_OECONF:append:class-target = " SYSTEMCTL=${base_bindir}/systemctl"

View File

@@ -1,35 +1,3 @@
#!/bin/sh
output() {
retcode=$?
if [ $retcode -eq 0 ]
then echo "PASS: $i"
elif [ $retcode -eq 77 ]
then echo "SKIP: $i"
else echo "FAIL: $i"
fi
}
export DBUS_TEST_HOMEDIR=./test
export XDG_RUNTIME_DIR=./test
export LD_LIBRARY_PATH=@PTEST_PATH@/test/.libs
files=`ls test/test-*`
for i in $files
do
#these programs are used by testcase test-bus, don't run here
#additionally, test-names needs to be run under X
if [ $i = "test/test-service" ] \
|| [ $i = "test/test-shell-service" ] \
|| [ $i = "test/test-segfault" ] \
|| [ $i = "test/test-bus" ] \
|| [ $i = "test/test-names" ]
then
continue
fi
./$i ./test/data >/dev/null 2>&1
output
done
gnome-desktop-testing-runner dbus

View File

@@ -5,10 +5,7 @@ SECTION = "base"
require dbus.inc
DEPENDS = "expat virtual/libintl autoconf-archive"
PACKAGES += "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', '${PN}-ptest', '', d)}"
ALLOW_EMPTY:dbus-ptest = "1"
RDEPENDS:dbus-ptest:class-target = "dbus-test-ptest"
DEPENDS = "expat virtual/libintl autoconf-archive glib-2.0"
RDEPENDS:${PN} += "${PN}-common ${PN}-tools"
RDEPENDS:${PN}:class-native = ""
@@ -73,6 +70,8 @@ FILES:${PN}-lib = "${libdir}/lib*.so.*"
RRECOMMENDS:${PN}-lib = "${PN}"
FILES:${PN}-dev += "${libdir}/dbus-1.0/include ${bindir}/dbus-test-tool ${datadir}/xml/dbus-1"
RDEPENDS:${PN}-ptest += "bash make dbus"
PACKAGE_WRITE_DEPS += "${@bb.utils.contains('DISTRO_FEATURES','systemd sysvinit','systemd-systemctl-native','',d)}"
pkg_postinst:dbus() {
# If both systemd and sysvinit are enabled, mask the dbus-1 init script
@@ -89,8 +88,6 @@ pkg_postinst:dbus() {
}
EXTRA_OECONF += "--disable-tests"
do_install() {
autotools_do_install
@@ -149,5 +146,3 @@ do_install:class-nativesdk() {
rm -rf ${D}${localstatedir}/run
}
BBCLASSEXTEND = "native nativesdk"
INSANE_SKIP:${PN}-ptest += "build-deps"

View File

@@ -43,7 +43,7 @@ PACKAGECONFIG[libmount] = "-Dlibmount=enabled,-Dlibmount=disabled,util-linux"
PACKAGECONFIG[manpages] = "-Dman=true, -Dman=false, libxslt-native xmlto-native"
# libelf is auto-detected without a configuration option
PACKAGECONFIG[libelf] = ",,elfutils"
PACKAGECONFIG[tests] = "-Dinstalled_tests=true,-Dinstalled_tests=false,dbus"
PACKAGECONFIG[tests] = "-Dinstalled_tests=true,-Dinstalled_tests=false,"
PACKAGECONFIG[selinux] = "-Dselinux=enabled,-Dselinux=disabled,libselinux"
EXTRA_OEMESON = "-Ddtrace=false -Dfam=false -Dsystemtap=false"