1# kill-y.tst: yash-specific test of the kill built-in 2 3# $1 = LINENO, $2 = signal name w/o SIG 4test_printing_signal_name_from_name() { 5 testcase "$1" -e 0 "printing signal name $2 from name" \ 6 3<<__IN__ 4<<__OUT__ 5</dev/null 7kill -l $2 8__IN__ 9$2 10__OUT__ 11} 12 13test_printing_signal_name_from_name "$LINENO" INT 14test_printing_signal_name_from_name "$LINENO" TERM 15 16test_E -e 0 'printing signal description from number' 17kill -v 9 18__IN__ 19 20test_E -e 0 'printing signal description from name' 21kill -v KILL 22__IN__ 23 24# $1 = LINENO, $2 = signal name w/o SIG, $3 = prefix for $2 25test_sending_signal_kill() { 26 testcase "$1" -e "$2" "sending signal: $3$2" \ 27 3<<__IN__ 4</dev/null 5</dev/null 28kill $3$2 \$\$ 29__IN__ 30} 31 32test_sending_signal_kill "$LINENO" USR1 '-n ' 33test_sending_signal_kill "$LINENO" USR2 '-n ' 34 35# $1 = LINENO, $2 = signal name w/o SIG, $3 = signal option for the built-in 36test_sending_signal_num_kill_self() { 37 testcase "$1" -e "$2" "sending signal: $3" \ 38 3<<__IN__ 4</dev/null 5</dev/null 39kill $3 \$\$ 40__IN__ 41} 42 43test_sending_signal_num_kill_self "$LINENO" ALRM '-s 14' 44test_sending_signal_num_kill_self "$LINENO" TERM '-s 15' 45 46test_sending_signal_num_kill_self "$LINENO" ALRM '-n 14' 47test_sending_signal_num_kill_self "$LINENO" TERM '-n 15' 48 49test_oE 'various syntaxes of kill' 50kill -s CHLD $$ $$ 51echo kill 1 $? 52kill -n CHLD $$ $$ 53echo kill 2 $? 54kill -s 0 $$ $$ 55echo kill 3 $? 56kill -n 0 $$ $$ 57echo kill 4 $? 58kill -sCHLD $$ $$ 59echo kill 5 $? 60kill -nCHLD $$ $$ 61echo kill 6 $? 62kill -s0 $$ $$ 63echo kill 7 $? 64kill -n0 $$ $$ 65echo kill 8 $? 66kill -CHLD $$ $$ 67echo kill 9 $? 68kill -0 $$ $$ 69echo kill 10 $? 70kill -s CHLD -- $$ $$ 71echo kill 11 $? 72kill -n CHLD -- $$ $$ 73echo kill 12 $? 74kill -s 0 -- $$ $$ 75echo kill 13 $? 76kill -n 0 -- $$ $$ 77echo kill 14 $? 78kill -sCHLD -- $$ $$ 79echo kill 15 $? 80kill -nCHLD -- $$ $$ 81echo kill 16 $? 82kill -s0 -- $$ $$ 83echo kill 17 $? 84kill -n0 -- $$ $$ 85echo kill 18 $? 86kill -CHLD -- $$ $$ 87echo kill 19 $? 88kill -0 -- $$ $$ 89echo kill 20 $? 90kill -l >/dev/null 91echo kill 21 $? 92kill -l -v >/dev/null 93echo kill 22 $? 94kill -v -l >/dev/null 95echo kill 23 $? 96kill -lv >/dev/null 97echo kill 24 $? 98kill -vl >/dev/null 99echo kill 25 $? 100kill -v >/dev/null 101echo kill 26 $? 102kill -l -- 3 9 15 103echo kill 27 $? 104kill -lv -- 3 9 15 >/dev/null 105echo kill 28 $? 106kill -s chld $$ $$ 107echo kill 29 $? 108kill -schld $$ $$ 109echo kill 30 $? 110kill -s SIGCHLD $$ $$ 111echo kill 31 $? 112kill -sSIGCHLD $$ $$ 113echo kill 32 $? 114kill -s sigchld $$ $$ 115echo kill 33 $? 116kill -ssigchld $$ $$ 117echo kill 34 $? 118kill -SIGCHLD $$ $$ 119echo kill 35 $? 120kill -SiGcHlD $$ $$ 121echo kill 36 $? 122__IN__ 123kill 1 0 124kill 2 0 125kill 3 0 126kill 4 0 127kill 5 0 128kill 6 0 129kill 7 0 130kill 8 0 131kill 9 0 132kill 10 0 133kill 11 0 134kill 12 0 135kill 13 0 136kill 14 0 137kill 15 0 138kill 16 0 139kill 17 0 140kill 18 0 141kill 19 0 142kill 20 0 143kill 21 0 144kill 22 0 145kill 23 0 146kill 24 0 147kill 25 0 148kill 26 0 149QUIT 150KILL 151TERM 152kill 27 0 153kill 28 0 154kill 29 0 155kill 30 0 156kill 31 0 157kill 32 0 158kill 33 0 159kill 34 0 160kill 35 0 161kill 36 0 162__OUT__ 163 164test_Oe -e 1 'invalid option' 165kill --no-such-option 166__IN__ 167kill: no such signal `-NO-SUCH-OPTION' 168__ERR__ 169#' 170#` 171 172test_Oe -e 2 'specifying -l and -n both' 173kill -l -n 0 174__IN__ 175kill: the -n option cannot be used with the -l option 176__ERR__ 177 178test_Oe -e 2 'specifying -l and -s both' 179kill -l -s INT 180__IN__ 181kill: the -s option cannot be used with the -l option 182__ERR__ 183 184test_Oe -e 2 'missing operand' 185kill 186__IN__ 187kill: this command requires an operand 188__ERR__ 189 190test_Oe -e 1 'printing name of unknown signal' 191kill -l 0 192__IN__ 193kill: no such signal `0' 194__ERR__ 195#' 196#` 197 198test_Oe -e 1 'sending signal to unknown job' 199kill %100 200__IN__ 201kill: no such job `%100' 202__ERR__ 203#' 204#` 205 206test_O -d -e 1 'printing to closed stream (no operand)' 207kill -l >&- 208__IN__ 209 210test_O -d -e 1 'printing to closed stream (with operand)' 211kill -l 1 >&- 212__IN__ 213 214test_Oe -e 2 'signal name must be specified w/o SIG (POSIX)' --posix 215kill -s SIGTERM $$ 216__IN__ 217kill: SIGTERM: the signal name must be specified without `SIG' 218__ERR__ 219#' 220#` 221 222( 223if ! testee --version --verbose | grep -Fqx ' * help'; then 224 skip="true" 225fi 226 227test_oE -e 0 'help' 228kill --help 229__IN__ 230kill: send a signal to processes 231 232Syntax: 233 kill [-signal|-s signal|-n number] process... 234 kill -l [-v] [number...] 235 236Try `man yash' for details. 237__OUT__ 238#' 239#` 240 241) 242 243test_Oe -e 1 'no help in POSIX mode' --posix 244kill --help 245__IN__ 246kill: no such signal `-HELP' 247__ERR__ 248#' 249#` 250 251# vim: set ft=sh ts=8 sts=4 sw=4 noet: 252