linux-kselftest.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 1/3] selftests/tc-testing: add exit code
@ 2021-12-03  2:53 Li Zhijian
  2021-12-03  2:53 ` [PATCH v3 2/3] selftests/tc-testing: add missing config Li Zhijian
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Li Zhijian @ 2021-12-03  2:53 UTC (permalink / raw)
  To: kuba, jhs, xiyou.wangcong, jiri, shuah
  Cc: netdev, linux-kselftest, linux-kernel, lizhijian, Li Zhijian,
	Philip Li, kernel test robot, Davide Caratti

Mark the summary result as FAIL to prevent from confusing the selftest
framework if some of them are failed.

Previously, the selftest framework always treats it as *ok* even though
some of them are failed actually. That's because the script tdc.sh always
return 0.

 # All test results:
 #
 # 1..97
 # ok 1 83be - Create FQ-PIE with invalid number of flows
 # ok 2 8b6e - Create RED with no flags
[...snip]
 # ok 6 5f15 - Create RED with flags ECN, harddrop
 # ok 7 53e8 - Create RED with flags ECN, nodrop
 # ok 8 d091 - Fail to create RED with only nodrop flag
 # ok 9 af8e - Create RED with flags ECN, nodrop, harddrop
 # not ok 10 ce7d - Add mq Qdisc to multi-queue device (4 queues)
 #       Could not match regex pattern. Verify command output:
 # qdisc mq 1: root
 # qdisc fq_codel 0: parent 1:4 limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 32Mb ecn drop_batch 64
 # qdisc fq_codel 0: parent 1:3 limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 32Mb ecn drop_batch 64
[...snip]
 # ok 96 6979 - Change quantum of a strict ETS band
 # ok 97 9a7d - Change ETS strict band without quantum
 #
 #
 #
 #
 ok 1 selftests: tc-testing: tdc.sh <<< summary result

CC: Philip Li <philip.li@intel.com>
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Li Zhijian <zhijianx.li@intel.com>
Acked-by: Davide Caratti <dcaratti@redhat.com>
Acked-by: Jamal Hadi Salim <jhs@mojatatu.com>
---
V3: repost to netdev
V2: Fix missing ':'
---
 tools/testing/selftests/tc-testing/tdc.py | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/tools/testing/selftests/tc-testing/tdc.py b/tools/testing/selftests/tc-testing/tdc.py
index a3e43189d940..ee22e3447ec7 100755
--- a/tools/testing/selftests/tc-testing/tdc.py
+++ b/tools/testing/selftests/tc-testing/tdc.py
@@ -716,6 +716,7 @@ def set_operation_mode(pm, parser, args, remaining):
         list_test_cases(alltests)
         exit(0)
 
+    exit_code = 0 # KSFT_PASS
     if len(alltests):
         req_plugins = pm.get_required_plugins(alltests)
         try:
@@ -724,6 +725,8 @@ def set_operation_mode(pm, parser, args, remaining):
             print('The following plugins were not found:')
             print('{}'.format(pde.missing_pg))
         catresults = test_runner(pm, args, alltests)
+        if catresults.count_failures() != 0:
+            exit_code = 1 # KSFT_FAIL
         if args.format == 'none':
             print('Test results output suppression requested\n')
         else:
@@ -748,6 +751,8 @@ def set_operation_mode(pm, parser, args, remaining):
                         gid=int(os.getenv('SUDO_GID')))
     else:
         print('No tests found\n')
+        exit_code = 4 # KSFT_SKIP
+    exit(exit_code)
 
 def main():
     """
@@ -767,8 +772,5 @@ def main():
 
     set_operation_mode(pm, parser, args, remaining)
 
-    exit(0)
-
-
 if __name__ == "__main__":
     main()
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH v3 2/3] selftests/tc-testing: add missing config
  2021-12-03  2:53 [PATCH v3 1/3] selftests/tc-testing: add exit code Li Zhijian
@ 2021-12-03  2:53 ` Li Zhijian
  2021-12-03  2:53 ` [PATCH v3 3/3] selftests/tc-testing: Fix cannot create /sys/bus/netdevsim/new_device: Directory nonexistent Li Zhijian
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Li Zhijian @ 2021-12-03  2:53 UTC (permalink / raw)
  To: kuba, jhs, xiyou.wangcong, jiri, shuah
  Cc: netdev, linux-kselftest, linux-kernel, lizhijian, Li Zhijian

qdiscs/fq_pie requires CONFIG_NET_SCH_FQ_PIE, otherwise tc will fail
to create a fq_pie qdisc.

It fixes following issue:
 # not ok 57 83be - Create FQ-PIE with invalid number of flows
 #       Command exited with 2, expected 0
 # Error: Specified qdisc not found.

Signed-off-by: Li Zhijian <zhijianx.li@intel.com>
---
 tools/testing/selftests/tc-testing/config | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tools/testing/selftests/tc-testing/config b/tools/testing/selftests/tc-testing/config
index b71828df5a6d..b1cd7efa4512 100644
--- a/tools/testing/selftests/tc-testing/config
+++ b/tools/testing/selftests/tc-testing/config
@@ -60,6 +60,7 @@ CONFIG_NET_IFE_SKBTCINDEX=m
 CONFIG_NET_SCH_FIFO=y
 CONFIG_NET_SCH_ETS=m
 CONFIG_NET_SCH_RED=m
+CONFIG_NET_SCH_FQ_PIE=m
 
 #
 ## Network testing
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH v3 3/3] selftests/tc-testing: Fix cannot create /sys/bus/netdevsim/new_device: Directory nonexistent
  2021-12-03  2:53 [PATCH v3 1/3] selftests/tc-testing: add exit code Li Zhijian
  2021-12-03  2:53 ` [PATCH v3 2/3] selftests/tc-testing: add missing config Li Zhijian
