Re: [PATCH] selftests: acct: Add ksft_exit_fail if not running as root

From: Shuah Khan
Date: Tue Dec 03 2024 - 17:55:33 EST


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@xxxxxxxxx>
---
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