[OE-core] [PATCH V2] openssl: fix ptest case `test_symbol_presence' failed

Burton, Ross ross.burton at intel.com
Mon Oct 1 19:46:05 UTC 2018


If the test case needs debug symbols then I'd suggest we just disable
that test.  Especially as the test starts with this comment:

"NOTE: developer test! It's possible that it won't run on your\n",
"platform, and that's perfectly fine. This is mainly for developers\n",

Ross
On Mon, 1 Oct 2018 at 16:49, Hongxu Jia <hongxu.jia at windriver.com> wrote:
>
> Sorry for missing V2 in subject
>
> //Hongxu
>
> On 2018年10月01日 23:47, Hongxu Jia wrote:
> > The case in ptest use `nm -Pg libcrypto.so' to check symbol presence,
> > if library is stripped or debug split, the case will fail.
> >
> > The dbg library keeps symbol table, so tweak to check on it.
> >
> > Use wildcard `libcrypto.so*' rather than `libcrypto.so.1.1' to compat
> > the subsequent version upgrade.
> >
> > The binutils provides `nm', hence add it to ptest runtime depends.
> > (Without `nm', the test_symbol_presence will be skipped, that's the
> > reason why ptest passed on a small image, and failed on a full image)
> >
> > Signed-off-by: Hongxu Jia <hongxu.jia at windriver.com>
> > ---
> >   ...test_symbol_presence-check-on-dbg-library.patch | 36 ++++++++++++++++++++++
> >   meta/recipes-connectivity/openssl/openssl_1.1.1.bb |  6 ++++
> >   2 files changed, 42 insertions(+)
> >   create mode 100644 meta/recipes-connectivity/openssl/openssl/0001-test_symbol_presence-check-on-dbg-library.patch
> >
> > diff --git a/meta/recipes-connectivity/openssl/openssl/0001-test_symbol_presence-check-on-dbg-library.patch b/meta/recipes-connectivity/openssl/openssl/0001-test_symbol_presence-check-on-dbg-library.patch
> > new file mode 100644
> > index 0000000..3999aa0
> > --- /dev/null
> > +++ b/meta/recipes-connectivity/openssl/openssl/0001-test_symbol_presence-check-on-dbg-library.patch
> > @@ -0,0 +1,36 @@
> > +From 2766dc8af70ced2854a6817e67cbac234c99f91f Mon Sep 17 00:00:00 2001
> > +From: Hongxu Jia <hongxu.jia at windriver.com>
> > +Date: Mon, 1 Oct 2018 22:16:53 +0800
> > +Subject: [PATCH] test_symbol_presence: check on dbg library
> > +
> > +The case uses `nm -Pg libcrypto.so' to check symbol presence,
> > +if library is stripped or debug splited, the case will fail.
> > +
> > +The dbg library has the symbol table, so tweak to check on it.
> > +
> > +Use wildcard `libcrypto.so*' rather than `libcrypto.so.1.1' to compat
> > +the subsequent version upgrade.
> > +
> > +Upstream-Status: Inappropriate [OE Specific]
> > +
> > +Signed-off-by: Hongxu Jia <hongxu.jia at windriver.com>
> > +---
> > + test/recipes/01-test_symbol_presence.t | 2 +-
> > + 1 file changed, 1 insertion(+), 1 deletion(-)
> > +
> > +diff --git a/test/recipes/01-test_symbol_presence.t b/test/recipes/01-test_symbol_presence.t
> > +index 7f2a2d7..1668cde 100644
> > +--- a/test/recipes/01-test_symbol_presence.t
> > ++++ b/test/recipes/01-test_symbol_presence.t
> > +@@ -32,7 +32,7 @@ note
> > + foreach my $libname (@libnames) {
> > +  SKIP:
> > +     {
> > +-        my $shlibpath = bldtop_file("lib" . $libname . ".so");
> > ++        my $shlibpath = bldtop_file(".debug/" . "lib" . $libname . ".so*");
> > +         *OSTDERR = *STDERR;
> > +         *OSTDOUT = *STDOUT;
> > +         open STDERR, ">", devnull();
> > +--
> > +2.7.4
> > +
> > diff --git a/meta/recipes-connectivity/openssl/openssl_1.1.1.bb b/meta/recipes-connectivity/openssl/openssl_1.1.1.bb
> > index 73bcb27..74b3417 100644
> > --- a/meta/recipes-connectivity/openssl/openssl_1.1.1.bb
> > +++ b/meta/recipes-connectivity/openssl/openssl_1.1.1.bb
> > @@ -13,6 +13,7 @@ DEPENDS = "hostperl-runtime-native"
> >   SRC_URI = "http://www.openssl.org/source/openssl-${PV}.tar.gz \
> >              file://run-ptest \
> >              file://openssl-c_rehash.sh \
> > +           file://0001-test_symbol_presence-check-on-dbg-library.patch \
> >              "
> >
> >   SRC_URI_append_class-nativesdk = " \
> > @@ -174,6 +175,11 @@ RRECOMMENDS_libcrypto += "openssl-conf"
> >   RDEPENDS_${PN}-bin = "perl"
> >   RDEPENDS_${PN}-misc = "perl"
> >   RDEPENDS_${PN}-ptest += "perl-module-file-spec-functions bash python"
> > +# The ptest case uses `nm -Pg .debug/libcrypto.so*' to check symbol presence
> > +RDEPENDS_${PN}-ptest += "${PN}-dbg"
> > +INSANE_SKIP_${PN}-ptest ?= "debug-deps"
> > +# The binutils provides `nm'
> > +RDEPENDS_${PN}-ptest += "binutils"
> >
> >   RPROVIDES_openssl-conf = "openssl10-conf"
> >   RREPLACES_openssl-conf = "openssl10-conf"
>
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core



More information about the Openembedded-core mailing list