Skip to content

Commit 591b5ca

Browse files
authored
Test signal (#222)
* test: signal tests signal1: command tests signal2: send-signal function tests * Adopt the new monitor framework * Removing useless variable initializations
1 parent 7e32f37 commit 591b5ca

File tree

2 files changed

+288
-0
lines changed

2 files changed

+288
-0
lines changed

tests/signal1.sh

Lines changed: 173 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,173 @@
1+
#!/bin/sh
2+
3+
# system utilities stubs
4+
5+
# UUT
6+
. ../share/pot/signal.sh
7+
8+
. ../share/pot/common.sh
9+
# common stubs
10+
. common-stub.sh
11+
12+
# app specific stubs
13+
signal-help()
14+
{
15+
__monitor HELP "$@"
16+
}
17+
18+
_get_signal_names()
19+
{
20+
__monitor GETSIGNALNAMES "$@"
21+
}
22+
23+
_validate_signal_name()
24+
{
25+
__monitor VALIDATESIGNALNAME "$@"
26+
if [ "$1" = "SIGINFO" ] || [ "$1" = "SIGHUP" ]; then
27+
return 0 # true
28+
fi
29+
return 1 # false
30+
}
31+
32+
_validate_pid()
33+
{
34+
__monitor VALIDATEPID "$@"
35+
if [ "$1" = "1234" ]; then
36+
return 0 # true
37+
fi
38+
return 1 # false
39+
}
40+
41+
_send_signal()
42+
{
43+
__monitor SENDSIGNAL "$@"
44+
}
45+
46+
test_pot_signal_001()
47+
{
48+
pot-signal
49+
assertEquals "Exit rc" "1" "$?"
50+
assertEqualsMon "Help calls" "1" HELP_CALLS
51+
assertEqualsMon "Error calls" "1" ERROR_CALLS
52+
assertEqualsMon "Send signal calls" "0" SENDSIGNAL_CALLS
53+
54+
setUp
55+
pot-signal -b bb
56+
assertEquals "Exit rc" "1" "$?"
57+
assertEqualsMon "Help calls" "1" HELP_CALLS
58+
assertEqualsMon "Error calls" "0" ERROR_CALLS
59+
assertEqualsMon "Send signal calls" "0" SENDSIGNAL_CALLS
60+
61+
setUp
62+
pot-signal -h
63+
assertEquals "Exit rc" "0" "$?"
64+
assertEqualsMon "Help calls" "1" HELP_CALLS
65+
assertEqualsMon "Error calls" "0" ERROR_CALLS
66+
assertEqualsMon "Send signal calls" "0" SENDSIGNAL_CALLS
67+
68+
setUp
69+
pot-signal -v
70+
assertEquals "Exit rc" "1" "$?"
71+
assertEqualsMon "Help calls" "1" HELP_CALLS
72+
assertEqualsMon "Error calls" "1" ERROR_CALLS
73+
assertEqualsMon "Send signal calls" "0" SENDSIGNAL_CALLS
74+
}
75+
76+
test_pot_signal_002()
77+
{
78+
pot-signal -p test-pot -s SIGBAD
79+
assertEquals "Exit rc" "1" "$?"
80+
assertEqualsMon "Error calls" "1" ERROR_CALLS
81+
assertEqualsMon "Validate signal calls" "1" VALIDATESIGNALNAME_CALLS
82+
assertEqualsMon "Validate signal arg" "SIGBAD" VALIDATESIGNALNAME_CALL1_ARG1
83+
assertEqualsMon "Send signal calls" "0" SENDSIGNAL_CALLS
84+
85+
setUp
86+
pot-signal -p test-pot -P 1234 -m cmd
87+
assertEquals "Exit rc" "1" "$?"
88+
assertEqualsMon "Error calls" "1" ERROR_CALLS
89+
assertEqualsMon "Validate pid calls" "0" VALIDATEPID_CALLS
90+
assertEqualsMon "Send signal calls" "0" SENDSIGNAL_CALLS
91+
92+
setUp
93+
pot-signal -p test-pot -P cmd
94+
assertEquals "Exit rc" "1" "$?"
95+
assertEqualsMon "Error calls" "1" ERROR_CALLS
96+
assertEqualsMon "Validate pid calls" "1" VALIDATEPID_CALLS
97+
assertEqualsMon "Validate pid calls" "cmd" VALIDATEPID_CALL1_ARG1
98+
assertEqualsMon "Send signal calls" "0" SENDSIGNAL_CALLS
99+
}
100+
101+
test_pot_signal_003()
102+
{
103+
pot-signal -p test-pot -P 1234
104+
assertEquals "Exit rc" "1" "$?"
105+
assertEqualsMon "Error calls" "1" ERROR_CALLS
106+
assertEqualsMon "Validate pid calls" "1" VALIDATEPID_CALLS
107+
assertEqualsMon "Validate pid calls" "1234" VALIDATEPID_CALL1_ARG1
108+
assertEqualsMon "Validate signal calls" "1" VALIDATESIGNALNAME_CALLS
109+
assertEqualsMon "Validate signal arg" "SIGINFO" VALIDATESIGNALNAME_CALL1_ARG1
110+
assertEqualsMon "_is_pot_running calls" "1" ISPOTRUN_CALLS
111+
assertEqualsMon "Send signal calls" "0" SENDSIGNAL_CALLS
112+
}
113+
114+
test_pot_signal_020()
115+
{
116+
pot-signal -p test-pot-run
117+
assertEquals "Exit rc" "0" "$?"
118+
assertEqualsMon "Error calls" "0" ERROR_CALLS
119+
assertEqualsMon "Send signal calls" "1" SENDSIGNAL_CALLS
120+
assertEqualsMon "Send signal arg1" "test-pot-run" SENDSIGNAL_CALL1_ARG1
121+
assertEqualsMon "Send signal arg2" "SIGINFO" SENDSIGNAL_CALL1_ARG2
122+
assertEqualsMon "Send signal arg3" "" SENDSIGNAL_CALL1_ARG3
123+
assertEqualsMon "Send signal arg4" "" SENDSIGNAL_CALL1_ARG4
124+
assertEqualsMon "Send signal arg5" "NO" SENDSIGNAL_CALL1_ARG5
125+
assertEqualsMon "Send signal arg6" "NO" SENDSIGNAL_CALL1_ARG6
126+
127+
setUp
128+
pot-signal -p test-pot-run -s SIGHUP
129+
assertEquals "Exit rc" "0" "$?"
130+
assertEqualsMon "Error calls" "0" ERROR_CALLS
131+
assertEqualsMon "Send signal calls" "1" SENDSIGNAL_CALLS
132+
assertEqualsMon "Send signal arg1" "test-pot-run" SENDSIGNAL_CALL1_ARG1
133+
assertEqualsMon "Send signal arg2" "SIGHUP" SENDSIGNAL_CALL1_ARG2
134+
assertEqualsMon "Send signal arg3" "" SENDSIGNAL_CALL1_ARG3
135+
assertEqualsMon "Send signal arg4" "" SENDSIGNAL_CALL1_ARG4
136+
assertEqualsMon "Send signal arg5" "NO" SENDSIGNAL_CALL1_ARG5
137+
assertEqualsMon "Send signal arg6" "NO" SENDSIGNAL_CALL1_ARG6
138+
}
139+
140+
test_pot_signal_021()
141+
{
142+
pot-signal -p test-pot-run -s SIGHUP -P 1234 -f -C
143+
assertEquals "Exit rc" "0" "$?"
144+
assertEqualsMon "Error calls" "0" ERROR_CALLS
145+
assertEqualsMon "Send signal calls" "1" SENDSIGNAL_CALLS
146+
assertEqualsMon "Send signal arg1" "test-pot-run" SENDSIGNAL_CALL1_ARG1
147+
assertEqualsMon "Send signal arg2" "SIGHUP" SENDSIGNAL_CALL1_ARG2
148+
assertEqualsMon "Send signal arg3" "1234" SENDSIGNAL_CALL1_ARG3
149+
assertEqualsMon "Send signal arg4" "" SENDSIGNAL_CALL1_ARG4
150+
assertEqualsMon "Send signal arg5" "YES" SENDSIGNAL_CALL1_ARG5
151+
assertEqualsMon "Send signal arg6" "YES" SENDSIGNAL_CALL1_ARG6
152+
}
153+
154+
test_pot_signal_022()
155+
{
156+
pot-signal -p test-pot-run -s SIGINFO -m grep -f -C
157+
assertEquals "Exit rc" "0" "$?"
158+
assertEqualsMon "Error calls" "0" ERROR_CALLS
159+
assertEqualsMon "Send signal calls" "1" SENDSIGNAL_CALLS
160+
assertEqualsMon "Send signal arg1" "test-pot-run" SENDSIGNAL_CALL1_ARG1
161+
assertEqualsMon "Send signal arg2" "SIGINFO" SENDSIGNAL_CALL1_ARG2
162+
assertEqualsMon "Send signal arg3" "" SENDSIGNAL_CALL1_ARG3
163+
assertEqualsMon "Send signal arg4" "grep" SENDSIGNAL_CALL1_ARG4
164+
assertEqualsMon "Send signal arg5" "YES" SENDSIGNAL_CALL1_ARG5
165+
assertEqualsMon "Send signal arg6" "YES" SENDSIGNAL_CALL1_ARG6
166+
}
167+
168+
setUp()
169+
{
170+
common_setUp
171+
}
172+
173+
. shunit/shunit2

tests/signal2.sh

Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
#!/bin/sh
2+
3+
# system utilities stubs
4+
pkill()
5+
{
6+
__monitor PKILL "$@"
7+
}
8+
9+
pgrep()
10+
{
11+
__monitor PGREP "$@"
12+
}
13+
14+
mktemp()
15+
{
16+
__monitor MKTEMP "$@"
17+
echo /dev/null
18+
}
19+
20+
rm()
21+
{
22+
__monitor RM "$@"
23+
}
24+
25+
# UUT
26+
. ../share/pot/signal.sh
27+
28+
. ../share/pot/common.sh
29+
# common stubs
30+
. common-stub.sh
31+
32+
_get_conf_var()
33+
{
34+
__monitor GETCONFVAR "$@"
35+
if [ "$1" = "test-pot-presist" ]; then
36+
echo "YES"
37+
return
38+
fi
39+
echo "NO"
40+
}
41+
42+
# app specific stubs
43+
44+
test_send_signal_001()
45+
{
46+
_send_signal test-pot SIGINFO "" "" "NO" "NO"
47+
assertEqualsMon "pgrep calls" "0" PGREP_CALLS
48+
assertEqualsMon "pkill calls" "1" PKILL_CALLS
49+
assertEqualsMon "pkill arg1" "-SIGINFO" PKILL_CALL1_ARG1
50+
assertEqualsMon "pkill arg2" "-j" PKILL_CALL1_ARG2
51+
assertEqualsMon "pkill arg3" "test-pot" PKILL_CALL1_ARG3
52+
assertEqualsMon "pkill arg4" "-F" PKILL_CALL1_ARG4
53+
assertEqualsMon "pkill arg5" "/tmp/pot_main_pid_test-pot" PKILL_CALL1_ARG5
54+
assertEqualsMon "rm calls" "0" RM_CALLS
55+
}
56+
57+
test_send_signal_002()
58+
{
59+
_send_signal test-pot-presist SIGINFO "" "" "NO" "NO"
60+
rc=$?
61+
assertEquals "return code" "1" "$rc"
62+
assertEqualsMon "pgrep calls" "0" PGREP_CALLS
63+
assertEqualsMon "pkill calls" "0" PKILL_CALLS
64+
}
65+
66+
test_send_signal_003()
67+
{
68+
_send_signal test-pot-presist SIGINFO "" "" "YES" "NO"
69+
rc=$?
70+
assertEquals "return code" "0" "$rc"
71+
assertEqualsMon "pgrep calls" "0" PGREP_CALLS
72+
assertEqualsMon "pkill calls" "0" PKILL_CALLS
73+
}
74+
75+
test_send_signal_010()
76+
{
77+
_send_signal test-pot SIGINFO "" "command" "NO" "NO"
78+
assertEqualsMon "pgrep calls" "0" PGREP_CALLS
79+
assertEqualsMon "pkill calls" "1" PKILL_CALLS
80+
assertEqualsMon "pkill arg1" "-SIGINFO" PKILL_CALL1_ARG1
81+
assertEqualsMon "pkill arg2" "-j" PKILL_CALL1_ARG2
82+
assertEqualsMon "pkill arg3" "test-pot" PKILL_CALL1_ARG3
83+
assertEqualsMon "pkill arg4" "command" PKILL_CALL1_ARG4
84+
assertEqualsMon "rm calls" "0" RM_CALLS
85+
}
86+
87+
test_send_signal_011()
88+
{
89+
_send_signal test-pot SIGINFO "1234" "" "NO" "NO"
90+
assertEqualsMon "pgrep calls" "0" PGREP_CALLS
91+
assertEqualsMon "pkill calls" "1" PKILL_CALLS
92+
assertEqualsMon "pkill arg1" "-SIGINFO" PKILL_CALL1_ARG1
93+
assertEqualsMon "pkill arg2" "-j" PKILL_CALL1_ARG2
94+
assertEqualsMon "pkill arg3" "test-pot" PKILL_CALL1_ARG3
95+
assertEqualsMon "pkill arg4" "-F" PKILL_CALL1_ARG4
96+
assertEqualsMon "pkill arg5" "/dev/null" PKILL_CALL1_ARG5
97+
assertEqualsMon "rm calls" "1" RM_CALLS
98+
}
99+
100+
test_send_signal_020()
101+
{
102+
_send_signal test-pot SIGINFO "" "" "NO" "YES"
103+
assertEqualsMon "pgrep calls" "1" PGREP_CALLS
104+
assertEqualsMon "pkill arg1" "-j" PGREP_CALL1_ARG1
105+
assertEqualsMon "pkill arg2" "test-pot" PGREP_CALL1_ARG2
106+
assertEqualsMon "pkill arg4" "/tmp/pot_main_pid_test-pot" PGREP_CALL1_ARG4
107+
assertEqualsMon "pkill calls" "0" PKILL_CALLS
108+
}
109+
110+
setUp()
111+
{
112+
common_setUp
113+
}
114+
115+
. shunit/shunit2

0 commit comments

Comments
 (0)