# Tests for the kill builtin. %test # Correct invocation if zmodload zsh/system &>/dev/null; then ( trap 'exit 19' TERM kill $sysparams[pid] ) else print -u $ZTST_fd 'Cannot zmodload zsh/system, skipping kill with no sigspec' fi 19:kill with no sigspec if zmodload zsh/system &>/dev/null; then ( trap 'exit 11' USR1 kill -USR1 $sysparams[pid] ) else print -u $ZTST_fd 'Cannot zmodload zsh/system, skipping kill with sigspec' fi 11:kill with sigspec # Incorrect invocation ( kill a b c ) 3:kill with multiple wrong inputs should increment status ?(eval):kill:2: illegal pid: a ?(eval):kill:2: illegal pid: b ?(eval):kill:2: illegal pid: c ( kill -INT a b c ) 3:kill with sigspec and wrong inputs should increment status ?(eval):kill:2: illegal pid: a ?(eval):kill:2: illegal pid: b ?(eval):kill:2: illegal pid: c kill 1:kill with no arguments ?(eval):kill:1: not enough arguments kill -INT 1:kill with sigspec only ?(eval):kill:1: not enough arguments # Regression tests: `kill ''` should not result in `kill 0`. trap 'exit 19' TERM kill '' 1:Plain kill with empty pid should not send signal to current process group ?(eval):kill:2: illegal pid: trap 'exit 11' INT kill -INT '' 1:kill with empty pid and sigspec should not send signal to current process group ?(eval):kill:2: illegal pid: