mbox series

[v7,0/2] selftests: tmpfs: Add kselftest support

Message ID 20250102100459.1291426-1-cvam0000@gmail.com
Headers show
Series selftests: tmpfs: Add kselftest support | expand

Message

Shivam Chaudhary Jan. 2, 2025, 10:04 a.m. UTC
This version 7 patch series replace direct error handling methods with ksft
macros, which provide better reporting.Currently, when the tmpfs test runs,
it does not display any output if it passes,and if it fails
(particularly when not run as root),it simply exits without any warning or
message.

This series of patch adds:

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

2. skip if not run as root.

3. Replace direct error handling with 'ksft_test_result_*',
   macros for better reporting.

v6->v7:
         - Improve the handling of failure macros.
v6 v1: https://lore.kernel.org/all/20241219152929.4005003-2-cvam0000@gmail.com/
v6 v2: https://lore.kernel.org/all/20241219152929.4005003-3-cvam0000@gmail.com/

v5->v6:
         - Skip if not run as root.
v5 v1: https://lore.kernel.org/all/20241112143056.565122-2-cvam0000@gmail.com/
v5 v2: https://lore.kernel.org/all/20241112143056.565122-3-cvam0000@gmail.com/

v4->v5:
         - Remove unnecessary pass messages.
         - Remove unnecessary use of KSFT_SKIP.
         - Add appropriate use of ksft_exit_fail_msg.
v4 v1: https://lore.kernel.org/all/8db9feab-0600-440b-b4b2-042695a100b5@linuxfoundation.org/       
v4 v2: https://lore.kernel.org/all/63d5e3bb-9817-4a34-98fe-823a9cac7c16@linuxfoundation.org/

v3->v4:
         - Start a patchset
         - Split patch into smaller patches to make it easy to review.
  Patch1 Replace  'ksft_test_result_skip' with 'KSFT_SKIP' during root run check.
  Patch2 Replace  'ksft_test_result_fail' with 'KSFT_SKIP' where fail does not make sense,
         or failure could be due to not unsupported APIs with appropriate warnings.


v3: https://lore.kernel.org/all/20241028185756.111832-1-cvam0000@gmail.com/

v2->v3:
        - Remove extra ksft_set_plan()
        - Remove function for unshare()
        - Fix the comment style
v2: https://lore.kernel.org/all/20241026191621.2860376-1-cvam0000@gmail.com/

v1->v2:
        - Make the commit message more clear.
v1: https://lore.kernel.org/all/20241024200228.1075840-1-cvam0000@gmail.com/T/#u


thanks
Shivam


Shivam Chaudhary (2):
  selftests: tmpfs: Add Test-skip if not run as root
  selftests: tmpfs: Add kselftest support to tmpfs

 .../selftests/tmpfs/bug-link-o-tmpfile.c      | 40 ++++++++++++-------
 1 file changed, 26 insertions(+), 14 deletions(-)

Comments

Shuah Khan Jan. 2, 2025, 9:54 p.m. UTC | #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
Shivam Chaudhary Jan. 3, 2025, 4:36 p.m. UTC | #2
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
Shuah Khan Jan. 3, 2025, 4:52 p.m. UTC | #3
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