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