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
Signed-off-by: Shivam Chaudhary <cvam0000@gmail.com>
---
tools/testing/selftests/tmpfs/bug-link-o-tmpfile.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/tools/testing/selftests/tmpfs/bug-link-o-tmpfile.c b/tools/testing/selftests/tmpfs/bug-link-o-tmpfile.c
index b5c3ddb90942..657b64857e82 100644
--- a/tools/testing/selftests/tmpfs/bug-link-o-tmpfile.c
+++ b/tools/testing/selftests/tmpfs/bug-link-o-tmpfile.c
@@ -23,10 +23,22 @@
#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);
--
2.34.1
On 1/2/25 03:04, Shivam Chaudhary wrote: > 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 How are you running this test to see the before ad after results? thanks, -- Shuah
On 03/01/25 3:24 AM, Shuah Khan wrote: > On 1/2/25 03:04, Shivam Chaudhary wrote: >> 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 > > How are you running this test to see the before ad after > results? I'm doing the unit test, meaning, I'm building the test separatley and running it to ensure the the code works as expected. thanks --Shivam
On 1/3/25 09:36, Shivam Chaudhary wrote: > > On 03/01/25 3:24 AM, Shuah Khan wrote: >> On 1/2/25 03:04, Shivam Chaudhary wrote: >>> 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 >> >> How are you running this test to see the before ad after >> results? > > I'm doing the unit test, meaning, I'm building the test separatley and running it > > to ensure the the code works as expected. > When you run "make kselftest TARGETS=tmpfs", do you see duplicate ktap output? Rum the command and send me the output. thanks, -- Shuah
© 2016 - 2026 Red Hat, Inc.