[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220126102723.23300-3-cristian.marussi@arm.com>
Date: Wed, 26 Jan 2022 10:27:20 +0000
From: Cristian Marussi <cristian.marussi@....com>
To: linux-kselftest@...r.kernel.org, linux-kernel@...r.kernel.org
Cc: shuah@...nel.org, Cristian Marussi <cristian.marussi@....com>,
Vincenzo Frascino <vincenzo.frascino@....com>
Subject: [PATCH 2/5] kselftest: Fix vdso_test_time to pass on skips
When a vDSO symbol is not found, all the testcases in vdso_test_abi usually
report a SKIP, which, in turn, is reported back to Kselftest as a PASS.
Testcase vdso_test_time, instead, reporting a SKIP, causes the whole set of
tests within vdso_test_abi to be considered FAIL when symbol is not found.
Fix it reporting a PASS when vdso_test_time cannot find the vdso symbol.
Cc: Vincenzo Frascino <vincenzo.frascino@....com>
Signed-off-by: Cristian Marussi <cristian.marussi@....com>
---
Seen as a failure on both a JUNO and a Dragonboard on both recent and old
kernels/testruns:
root@...-buster-arm64:~# /opt/ksft/vDSO/vdso_test_abi
[vDSO kselftest] VDSO_VERSION: LINUX_2.6.39
The time is 1637922136.675304
The time is 1637922136.675361000
The resolution is 0 1
clock_id: CLOCK_REALTIME [PASS]
The time is 1927.760604900
The resolution is 0 1
clock_id: CLOCK_BOOTTIME [PASS]
The time is 1637922136.675649700
The resolution is 0 1
clock_id: CLOCK_TAI [PASS]
The time is 1637922136.672000000
The resolution is 0 4000000
clock_id: CLOCK_REALTIME_COARSE [PASS]
The time is 1927.761005600
The resolution is 0 1
clock_id: CLOCK_MONOTONIC [PASS]
The time is 1927.761132780
The resolution is 0 1
clock_id: CLOCK_MONOTONIC_RAW [PASS]
The time is 1927.757093740
The resolution is 0 4000000
clock_id: CLOCK_MONOTONIC_COARSE [PASS]
Could not find __kernel_time <<< This caused a FAIL as a whole
root@...-buster-arm64:~# echo $?
1
e.g.: https://lkft.validation.linaro.org/scheduler/job/2192570#L27778
---
tools/testing/selftests/vDSO/vdso_test_abi.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/tools/testing/selftests/vDSO/vdso_test_abi.c b/tools/testing/selftests/vDSO/vdso_test_abi.c
index 3d603f1394af..7dcc66d1cecf 100644
--- a/tools/testing/selftests/vDSO/vdso_test_abi.c
+++ b/tools/testing/selftests/vDSO/vdso_test_abi.c
@@ -90,8 +90,9 @@ static int vdso_test_time(void)
(vdso_time_t)vdso_sym(version, name[2]);
if (!vdso_time) {
+ /* Skip if symbol not found: consider skipped tests as passed */
printf("Could not find %s\n", name[2]);
- return KSFT_SKIP;
+ return KSFT_PASS;
}
long ret = vdso_time(NULL);
--
2.17.1
Powered by blists - more mailing lists