f02c15966814f5780a2823271fe0398219be9960
[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
10 for i in "$@"
11 do
12 case "${i}" in
13     --persist=*)
14         persist="${i#*=}"
15         if [ $persist = "true" ]; then
16             args="$args -persist"
17             persist_set=1
18         fi
19         ;;
20     --verbose=*)
21         verbose="${i#*=}"
22         if [ $verbose = "true" ]; then
23             args="$args -verbose"
24         fi
25         ;;
26     --unconfigure=*)
27         unconfigure="${i#*=}"
28         if [ $unconfigure = "true" ]; then
29             args="$args -unconfigure"
30             unconfigure_set=1
31         fi
32         ;;
33     --test=*)
34         tc_name="${i#*=}"
35         if [ $tc_name != "all" ]; then
36             single_test=1
37             args="$args -run $tc_name"
38         fi
39 esac
40 done
41
42 if [ $single_test -eq 0 ] && [ $persist_set -eq 1 ]; then
43     echo "persist flag is not supported while running all tests!"
44     exit 1
45 fi
46
47 if [ $unconfigure_set -eq 1 ] && [ $single_test -eq 0 ]; then
48     echo "a single test has to be specified when unconfigure is set"
49     exit 1
50 fi
51
52 if [ $persist_set -eq 1 ] && [ $unconfigure_set -eq 1 ]; then
53     echo "setting persist flag and unconfigure flag is not allowed"
54     exit 1
55 fi
56
57 sudo -E go test -buildvcs=false -v $args