busybox: remove coreutils dependency in busybox-ptest

A dependency on coreutils was added to busybox-ptest in oe-core 658c5ed
to fix a test failure.

The failure is because one of the start-stop-daemon tests is known to
fail if /bin/false is busybox. Instead of failing, we can check if
/bin/false is a symlink to busybox and skip the test if so.

[ YOCTO #15068 ]

(From OE-Core rev: 12fc32351ff6e42d0b5f9ce679793a8875d3447a)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 37482e404cf4dcf9360c29986ced8db78baf249b)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
This commit is contained in:
Ross Burton
2023-09-05 17:40:42 +01:00
committed by Steve Sakoman
parent 8acce65aa5
commit 1606f9676a
3 changed files with 37 additions and 1 deletions

View File

@@ -56,7 +56,7 @@ RDEPENDS:${PN} = "${@["", "busybox-inittab"][(d.getVar('VIRTUAL-RUNTIME_init_man
inherit cml1 systemd update-rc.d ptest
# busybox's unzip test case needs zip command, which busybox itself does not provide
RDEPENDS:${PN}-ptest = "zip coreutils"
RDEPENDS:${PN}-ptest = "zip"
# internal helper
def busybox_cfg(feature, tokens, cnf, rem):

View File

@@ -0,0 +1,35 @@
It's known that the final start-stop-daemon test fails if /bin/false is
actually a busybox symlink. Instead of failing, check if false is
busybox and adapt the expected output to match.
Upstream-Status: Submitted [http://lists.busybox.net/pipermail/busybox/2023-August/090416.html]
Signed-off-by: Ross Burton <ross.burton@arm.com>
diff --git a/testsuite/start-stop-daemon.tests b/testsuite/start-stop-daemon.tests
index 0757b1288..aa6e9cc41 100755
--- a/testsuite/start-stop-daemon.tests
+++ b/testsuite/start-stop-daemon.tests
@@ -27,10 +27,18 @@ testing "start-stop-daemon without -x and -a" \
# but at least it checks that pathname to exec() is correct
#
# NB: this fails if /bin/false is a busybox symlink:
-# busybox looks at argv[0] and says "qwerty: applet not found"
-testing "start-stop-daemon with both -x and -a" \
- 'start-stop-daemon -S -x /bin/false -a qwerty false 2>&1; echo $?' \
- "1\n" \
- "" ""
+# busybox looks at argv[0] and says "qwerty: applet not found", so
+# skip the test if false is busybox.
+case $(readlink /bin/false) in
+ *busybox*)
+ echo "SKIPPED: start-stop-daemon with both -x and -a (need non-busybox false)"
+ ;;
+ *)
+ testing "start-stop-daemon with both -x and -a" \
+ 'start-stop-daemon -S -x /bin/false -a qwerty false 2>&1; echo $?' \
+ "1\n" \
+ "" ""
+ ;;
+esac
exit $FAILCOUNT

View File

@@ -49,6 +49,7 @@ SRC_URI = "https://busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \
file://0001-sysctl-ignore-EIO-of-stable_secret-below-proc-sys-ne.patch \
file://0001-libbb-sockaddr2str-ensure-only-printable-characters-.patch \
file://0002-nslookup-sanitize-all-printed-strings-with-printable.patch \
file://start-stop-false.patch \
"
SRC_URI:append:libc-musl = " file://musl.cfg "
# TODO http://lists.busybox.net/pipermail/busybox/2023-January/090078.html