@ 2021-12-03  2:53 ` Li Zhijian
  2021-12-03 11:50 ` [PATCH v3 1/3] selftests/tc-testing: add exit code patchwork-bot+netdevbpf
  2021-12-03 12:40 ` Jamal Hadi Salim
  3 siblings, 0 replies; 5+ messages in thread
From: Li Zhijian @ 2021-12-03  2:53 UTC (permalink / raw)
  To: kuba, jhs, xiyou.wangcong, jiri, shuah
  Cc: netdev, linux-kselftest, linux-kernel, lizhijian, Li Zhijian

Install netdevsim to provide /sys/bus/netdevsim/new_device interface.

It helps to fix:
 # ok 97 9a7d - Change ETS strict band without quantum # skipped - skipped - previous setup failed 11 ce7d
 #
 #
 # -----> prepare stage *** Could not execute: "echo "1 1 4" > /sys/bus/netdevsim/new_device"
 #
 # -----> prepare stage *** Error message: "/bin/sh: 1: cannot create /sys/bus/netdevsim/new_device: Directory nonexistent
 # "
 #
 # -----> prepare stage *** Aborting test run.
 #
 #
 # <_io.BufferedReader name=5> *** stdout ***
 #

Signed-off-by: Li Zhijian <zhijianx.li@intel.com>
---
 tools/testing/selftests/tc-testing/config | 1 +
 tools/testing/selftests/tc-testing/tdc.sh | 1 +
 2 files changed, 2 insertions(+)

diff --git a/tools/testing/selftests/tc-testing/config b/tools/testing/selftests/tc-testing/config
index b1cd7efa4512..a3239d5e40c7 100644
--- a/tools/testing/selftests/tc-testing/config
+++ b/tools/testing/selftests/tc-testing/config
@@ -61,6 +61,7 @@ CONFIG_NET_SCH_FIFO=y
 CONFIG_NET_SCH_ETS=m
 CONFIG_NET_SCH_RED=m
 CONFIG_NET_SCH_FQ_PIE=m
+CONFIG_NETDEVSIM=m
 
 #
 ## Network testing
diff --git a/tools/testing/selftests/tc-testing/tdc.sh b/tools/testing/selftests/tc-testing/tdc.sh
index 7fe38c76db44..afb0cd86fa3d 100755
--- a/tools/testing/selftests/tc-testing/tdc.sh
+++ b/tools/testing/selftests/tc-testing/tdc.sh
@@ -1,5 +1,6 @@
 #!/bin/sh
 # SPDX-License-Identifier: GPL-2.0
 
+modprobe netdevsim
 ./tdc.py -c actions --nobuildebpf
 ./tdc.py -c qdisc
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH v3 1/3] selftests/tc-testing: add exit code
  2021-12-03  2:53 [PATCH v3 1/3] selftests/tc-testing: add exit code Li Zhijian
  2021-12-03  2:53 ` [PATCH v3 2/3] selftests/tc-testing: add missing config Li Zhijian
  2021-12-03  2:53 ` [PATCH v3 3/3] selftests/tc-testing: Fix cannot create /sys/bus/netdevsim/new_device: Directory nonexistent Li Zhijian
@ 2021-12-03 11:50 ` patchwork-bot+netdevbpf
  2021-12-03 12:40 ` Jamal Hadi Salim
  3 siblings, 0 replies; 5+ messages in thread
From: patchwork-bot+netdevbpf @ 2021-12-03 11:50 UTC (permalink / raw)
  To: Li Zhijian
  Cc: kuba, jhs, xiyou.wangcong, jiri, shuah, netdev, linux-kselftest,
	linux-kernel, lizhijian, philip.li, lkp, dcaratti

Hello:

This series was applied to netdev/net.git (master)
by David S. Miller <davem@davemloft.net>:

On Fri,  3 Dec 2021 10:53:21 +0800 you wrote:
> Mark the summary result as FAIL to prevent from confusing the selftest
> framework if some of them are failed.
> 
> Previously, the selftest framework always treats it as *ok* even though
> some of them are failed actually. That's because the script tdc.sh always
> return 0.
> 
> [...]

Here is the summary with links:
  - [v3,1/3] selftests/tc-testing: add exit code
    https://git.kernel.org/netdev/net/c/96f389678015
  - [v3,2/3] selftests/tc-testing: add missing config
    https://git.kernel.org/netdev/net/c/a8c9505c53c5
  - [v3,3/3] selftests/tc-testing: Fix cannot create /sys/bus/netdevsim/new_device: Directory nonexistent
    https://git.kernel.org/netdev/net/c/db925bca33a9

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v3 1/3] selftests/tc-testing: add exit code
  2021-12-03  2:53 [PATCH v3 1/3] selftests/tc-testing: add exit code Li Zhijian
                   ` (2 preceding siblings ...)
  2021-12-03 11:50 ` [PATCH v3 1/3] selftests/tc-testing: add exit code patchwork-bot+netdevbpf
@ 2021-12-03 12:40 ` Jamal Hadi Salim
  3 siblings, 0 replies; 5+ messages in thread
