hs-test: point gdb to vpp source files
[vpp.git] / extras / hs-test / test
1 #!/usr/bin/env bash
2
3 source vars
4
5 args=
6 single_test=0
7 persist_set=0
8 unconfigure_set=0
9 debug_set=0
10 vppsrc=
11
12 for i in "$@"
13 do
14 case "${i}" in
15     --persist=*)
16         persist="${i#*=}"
17         if [ $persist = "true" ]; then
18             args="$args -persist"
19             persist_set=1
20         fi
21         ;;
22     --debug=*)
23         debug="${i#*=}"
24         if [ $debug = "true" ]; then
25             args="$args -debug"
26             debug_set=1
27         fi
28         ;;
29     --verbose=*)
30         verbose="${i#*=}"
31         if [ $verbose = "true" ]; then
32             args="$args -verbose"
33         fi
34         ;;
35     --unconfigure=*)
36         unconfigure="${i#*=}"
37         if [ $unconfigure = "true" ]; then
38             args="$args -unconfigure"
39             unconfigure_set=1
40         fi
41         ;;
42     --cpus=*)
43         args="$args -cpus ${i#*=}"
44         ;;
45     --vppsrc=*)
46         args="$args -vppsrc ${i#*=}"
47         ;;
48     --test=*)
49         tc_name="${i#*=}"
50         if [ $tc_name != "all" ]; then
51             single_test=1
52             args="$args -run $tc_name -verbose"
53         fi
54 esac
55 done
56
57 if [ $single_test -eq 0 ] && [ $persist_set -eq 1 ]; then
58     echo "persist flag is not supported while running all tests!"
59     exit 1
60 fi
61
62 if [ $unconfigure_set -eq 1 ] && [ $single_test -eq 0 ]; then
63     echo "a single test has to be specified when unconfigure is set"
64     exit 1
65 fi
66
67 if [ $persist_set -eq 1 ] && [ $unconfigure_set -eq 1 ]; then
68     echo "setting persist flag and unconfigure flag is not allowed"
69     exit 1
70 fi
71
72 if [ $single_test -eq 0 ] && [ $debug_set -eq 1 ]; then
73     echo "VPP debug flag is not supperted while running all tests!"
74     exit 1
75 fi
76
77 sudo -E go test -timeout=20m -buildvcs=false -v $args