If the selftest is not running as root, it should fail and give an appropriate warning to the user. This patch adds ksft_exit_fail_msg() if the test is not running as root.
Logs:
Before change:
TAP version 13 1..1 ok 1 # SKIP This test needs root to run!
After change:
TAP version 13 1..1 Bail out! Error : Need to run as root# Planned tests != run tests (1 != 0) Totals: pass:0 fail:0 xfail:0 xpass:0 skip:0 error:0
Signed-off-by: Shivam Chaudhary cvam0000@gmail.com --- tools/testing/selftests/acct/acct_syscall.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/tools/testing/selftests/acct/acct_syscall.c b/tools/testing/selftests/acct/acct_syscall.c index e44e8fe1f4a3..7c65deef54e3 100644 --- a/tools/testing/selftests/acct/acct_syscall.c +++ b/tools/testing/selftests/acct/acct_syscall.c @@ -24,8 +24,7 @@ int main(void)
// Check if test is run a root if (geteuid()) { - ksft_test_result_skip("This test needs root to run!\n"); - return 1; + ksft_exit_fail_msg("Error : Need to run as root"); }
// Create file to log closed processes
On 11/15/24 12:17, Shivam Chaudhary wrote:
If the selftest is not running as root, it should fail and give an appropriate warning to the user. This patch adds ksft_exit_fail_msg() if the test is not running as root.
This change introduces a problem - skip is the right exit code when a test requires root privileges.
Logs:
Before change:
TAP version 13 1..1 ok 1 # SKIP This test needs root to run!
After change:
TAP version 13 1..1 Bail out! Error : Need to run as root# Planned tests != run tests (1 != 0) Totals: pass:0 fail:0 xfail:0 xpass:0 skip:0 error:0
Signed-off-by: Shivam Chaudhary cvam0000@gmail.com
tools/testing/selftests/acct/acct_syscall.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/tools/testing/selftests/acct/acct_syscall.c b/tools/testing/selftests/acct/acct_syscall.c index e44e8fe1f4a3..7c65deef54e3 100644 --- a/tools/testing/selftests/acct/acct_syscall.c +++ b/tools/testing/selftests/acct/acct_syscall.c @@ -24,8 +24,7 @@ int main(void) // Check if test is run a root if (geteuid()) {
ksft_test_result_skip("This test needs root to run!\n");
You can change this to ksft_exit_skip and keep the same message.
return 1;
ksft_exit_fail_msg("Error : Need to run as root");
This is incorrect - should be skip not fail. There is no need to change the message.
} // Create file to log closed processes
thanks, -- Shuah
linux-kselftest-mirror@lists.linaro.org