]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
selftests: tmpfs: Add Test-skip if not run as root
authorShivam Chaudhary <cvam0000@gmail.com>
Sun, 5 Jan 2025 08:52:54 +0000 (14:22 +0530)
committerShuah Khan <skhan@linuxfoundation.org>
Wed, 15 Jan 2025 00:06:32 +0000 (17:06 -0700)
Add 'ksft_exit_skip()', if  not run as root, with an appropriate
Warning.

Add 'ksft_print_header()' and 'ksft_set_plan()' to structure test
outputs more effectively.

Test logs:

Before Change:
- Without root
 error: unshare, errno 1

- With root
 No, output

After change:

- Without root
TAP version 13
1..1
ok 2 # SKIP This test needs root to run!
Totals: pass:0 fail:0 xfail:0 xpass:0 skip:1 error:0

- With root
TAP version 13
1..1

Link: https://lore.kernel.org/r/20250105085255.124929-2-cvam0000@gmail.com
Signed-off-by: Shivam Chaudhary <cvam0000@gmail.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
tools/testing/selftests/tmpfs/bug-link-o-tmpfile.c

index b5c3ddb90942f9eb7602c7e2a07c3b39234b480f..657b64857e826a32adc9947cc89a98292db0495a 100644 (file)
 #include <sys/mount.h>
 #include <unistd.h>
 
+#include "../kselftest.h"
+
 int main(void)
 {
        int fd;
 
+       // Setting up kselftest framework
+       ksft_print_header();
+       ksft_set_plan(1);
+
+       // Check if test is run as root
+       if (geteuid()) {
+               ksft_exit_skip("This test needs root to run!\n");
+               return 1;
+       }
+
        if (unshare(CLONE_NEWNS) == -1) {
                if (errno == ENOSYS || errno == EPERM) {
                        fprintf(stderr, "error: unshare, errno %d\n", errno);