selftests: txtimestamp: allow individual txtimestamp tests.
authorJian Yang <jianyang@google.com>
Tue, 17 Mar 2020 19:25:05 +0000 (12:25 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sun, 22 Mar 2020 03:14:12 +0000 (20:14 -0700)
The wrapper script txtimestamp.sh executes a pre-defined list of testcases
sequentially without configuration options available.

Add an option (-r/--run) to setup the test namespace and pass remaining
arguments to txtimestamp binary. The script still runs all tests when no
argument is passed.

Signed-off-by: Jian Yang <jianyang@google.com>
Acked-by: Willem de Bruijn <willemb@google.com>
Acked-by: Soheil Hassas Yeganeh <soheil@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
tools/testing/selftests/networking/timestamping/txtimestamp.sh

index df0d86ca72b7a96ed074a2551081219473bea3b4..70a8cda7fd536c419c757f7dd6d9217afd19d53f 100755 (executable)
@@ -43,15 +43,40 @@ run_test_tcpudpraw() {
 }
 
 run_test_all() {
+       setup
        run_test_tcpudpraw              # setsockopt
        run_test_tcpudpraw -C           # cmsg
        run_test_tcpudpraw -n           # timestamp w/o data
+       echo "OK. All tests passed"
+}
+
+run_test_one() {
+       setup
+       ./txtimestamp $@
+}
+
+usage() {
+       echo "Usage: $0 [ -r | --run ] <txtimestamp args> | [ -h | --help ]"
+       echo "  (no args)  Run all tests"
+       echo "  -r|--run  Run an individual test with arguments"
+       echo "  -h|--help Help"
+}
+
+main() {
+       if [[ $# -eq 0 ]]; then
+               run_test_all
+       else
+               if [[ "$1" = "-r" || "$1" == "--run" ]]; then
+                       shift
+                       run_test_one $@
+               else
+                       usage
+               fi
+       fi
 }
 
 if [[ "$(ip netns identify)" == "root" ]]; then
        ../../net/in_netns.sh $0 $@
 else
-       setup
-       run_test_all
-       echo "OK. All tests passed"
+       main $@
 fi