From: Khem Raj <raj.khem@gmail.com>
To: Juro Bystricky <juro.bystricky@intel.com>,
openembedded-core@lists.openembedded.org
Cc: jurobystricky@hotmail.com
Subject: Re: [PATCH] dbus-test_1.12.2: various fixes
Date: Tue, 27 Feb 2018 19:46:17 -0800 [thread overview]
Message-ID: <eda462cd-26be-df48-2157-8bbfe00a4740@gmail.com> (raw)
In-Reply-To: <1519762766-20100-1-git-send-email-juro.bystricky@intel.com>
On 2/27/18 12:19 PM, Juro Bystricky wrote:
> The result of running dbus-test-ptest was a series of
> various segfaults, interpreted as FAILs. This was a direct consequence
> of the test suite loading the installed shared library libdbus-1.so, not the
> one built along the test suite.
>
> While we normally want to test against the installed libraries, we cannot
> do this in this case as the test suite expects a library that is configured/compiled
> differently from the installed one. We could configure the installed library
> identically as the test suite expects, (and there should be no issues), however
> this is not desirable for performance reasons.
>
> Hence we need to use the library built along with the test suite.
> Of course, running the test suite against its own library does not
> test the installed library, however they are both built from the same
> sources so that can give us some kind of indication.
>
> The following changes were made:
>
> 1. Configure the test library as close as possible to the installed one,
> with some additional configuration options that are needed for testing.
> (Use dbus_1.12.2.bb recipe as a template)
> 2. Include the shared libraries in the package, use LD_LIBRARY_PATH during
> testing to load them instead of the installed ones.
> 3. Add a few more tests. (There are still some additional tests built that
> are not used, but they would have to be special-cased).
> 4. When evaluating the test results, differentiate between "FAIL" and "SKIP"
>
> [YOCTO #10841]
> [YOCTO #12277]
>
> Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
> ---
> meta/recipes-core/dbus/dbus-test_1.12.2.bb | 30 ++++++++++++++++++++++++++----
> meta/recipes-core/dbus/dbus/run-ptest | 20 +++++++++++++++++---
> 2 files changed, 43 insertions(+), 7 deletions(-)
>
> diff --git a/meta/recipes-core/dbus/dbus-test_1.12.2.bb b/meta/recipes-core/dbus/dbus-test_1.12.2.bb
> index c3891a3..a6a5ca2 100644
> --- a/meta/recipes-core/dbus/dbus-test_1.12.2.bb
> +++ b/meta/recipes-core/dbus/dbus-test_1.12.2.bb
> @@ -34,25 +34,47 @@ EXTRA_OECONF = "--enable-tests \
> --enable-checks \
> --enable-asserts \
> --enable-verbose-mode \
> + --enable-largefile \
Perhaps this should be controlled with DISTRO_FEATURE for largefile as
well ?
> --disable-xml-docs \
> --disable-doxygen-docs \
> --disable-libaudit \
> - --disable-systemd \
> - --without-systemdsystemunitdir \
> --with-dbus-test-dir=${PTEST_PATH} \
> ${EXTRA_OECONF_X}"
>
> +EXTRA_OECONF_append_class-target = " SYSTEMCTL=${base_bindir}/systemctl"
> +
> +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd x11', d)}"
> +PACKAGECONFIG_class-native = ""
> +PACKAGECONFIG_class-nativesdk = ""
> +
> +PACKAGECONFIG[systemd] = "--enable-systemd --with-systemdsystemunitdir=${systemd_system_unitdir},--disable-systemd --without-systemdsystemunitdir,systemd"
> +PACKAGECONFIG[x11] = "--with-x --enable-x11-autolaunch,--without-x --disable-x11-autolaunch, virtual/libx11 libsm"
> +PACKAGECONFIG[user-session] = "--enable-user-session --with-systemduserunitdir=${systemd_user_unitdir},--disable-user-session"
> +
hmm packageconfigs while a good thing here, would be nice if was
mentioned in commit msg.
> 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"
> + 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 "
Dont know if we will be testing same things but this is a good start.
> 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 ${B}/dbus/.libs/test-dbus ${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 \) -type f -exec \
> + sed -i \
> + -e 's:${B}:${PTEST_PATH}:g' \
> + {} +
> }
> +
> RDEPENDS_${PN}-ptest += "bash"
> diff --git a/meta/recipes-core/dbus/dbus/run-ptest b/meta/recipes-core/dbus/dbus/run-ptest
> index c72d083..8a8970e 100755
> --- a/meta/recipes-core/dbus/dbus/run-ptest
> +++ b/meta/recipes-core/dbus/dbus/run-ptest
> @@ -1,10 +1,24 @@
> #!/bin/sh
>
> output() {
> - if [ $? -eq 0 ]
> + retcode=$?
> + if [ $retcode -eq 0 ]
> then echo "PASS: $i"
> - else echo "FAIL: $i"
> + elif [ $retcode -eq 77 ]
> + then echo "SKIP: $i"
> + else echo "FAIL: $i"
> fi
> }
>
> -for i in `ls test/test-*`; do ./$i ./test/data DBUS_TEST_HOMEDIR=./test >/dev/null; output; done
> +export DBUS_TEST_HOMEDIR=./test
> +export XDG_RUNTIME_DIR=./test
> +export LD_LIBRARY_PATH=/usr/lib/dbus-test/ptest/test/.libs
> +
> +files=`ls test/test-*`
> +
> +for i in $files
> + do
> + ./$i ./test/data >/dev/null
> + output
> + done
> +
>
next prev parent reply other threads:[~2018-02-28 3:46 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-02-27 20:19 [PATCH] dbus-test_1.12.2: various fixes Juro Bystricky
2018-02-28 3:46 ` Khem Raj [this message]
2018-02-28 14:54 ` Maxin B. John
2018-02-28 17:34 ` Burton, Ross
2018-02-28 17:48 ` Bystricky, Juro
-- strict thread matches above, loose matches on Subject: below --
2018-03-01 16:24 Ross Burton
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=eda462cd-26be-df48-2157-8bbfe00a4740@gmail.com \
--to=raj.khem@gmail.com \
--cc=juro.bystricky@intel.com \
--cc=jurobystricky@hotmail.com \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox