-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest.sh
99 lines (83 loc) · 3.53 KB
/
test.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
usage() {
declare -r script_name=$(basename "$0")
echo """
Usage:
"${script_name}" [option] <name>
Option:
-h|--host <foo.com|bar.com|baz.com|...>
-a|--accountId <001123456789|002123456789|...>
"""
exit 0
}
main() {
# Initialize variables to track if -w, -c, and -l are provided
W_FLAG_PROVIDED=false
C_FLAG_PROVIDED=false
L_FLAG_PROVIDED=false
# [[ $# -eq 0 ]] && usage
# :w:uislch
optspec=":uislch-:"
while getopts "$optspec" optchar; do
case "${optchar}" in
-)
case "${OPTARG}" in
website=*)
WEBSITE=${OPTARG#*=}
W_FLAG_PROVIDED=true
# echo "Specified website '--${OPTARG}': ${WEBSITE}" >&2;
;;
unit-test) RUN_OSS_UNIT=true ;;
integ-test) RUN_OSS_INTEG=true ;;
style-test) RUN_OSS_STYLE=true ;;
cypress-integ-test) RUN_CYPRESS_INTEG=true; C_FLAG_PROVIDED=true ;;
local) RUN_LOCAL=true; L_FLAG_PROVIDED=true ;;
help) usage; exit 0 ;;
esac;;
u) RUN_OSS_UNIT=true ;;
i) RUN_OSS_INTEG=true ;;
s) RUN_OSS_STYLE=true ;;
c) RUN_CYPRESS_INTEG=true; C_FLAG_PROVIDED=true ;;
l) RUN_LOCAL=true; L_FLAG_PROVIDED=true ;;
h) usage; exit 0 ;;
*)
if [ "$OPTERR" != 1 ] || [ "${optspec:0:1}" = ":" ]; then
echo "Non-option argument: '-${OPTARG}'" >&2
fi
;;
esac
done
# while true
# do
# case $1 in
# -w|--website) WEBSITE=$2; W_FLAG_PROVIDED=true; shift 2;;
# -u|--unit-test) RUN_OSS_UNIT=true ;;
# -i|--integ-test) RUN_OSS_INTEG=true ;;
# -s|--style-test) RUN_OSS_STYLE=true ;;
# -c|--cypress-integ-test) RUN_CYPRESS_INTEG=true; C_FLAG_PROVIDED=true ;;
# -l|--local) RUN_LOCAL=true; L_FLAG_PROVIDED=true ;;
# -h|--help) usage; exit 0 ;;
# # -a|--accountId) ACCOUNTID=$2; shift 2;;
# # -h|--host) HOST=$2; shift 2;;
# # --help) usage;;
# # --) shift ; break ;;
# esac
# done
# Check if -w flag was provided
if ! $W_FLAG_PROVIDED; then
printf "Error: -w <WEBSITE-URL> is required.\n" >&2
usage
fi
# Check if -l flag is provided without -c flag
if $L_FLAG_PROVIDED && ! $C_FLAG_PROVIDED; then
printf "Error: -l flag can only be used when -c flag is also present.\n" >&2
usage
fi
# echo host: $HOST, accountId: $ACCOUNTID
echo "Website: $WEBSITE"
echo "Run OSS Unit Test: $RUN_OSS_UNIT"
echo "Run OSS Integration Test: $RUN_OSS_INTEG"
echo "Run OSS Style Test: $RUN_OSS_STYLE"
echo "Run Cypress Integration Test: $RUN_CYPRESS_INTEG"
echo "Run Local: $RUN_LOCAL"
}
main "$@"