All of lore.kernel.org
 help / color / mirror / Atom feed
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
> +
> 


  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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.