From: Jamal Hadi Salim @ 2021-12-03 12:40 UTC (permalink / raw)
  To: Li Zhijian, kuba, xiyou.wangcong, jiri, shuah
  Cc: netdev, linux-kselftest, linux-kernel, lizhijian, Philip Li,
	kernel test robot, Davide Caratti

All LGTM - but shouldnt these patches be independent of each other?
i.e submit 3 patches each with 1/1

cheers,
jamal

On 2021-12-02 21:53, Li Zhijian wrote:
> Mark the summary result as FAIL to prevent from confusing the selftest
> framework if some of them are failed.
> 
> Previously, the selftest framework always treats it as *ok* even though
> some of them are failed actually. That's because the script tdc.sh always
> return 0.
> 
>   # All test results:
>   #
>   # 1..97
>   # ok 1 83be - Create FQ-PIE with invalid number of flows
>   # ok 2 8b6e - Create RED with no flags
> [...snip]
>   # ok 6 5f15 - Create RED with flags ECN, harddrop
>   # ok 7 53e8 - Create RED with flags ECN, nodrop
>   # ok 8 d091 - Fail to create RED with only nodrop flag
>   # ok 9 af8e - Create RED with flags ECN, nodrop, harddrop
>   # not ok 10 ce7d - Add mq Qdisc to multi-queue device (4 queues)
>   #       Could not match regex pattern. Verify command output:
>   # qdisc mq 1: root
>   # qdisc fq_codel 0: parent 1:4 limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 32Mb ecn drop_batch 64
>   # qdisc fq_codel 0: parent 1:3 limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 32Mb ecn drop_batch 64
> [...snip]
>   # ok 96 6979 - Change quantum of a strict ETS band
>   # ok 97 9a7d - Change ETS strict band without quantum
>   #
>   #
>   #
>   #
>   ok 1 selftests: tc-testing: tdc.sh <<< summary result
> 
> CC: Philip Li <philip.li@intel.com>
> Reported-by: kernel test robot <lkp@intel.com>
> Signed-off-by: Li Zhijian <zhijianx.li@intel.com>
> Acked-by: Davide Caratti <dcaratti@redhat.com>
> Acked-by: Jamal Hadi Salim <jhs@mojatatu.com>
> ---
> V3: repost to netdev
> V2: Fix missing ':'
> ---
>   tools/testing/selftests/tc-testing/tdc.py | 8 +++++---
>   1 file changed, 5 insertions(+), 3 deletions(-)
> 
> diff --git a/tools/testing/selftests/tc-testing/tdc.py b/tools/testing/selftests/tc-testing/tdc.py
> index a3e43189d940..ee22e3447ec7 100755
> --- a/tools/testing/selftests/tc-testing/tdc.py
> +++ b/tools/testing/selftests/tc-testing/tdc.py
> @@ -716,6 +716,7 @@ def set_operation_mode(pm, parser, args, remaining):
>           list_test_cases(alltests)
>           exit(0)
>   
> +    exit_code = 0 # KSFT_PASS
>       if len(alltests):
>           req_plugins = pm.get_required_plugins(alltests)
>           try:
> @@ -724,6 +725,8 @@ def set_operation_mode(pm, parser, args, remaining):
>               print('The following plugins were not found:')
>               print('{}'.format(pde.missing_pg))
>           catresults = test_runner(pm, args, alltests)
> +        if catresults.count_failures() != 0:
> +            exit_code = 1 # KSFT_FAIL
>           if args.format == 'none':
>               print('Test results output suppression requested\n')
>           else:
> @@ -748,6 +751,8 @@ def set_operation_mode(pm, parser, args, remaining):
>                           gid=int(os.getenv('SUDO_GID')))
>       else:
>           print('No tests found\n')
> +        exit_code = 4 # KSFT_SKIP
> +    exit(exit_code)
>   
>   def main():
>       """
> @@ -767,8 +772,5 @@ def main():
>   
>       set_operation_mode(pm, parser, args, remaining)
>   
> -    exit(0)
> -
> -
>   if __name__ == "__main__":
>       main()
> 


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-12-03 12:41 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-03  2:53 [PATCH v3 1/3] selftests/tc-testing: add exit code Li Zhijian
2021-12-03  2:53 ` [PATCH v3 2/3] selftests/tc-testing: add missing config Li Zhijian
2021-12-03  2:53 ` [PATCH v3 3/3] selftests/tc-testing: Fix cannot create /sys/bus/netdevsim/new_device: Directory nonexistent Li Zhijian
2021-12-03 11:50 ` [PATCH v3 1/3] selftests/tc-testing: add exit code patchwork-bot+netdevbpf
2021-12-03 12:40 ` Jamal Hadi Salim

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).