Re: [OE-core] [PATCH] elfutils: add ptest support

2019-04-15 Thread Richard Purdie
On Fri, 2019-04-12 at 17:21 +0800, mingli...@windriver.com wrote:
> From: Mingli Yu 
> 
> Add testsuite-ignore-elflint.diff from debian
> (
> http://ftp.de.debian.org/debian/pool/main/e/elfutils/elfutils_0.176-1.debian.tar.xz
> )
> to fix below ptest failure:
>  | ./run-strip-strmerge.sh: line 33: testrun_on_self_skip: command
> not found
>  | FAIL: run-strip-strmerge.sh
> 
> Add check for gcc for two test cases such as
> run-strip-nothing.sh and run-strip-g.sh which
> depends on gcc at run time.

I'm afraid this doesn't work on musl:

https://autobuilder.yoctoproject.org/typhoon/#/builders/64/builds/510

Cheers,

Richard

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH] elfutils: add ptest support

2019-04-12 Thread mingli.yu
From: Mingli Yu 

Add testsuite-ignore-elflint.diff from debian
(http://ftp.de.debian.org/debian/pool/main/e/elfutils/elfutils_0.176-1.debian.tar.xz)
to fix below ptest failure:
 | ./run-strip-strmerge.sh: line 33: testrun_on_self_skip: command not found
 | FAIL: run-strip-strmerge.sh

Add check for gcc for two test cases such as
run-strip-nothing.sh and run-strip-g.sh which
depends on gcc at run time.

Signed-off-by: Mingli Yu 
---
 meta/recipes-devtools/elfutils/elfutils_0.176.bb   | 27 ++-
 .../0001-skip-the-test-when-gcc-not-deployed.patch | 45 +++
 .../files/debian/testsuite-ignore-elflint.diff | 52 ++
 meta/recipes-devtools/elfutils/files/run-ptest |  6 +++
 .../elfutils/files/serial-tests.patch  | 28 
 5 files changed, 157 insertions(+), 1 deletion(-)
 create mode 100644 
meta/recipes-devtools/elfutils/files/0001-skip-the-test-when-gcc-not-deployed.patch
 create mode 100644 
meta/recipes-devtools/elfutils/files/debian/testsuite-ignore-elflint.diff
 create mode 100644 meta/recipes-devtools/elfutils/files/run-ptest
 create mode 100644 meta/recipes-devtools/elfutils/files/serial-tests.patch

diff --git a/meta/recipes-devtools/elfutils/elfutils_0.176.bb 
b/meta/recipes-devtools/elfutils/elfutils_0.176.bb
index fd901c9..917c296 100644
--- a/meta/recipes-devtools/elfutils/elfutils_0.176.bb
+++ b/meta/recipes-devtools/elfutils/elfutils_0.176.bb
@@ -27,16 +27,24 @@ SRC_URI = 
"https://sourceware.org/elfutils/ftp/${PV}/${BP}.tar.bz2 \
file://debian/hurd_path.patch \
file://debian/ignore_strmerge.diff \
file://debian/disable_werror.patch \
+   file://debian/testsuite-ignore-elflint.diff \
+   file://0001-skip-the-test-when-gcc-not-deployed.patch \
+   file://run-ptest \
+   file://serial-tests.patch \
"
 SRC_URI_append_libc-musl = " 
file://0008-build-Provide-alternatives-for-glibc-assumptions-hel.patch"
 
 SRC_URI[md5sum] = "077e4f49320cad82bf17a997068b1db9"
 SRC_URI[sha256sum] = 
"eb5747c371b0af0f71e86215a5ebb88728533c3a104a43d4231963f308cd1023"
 
-inherit autotools gettext
+inherit autotools gettext ptest
 
 EXTRA_OECONF = "--program-prefix=eu- --without-lzma"
 EXTRA_OECONF_append_class-native = " --without-bzlib"
+# gcc has been added to blacklist, we will find workaround solution
+RDEPENDS_${PN}-ptest = "libasm libelf bash"
+
+EXTRA_OECONF_append_class-target += "--enable-tests-rpath"
 
 do_install_append() {
if [ "${TARGET_ARCH}" != "x86_64" ] && [ -z `echo "${TARGET_ARCH}"|grep 
'i.86'` ];then
@@ -44,6 +52,23 @@ do_install_append() {
fi
 }
 
+do_compile_ptest() {
+   cd ${B}/tests
+   oe_runmake buildtest-TESTS
+}
+
+do_install_ptest() {
+   if [ ${PTEST_ENABLED} = "1" ]; then
+   cp -r ${S}/tests/   ${D}${PTEST_PATH}
+   cp -r ${B}/tests/*  ${D}${PTEST_PATH}/tests
+   cp -r ${B}/src  ${D}${PTEST_PATH}
+   cp -r ${B}/config.h ${D}${PTEST_PATH}
+   cp -r ${B}/backends ${D}${PTEST_PATH}
+   sed -i '/^Makefile:/c Makefile:'
${D}${PTEST_PATH}/tests/Makefile
+   find ${D}${PTEST_PATH} -type f -name *.[hoc] | xargs -i rm {}
+   fi
+}
+
 EXTRA_OEMAKE_class-native = ""
 EXTRA_OEMAKE_class-nativesdk = ""
 
diff --git 
a/meta/recipes-devtools/elfutils/files/0001-skip-the-test-when-gcc-not-deployed.patch
 
b/meta/recipes-devtools/elfutils/files/0001-skip-the-test-when-gcc-not-deployed.patch
new file mode 100644
index 000..67ca0e4
--- /dev/null
+++ 
b/meta/recipes-devtools/elfutils/files/0001-skip-the-test-when-gcc-not-deployed.patch
@@ -0,0 +1,45 @@
+From 61939d2e552e7645ecd671fa01cf1c7a72caa82a Mon Sep 17 00:00:00 2001
+From: Mingli Yu 
+Date: Fri, 12 Apr 2019 16:29:58 +0800
+Subject: [PATCH] skip the test when gcc not deployed
+
+Skip the tests which depend on gcc when
+gcc not deployed.
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Mingli Yu 
+---
+ tests/run-strip-g.sh   | 2 ++
+ tests/run-strip-nothing.sh | 2 ++
+ 2 files changed, 4 insertions(+)
+
+diff --git a/tests/run-strip-g.sh b/tests/run-strip-g.sh
+index 1303819..a943dec 100755
+--- a/tests/run-strip-g.sh
 b/tests/run-strip-g.sh
+@@ -24,6 +24,8 @@
+ 
+ tempfiles a.out strip.out debug.out readelf.out
+ 
++# skip the test if gcc deployed
++which gcc || exit 77
+ echo Create debug a.out.
+ echo "int main() { return 1; }" | gcc -g -xc -
+ 
+diff --git a/tests/run-strip-nothing.sh b/tests/run-strip-nothing.sh
+index 914fdfb..d03f734 100755
+--- a/tests/run-strip-nothing.sh
 b/tests/run-strip-nothing.sh
+@@ -22,6 +22,8 @@
+ 
+ tempfiles a.out strip.out debug.out
+ 
++# skip the case if no gcc deployed
++which gcc || exit 77
+ # Create no-debug a.out.
+ echo "int main() { return 1; }" | gcc -s -xc -
+ 
+-- 
+2.7.4
+
diff --git