util-linux: backport test suite fixes

Backport a number of fixes so the test suite passes.

(From OE-Core rev: 398b9dab8675829f3428a4f00bffcf84525e0a46)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ross Burton
2021-07-05 18:04:20 +01:00
committed by Richard Purdie
parent ebaf733a70
commit c1fea579f0
6 changed files with 258 additions and 0 deletions

View File

@@ -36,5 +36,11 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/util-linux/v${MAJOR_VERSION}/util-lin
file://display_testname_for_subtest.patch \
file://avoid_parallel_tests.patch \
file://8a3a74160b96498d672e3652827aa7e6d7f3a120.patch \
file://tests-kill.patch \
file://tests-blkdiscard.patch \
file://tests-ul.patch \
file://tests-eject.patch \
file://tests-lscpu.patch \
"
SRC_URI[sha256sum] = "bd07b7e98839e0359842110525a3032fdb8eaf3a90bedde3dd1652d32d15cce5"

View File

@@ -0,0 +1,31 @@
Upstream-Status: Backport
Signed-off-by: Ross Burton <ross.burton@arm.com>
From 45fe65d934df2c938701f1c3cd3e0a6f3bdf25e6 Mon Sep 17 00:00:00 2001
From: Ross Burton <ross.burton@arm.com>
Date: Tue, 29 Jun 2021 18:10:40 +0100
Subject: [PATCH] tests/blkdiscard: check correct log file for errors
When checking if the discard ioctl is supported, look in stderr not stdout.
Signed-off-by: Ross Burton <ross.burton@arm.com>
---
tests/ts/blkdiscard/offsets | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/ts/blkdiscard/offsets b/tests/ts/blkdiscard/offsets
index 9dddc35e2..5e724d51b 100755
--- a/tests/ts/blkdiscard/offsets
+++ b/tests/ts/blkdiscard/offsets
@@ -48,7 +48,7 @@ ts_log "testing offsets with full block size"
run_tscmd $TS_CMD_BLKDISCARD -v $DEVICE
if [ "$?" != "0" ]; then
# Skip the rest? For example loop backing files on NFS seem unsupported.
- grep -q "BLKDISCARD ioctl failed: Operation not supported" "$TS_OUTPUT" \
+ grep -q "BLKDISCARD ioctl failed: Operation not supported" "$TS_ERRLOG" \
&& ts_skip "BLKDISCARD not supported"
fi
run_tscmd $TS_CMD_BLKDISCARD -v -o 1 $DEVICE
--
2.25.1

View File

