On 2018年10月02日 03:46, Burton, Ross wrote:
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",
The whole comment is to emphasize the test works on Unix
(which includes Linux I think)
[snip]
note
    "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",
    "on Unix to check that our shared libraries are consistent with the\n",
    "ordinals (util/*.num in the source tree), something that should be\n",
    "good enough a check for the other platforms as well.\n";
[snip]

But, the ptest runtime depends dbg package for a single case breaks sanity
check, and the case of test symbol presence is not critical, so disable it is
an acceptable option, V3 incoming

//Hongxu


Ross
On Mon, 1 Oct 2018 at 16:49, Hongxu Jia <[email protected]> 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 <[email protected]>
---
   ...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 <[email protected]>
+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 <[email protected]>
+---
+ 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
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core


--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to