@@ -0,0 +1,56 @@
Upstream-Status: Submitted [https://github.com/karelzak/util-linux/pull/1375]
Signed-off-by: Ross Burton <ross.burton@arm.com>
From dd956268ba89fc1caf83c45c3c495f34d261e0e2 Mon Sep 17 00:00:00 2001
From: Ross Burton <ross.burton@arm.com>
Date: Thu, 1 Jul 2021 20:44:31 +0100
Subject: [PATCH] test/eject: guard asan LD_PRELOAD with use-system-commands
check
This test tries to add asan to LD_PRELOAD because the just-built eject
will call the host /bin/umount, and apparently asan doesn't like this.
However, if ldd isn't present, this fails as the path to asan is the
error message saying that ldd isn't present.
As the asan workaround is only needed when executing the binaries that
have just been built and not the system binaries, only use it if the
test is on the built binaries.
Closes #1373.
Signed-off-by: Ross Burton <ross.burton@arm.com>
---
tests/ts/eject/umount | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/tests/ts/eject/umount b/tests/ts/eject/umount
index a829d46c0..2be281ee3 100755
--- a/tests/ts/eject/umount
+++ b/tests/ts/eject/umount
@@ -60,13 +60,15 @@ function deinit_device {
ts_scsi_debug_rmmod
}
-# As the eject binary execl()s an uninstrumented /bin/umount binary, we need
-# to explicitly $LD_PRELOAD the ASan's runtime DSO, otherwise ASan will complain.
-# Since all three utilities used by this test (eject, fdisk, mount) are just
-# libtool wrappers, let's check the kill binary instead, which should have
-# the needed DSO information.
-ASAN_RT_PATH="$(ts_get_asan_rt_path "$TS_CMD_KILL")"
-[ -n "$ASAN_RT_PATH" ] && export LD_PRELOAD="$ASAN_RT_PATH:$LD_PRELOAD"
+if [ "$TS_USE_SYSTEM_COMMANDS" != "yes" ]; then
+ # As the eject binary execl()s an uninstrumented /bin/umount binary, we need
+ # to explicitly $LD_PRELOAD the ASan's runtime DSO, otherwise ASan will complain.
+ # Since all three utilities used by this test (eject, fdisk, mount) are just
+ # libtool wrappers, let's check the kill binary instead, which should have
+ # the needed DSO information.
+ ASAN_RT_PATH="$(ts_get_asan_rt_path "$TS_CMD_KILL")"
+ [ -n "$ASAN_RT_PATH" ] && export LD_PRELOAD="$ASAN_RT_PATH:$LD_PRELOAD"
+fi
ts_init_subtest "by-disk"
init_device
--
2.25.1

View File

@@ -0,0 +1,88 @@
Don't hardcode the use of /bin/kill, as this could be kill.procps. Instead ask
the shell what kill binary to use, which will be the symlink in
/usr/lib/util-linux/ptest/bin/.
Upstream-Status: Backport [https://github.com/karelzak/util-linux/pull/1367]
Signed-off-by: Ross Burton <ross.burton@arm.com>
From e3f8a88cf688dffacb5f6033a8d24e2db40f75f6 Mon Sep 17 00:00:00 2001
From: Ross Burton <ross.burton@arm.com>
Date: Tue, 29 Jun 2021 16:34:20 +0100
Subject: [PATCH] Don't hardcode /bin
---
tests/ts/kill/all_processes | 2 +-
tests/ts/kill/name_to_number | 2 +-
tests/ts/kill/options | 2 +-
tests/ts/kill/print_pid | 2 +-
tests/ts/kill/queue | 2 +-
5 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/tests/ts/kill/all_processes b/tests/ts/kill/all_processes
index 0b137574d..b2280777f 100755
--- a/tests/ts/kill/all_processes
+++ b/tests/ts/kill/all_processes
@@ -22,7 +22,7 @@ ts_skip_nonroot
# make sure we do not use shell built-in command
if [ "$TS_USE_SYSTEM_COMMANDS" == "yes" ]; then
- TS_CMD_KILL="/bin/kill"
+ TS_CMD_KILL="$(which kill)"
fi
ts_check_test_command "$TS_CMD_KILL"
diff --git a/tests/ts/kill/name_to_number b/tests/ts/kill/name_to_number
index 9f4881cb7..8a7f4bef0 100755
--- a/tests/ts/kill/name_to_number
+++ b/tests/ts/kill/name_to_number
@@ -20,7 +20,7 @@ ts_init "$*"
# make sure we do not use shell built-in command
if [ "$TS_USE_SYSTEM_COMMANDS" == "yes" ]; then
- TS_CMD_KILL="/bin/kill"
+ TS_CMD_KILL="$(which kill)"
fi
ts_check_test_command "$TS_CMD_KILL"
diff --git a/tests/ts/kill/options b/tests/ts/kill/options
index 2788c70a2..10653a543 100755
--- a/tests/ts/kill/options
+++ b/tests/ts/kill/options
@@ -20,7 +20,7 @@ ts_init "$*"
# make sure we do not use shell built-in command
if [ "$TS_USE_SYSTEM_COMMANDS" == "yes" ]; then
- TS_CMD_KILL="/bin/kill"
+ TS_CMD_KILL="$(which kill)"
fi
ts_check_test_command "$TS_CMD_KILL"
diff --git a/tests/ts/kill/print_pid b/tests/ts/kill/print_pid
index 6926a3714..6e2db3711 100755
--- a/tests/ts/kill/print_pid
+++ b/tests/ts/kill/print_pid
@@ -20,7 +20,7 @@ ts_init "$*"
# make sure we do not use shell built-in command
if [ "$TS_USE_SYSTEM_COMMANDS" == "yes" ]; then
- TS_CMD_KILL="/bin/kill"
+ TS_CMD_KILL="$(which kill)"
fi
ts_check_test_command "$TS_CMD_KILL"
diff --git a/tests/ts/kill/queue b/tests/ts/kill/queue
index 18f10e8c2..6c9e9efc9 100755
--- a/tests/ts/kill/queue
+++ b/tests/ts/kill/queue
@@ -20,7 +20,7 @@ ts_init "$*"
# make sure we do not use shell built-in command
if [ "$TS_USE_SYSTEM_COMMANDS" == "yes" ]; then
- TS_CMD_KILL="/bin/kill"
+ TS_CMD_KILL="$(which kill)"
fi
ts_check_test_command "$TS_CMD_KILL"
--
2.25.1

View File

@@ -0,0 +1,42 @@
Upstream-Status: Backport
Signed-off-by: Ross Burton <ross.burton@arm.com>
From c2ca2837a27a3f1344904037ea691bfdbb288f02 Mon Sep 17 00:00:00 2001
From: Karel Zak <kzak@redhat.com>
Date: Fri, 2 Jul 2021 13:12:13 +0200
Subject: [PATCH] lscpu: don't use DMI if executed with --sysroot
Signed-off-by: Karel Zak <kzak@redhat.com>
---
sys-utils/lscpu-arm.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/sys-utils/lscpu-arm.c b/sys-utils/lscpu-arm.c
index d52765f9d..c7128094c 100644
--- a/sys-utils/lscpu-arm.c
+++ b/sys-utils/lscpu-arm.c
@@ -322,7 +322,8 @@ static void arm_decode(struct lscpu_cxt *cxt, struct lscpu_cputype *ct)
arm_ids_decode(ct);
arm_rXpY_decode(ct);
- if (cxt->is_cluster)
+
+ if (!cxt->noalive && cxt->is_cluster)
ct->nr_socket_on_cluster = get_number_of_physical_sockets_from_dmi();
}
@@ -330,8 +331,9 @@ static int is_cluster_arm(struct lscpu_cxt *cxt)
{
struct stat st;
- if (!(strcmp(cxt->arch->name, "aarch64")) &&
- (stat(_PATH_ACPI_PPTT, &st) < 0) && (cxt->ncputypes == 1))
+ if (!cxt->noalive
+ && strcmp(cxt->arch->name, "aarch64") == 0
+ && stat(_PATH_ACPI_PPTT, &st) < 0 && cxt->ncputypes == 1)
return 1;
else
return 0;
--
2.25.1

View File

@@ -0,0 +1,35 @@
Upstream-Status: Backport
Signed-off-by: Ross Burton <ross.burton@arm.com>
From b1c71f19ea404e74d36ca5b8fbb0484043cdaef3 Mon Sep 17 00:00:00 2001
From: Ross Burton <ross.burton@arm.com>
Date: Wed, 30 Jun 2021 11:25:01 +0100
Subject: [PATCH] tests: mark ul/ul as a known failure
As with ul/basic, this test produces different output when ran under
different terminals, which isn't very useful.
Set TS_KNOWN_FAIL so that these problems don't cause the test to fail.
Signed-off-by: Ross Burton <ross.burton@arm.com>
---
tests/ts/ul/ul | 3 +++
1 file changed, 3 insertions(+)
diff --git a/tests/ts/ul/ul b/tests/ts/ul/ul
index b856e33db..c707658ac 100755
--- a/tests/ts/ul/ul
+++ b/tests/ts/ul/ul
@@ -20,6 +20,9 @@ ts_init "$*"
ts_check_test_command "$TS_CMD_UL"
+# This test provides different result on some terminals and virtual machines
+TS_KNOWN_FAIL="yes"
+
printf "a\x08ab\x5F\x08c\\n\\ttab\\f\\b\\r" |
$TS_CMD_UL -t xterm >> $TS_OUTPUT 2>> $TS_ERRLOG
--
2.25.1