Results for builtin-kill.test.sh

statusbashdashashzshmkshkshtoyshsushbrushosh
pass 164977916313
ok 0101000001
N-I 0902500000
BUG 0201400000
FAIL 0075071510132
total16161616161616161616
casebashdashashzshmkshkshtoyshsushbrushoshdescription
0pass pass pass pass BUG FAIL FAIL FAIL FAIL pass kill -15 kills the process with SIGTERM
detailsdetailsdetailsdetailsdetails
1pass pass pass FAIL pass pass FAIL FAIL FAIL pass kill -KILL kills the process with SIGKILL
detailsdetailsdetailsdetails
2pass N-I FAIL pass N-I FAIL FAIL FAIL FAIL pass kill -n 9 specifies the signal number
detailsdetailsdetailsdetailsdetailsdetailsdetails
3pass pass pass FAIL BUG FAIL FAIL FAIL FAIL pass kill -s TERM specifies the signal name
detailsdetailsdetailsdetailsdetailsdetails
4pass N-I pass N-I N-I FAIL FAIL FAIL FAIL pass kill -terM -SigterM isn't case sensitive
detailsdetailsdetailsdetailsdetailsdetailsdetails
5pass N-I FAIL pass pass pass FAIL pass pass ok kill HUP pid gives the correct error
detailsdetailsdetailsdetails
6pass N-I FAIL FAIL pass pass FAIL pass pass pass kill -l shows signals
detailsdetailsdetailsdetails
7pass N-I FAIL N-I N-I FAIL FAIL pass pass pass kill -L also shows signals
detailsdetailsdetailsdetailsdetailsdetails
8pass N-I FAIL FAIL N-I FAIL FAIL FAIL FAIL pass kill -l 10 TERM translates between names and numbers
detailsdetailsdetailsdetailsdetailsdetailsdetailsdetails
9pass N-I FAIL FAIL N-I FAIL FAIL FAIL FAIL FAIL kill -L checks for invalid input
detailsdetailsdetailsdetailsdetailsdetailsdetailsdetailsdetails
10pass N-I pass pass pass pass FAIL FAIL FAIL pass kill -9999 is an invalid signal
detailsdetailsdetailsdetails
11pass N-I FAIL ok BUG pass FAIL FAIL FAIL FAIL kill -15 %% kills current job
detailsdetailsdetailsdetailsdetailsdetailsdetailsdetails
12pass BUG pass BUG BUG pass FAIL FAIL FAIL pass kill -15 %- kills previous job
detailsdetailsdetailsdetailsdetailsdetails
13pass pass pass pass pass pass FAIL pass FAIL pass kill multiple pids at once
detailsdetails
14pass BUG pass pass pass pass FAIL pass FAIL pass kill pid and job at once
detailsdetailsdetails
15pass ok pass pass pass pass pass pass FAIL pass Numeric signal out of range - OSH may send it anyway
detailsdetails
75 passed, 3 OK, 16 not implemented, 7 BUG, 59 failed, 0 timeouts, 0 cases skipped
2 failed under osh

Details on runs that didn't PASS

mksh0 kill -15 kills the process with SIGTERM

stdout:
stderr: 
ksh0 kill -15 kills the process with SIGTERM

[ksh stdout] Expected 'kill=0\nwait=143\n' Got 'kill=0\nwait=0\n'

stdout:
kill=0
wait=0
stderr:
toysh0 kill -15 kills the process with SIGTERM

[toysh stdout] Expected 'kill=0\nwait=143\n' Got ''
[toysh status] Expected 0 Got -6

stdout:
stderr: 
munmap_chunk(): invalid pointer
sush0 kill -15 kills the process with SIGTERM

[sush stdout] Expected 'kill=0\nwait=143\n' Got 'kill=0\nwait=0\n'

stdout:
kill=0
wait=0
stderr:
695561
brush0 kill -15 kills the process with SIGTERM

[brush stdout] Expected 'kill=0\nwait=143\n' Got 'kill=2\nwait=0\n'

stdout:
kill=2
wait=0
stderr:
kill: invalid signal name
zsh1 kill -KILL kills the process with SIGKILL

[zsh stdout] Expected 'kill=0\nwait=137\n' Got 'kill=1\nwait=0\n'

stdout:
kill=1
wait=0
stderr:
kill: unknown signal: SIGKILL
kill: type kill -l for a list of signals
toysh1 kill -KILL kills the process with SIGKILL

[toysh stdout] Expected 'kill=0\nwait=137\n' Got 'kill=1\nwait=0\n'

stdout:
kill=1
wait=0
stderr:
kill: missing argument (see "kill --help")
sush1 kill -KILL kills the process with SIGKILL

[sush stdout] Expected 'kill=0\nwait=137\n' Got 'kill=0\nwait=0\n'

stdout:
kill=0
wait=0
stderr:
696039
brush1 kill -KILL kills the process with SIGKILL

[brush stdout] Expected 'kill=0\nwait=137\n' Got 'kill=2\nwait=0\n'

stdout:
kill=2
wait=0
stderr:
kill: invalid usage
dash2 kill -n 9 specifies the signal number

stdout:
kill=2
wait=0
stderr:
dash: 3: kill: Illegal option -n
ash2 kill -n 9 specifies the signal number

[ash stdout] Expected 'kill=0\nwait=137\n' Got 'kill=1\nwait=0\n'

stdout:
kill=1
wait=0
stderr:
ash: bad signal name 'n'
mksh2 kill -n 9 specifies the signal number

stdout:
kill=1
wait=0
stderr:
mksh: <stdin>[3]: kill: -n: unknown option
ksh2 kill -n 9 specifies the signal number

[ksh stdout] Expected 'kill=0\nwait=137\n' Got 'kill=1\nwait=0\n'

stdout:
kill=1
wait=0
stderr:
E: ksh: <stdin>[3]: kill: -n: unknown option
toysh2 kill -n 9 specifies the signal number

[toysh stdout] Expected 'kill=0\nwait=137\n' Got 'kill=1\nwait=0\n'

stdout:
kill=1
wait=0
stderr:
kill: Unknown signal 'n'
sush2 kill -n 9 specifies the signal number

[sush stdout] Expected 'kill=0\nwait=137\n' Got 'kill=0\nwait=0\n'

stdout:
kill=0
wait=0
stderr:
697080
brush2 kill -n 9 specifies the signal number

[brush stdout] Expected 'kill=0\nwait=137\n' Got 'kill=2\nwait=0\n'

stdout:
kill=2
wait=0
stderr:
kill: invalid usage
zsh3 kill -s TERM specifies the signal name

[zsh stdout] Expected 'kill=0\nwait=143\n' Got 'kill=1\nwait=0\n'

stdout:
kill=1
wait=0
stderr:
kill: unknown signal: SIGTERM
kill: type kill -l for a list of signals
mksh3 kill -s TERM specifies the signal name

stdout:
kill=0
wait=0
stderr:
ksh3 kill -s TERM specifies the signal name

[ksh stdout] Expected 'kill=0\nwait=143\n' Got 'kill=0\nwait=0\n'

stdout:
kill=0
wait=0
stderr:
toysh3 kill -s TERM specifies the signal name

[toysh stdout] Expected 'kill=0\nwait=143\n' Got 'kill=1\nwait=0\n'

stdout:
kill=1
wait=0
stderr:
kill: missing argument (see "kill --help")
sush3 kill -s TERM specifies the signal name

[sush stdout] Expected 'kill=0\nwait=143\n' Got 'kill=0\nwait=0\n'

stdout:
kill=0
wait=0
stderr:
698168
brush3 kill -s TERM specifies the signal name

[brush stdout] Expected 'kill=0\nwait=143\n' Got 'kill=2\nwait=0\n'

stdout:
kill=2
wait=0
stderr:
kill: invalid usage
dash4 kill -terM -SigterM isn't case sensitive

stdout:
stderr: 
zsh4 kill -terM -SigterM isn't case sensitive

stdout:
stderr: 
mksh4 kill -terM -SigterM isn't case sensitive

stdout:
stderr: 
ksh4 kill -terM -SigterM isn't case sensitive

[ksh stdout] Expected 'kill=0\nwait=143\nkill=0\nwait=143\n' Got 'kill=1\nwait=0\nkill=1\nwait=0\n'

stdout:
kill=1
wait=0
kill=1
wait=0
stderr:
E: ksh: <stdin>[5]: kill: bad signal: SigterM
E: ksh: <stdin>[12]: kill: -t: unknown option
toysh4 kill -terM -SigterM isn't case sensitive

[toysh stdout] Expected 'kill=0\nwait=143\nkill=0\nwait=143\n' Got ''
[toysh status] Expected 0 Got -6

stdout:
stderr: 
munmap_chunk(): invalid pointer
sush4 kill -terM -SigterM isn't case sensitive

[sush stdout] Expected 'kill=0\nwait=143\nkill=0\nwait=143\n' Got 'kill=0\nwait=0\nkill=0\nwait=0\n'

stdout:
kill=0
wait=0
kill=0
wait=0
stderr:
698862
698873
brush4 kill -terM -SigterM isn't case sensitive

[brush stdout] Expected 'kill=0\nwait=143\nkill=0\nwait=143\n' Got 'kill=2\nwait=0\nkill=2\nwait=0\n'

stdout:
kill=2
wait=0
kill=2
wait=0
stderr:
kill: invalid usage
kill: invalid usage
dash5 kill HUP pid gives the correct error

stdout:
stderr: 
ash5 kill HUP pid gives the correct error

[ash stdout] Expected '1\n' Got '127\n'

stdout:
127
stderr:
ash: builtin: not found
toysh5 kill HUP pid gives the correct error

[toysh stdout] Expected '1\n' Got ''
[toysh status] Expected 0 Got -6

stdout:
stderr: 
munmap_chunk(): invalid pointer
osh5 kill HUP pid gives the correct error

stdout:
2
stderr:
  builtin kill HUP $pid
               ^~~
[ stdin ]:3: 'kill' got invalid process ID 'HUP'
dash6 kill -l shows signals

stdout:
stderr: 
ash6 kill -l shows signals

[ash stdout] Expected '0\n' Got '1\n'

stdout:
1
stderr:
ash: builtin: not found
zsh6 kill -l shows signals

[zsh stdout] Expected '0\n' Got '1\n'

stdout:
1
stderr:
toysh6 kill -l shows signals

[toysh stdout] Expected '0\n' Got ''
[toysh status] Expected 0 Got -6

stdout:
stderr: 
munmap_chunk(): invalid pointer
dash7 kill -L also shows signals

stdout:
stderr: 
ash7 kill -L also shows signals

[ash stdout] Expected '0\n' Got '1\n'

stdout:
1
stderr:
ash: builtin: not found
zsh7 kill -L also shows signals

stdout:
stderr: 
mksh7 kill -L also shows signals

stdout:
stderr: 
ksh7 kill -L also shows signals

[ksh stdout] Expected '0\n' Got '1\n'

stdout:
1
stderr:
E: ksh: <stdin>[3]: kill: bad signal: L
toysh7 kill -L also shows signals

[toysh stdout] Expected '0\n' Got ''
[toysh status] Expected 0 Got -6

stdout:
stderr: 
munmap_chunk(): invalid pointer
dash8 kill -l 10 TERM translates between names and numbers

stdout:
stderr: 
ash8 kill -l 10 TERM translates between names and numbers

[ash stdout] Expected 'USR1\nSEGV\nUSR2\nstatus=0\n\n10\n11\n12\nstatus=0\n\nUSR1\n11\nUSR2\nstatus=0\n\n' Got 'status=127\n\nstatus=127\n\nstatus=127\n\n'

stdout:
status=127

status=127

status=127

stderr:
ash: builtin: not found
ash: builtin: not found
ash: builtin: not found
zsh8 kill -l 10 TERM translates between names and numbers

[zsh stdout] Expected 'USR1\nSEGV\nUSR2\nstatus=0\n\n10\n11\n12\nstatus=0\n\nUSR1\n11\nUSR2\nstatus=0\n\n' Got 'USR1\n11\nUSR2\nstatus=0\n\n10\n12\nstatus=1\n\nUSR1\nUSR2\nstatus=1\n\n'

stdout:
USR1
11
USR2
status=0

10
12
status=1

USR1
USR2
status=1

stderr:
kill: unknown signal: SIGSEGV
kill: unknown signal: SIGSEGV
mksh8 kill -l 10 TERM translates between names and numbers

stdout:
stderr: 
ksh8 kill -l 10 TERM translates between names and numbers

[ksh stdout] Expected 'USR1\nSEGV\nUSR2\nstatus=0\n\n10\n11\n12\nstatus=0\n\nUSR1\n11\nUSR2\nstatus=0\n\n' Got 'USR1\nSEGV\nUSR2\nstatus=0\n\nstatus=1\n\nUSR1\nstatus=1\n\n'

stdout:
USR1
SEGV
USR2
status=0

status=1

USR1
status=1

stderr:
E: ksh: <stdin>[7]: kill: bad number: SIGUSR1
E: ksh: <stdin>[11]: kill: bad number: SIGSEGV
toysh8 kill -l 10 TERM translates between names and numbers

[toysh stdout] Expected 'USR1\nSEGV\nUSR2\nstatus=0\n\n10\n11\n12\nstatus=0\n\nUSR1\n11\nUSR2\nstatus=0\n\n' Got ''
[toysh status] Expected 0 Got -6

stdout:
stderr: 
munmap_chunk(): invalid pointer
sush8 kill -l 10 TERM translates between names and numbers

[sush stdout] Expected 'USR1\nSEGV\nUSR2\nstatus=0\n\n10\n11\n12\nstatus=0\n\nUSR1\n11\nUSR2\nstatus=0\n\n' Got 'USR1\nstatus=0\n\n10\nstatus=0\n\nUSR1\nstatus=0\n\n'

stdout:
USR1
status=0

10
status=0

USR1
status=0

stderr:
brush8 kill -l 10 TERM translates between names and numbers

[brush stdout] Expected 'USR1\nSEGV\nUSR2\nstatus=0\n\n10\n11\n12\nstatus=0\n\nUSR1\n11\nUSR2\nstatus=0\n\n' Got 'status=2\n\nstatus=2\n\nstatus=2\n\n'

stdout:
status=2

status=2

status=2

stderr:
kill: too many jobs or processes specified
kill: too many jobs or processes specified
kill: too many jobs or processes specified
dash9 kill -L checks for invalid input

stdout:
stderr: 
ash9 kill -L checks for invalid input

[ash stdout] Expected 'USR1\nUSR2\nstatus=1\n\n10\n12\nstatus=1\n\n' Got 'status=127\n\nstatus=127\n\n'

stdout:
status=127

status=127

stderr:
ash: builtin: not found
ash: builtin: not found
zsh9 kill -L checks for invalid input

[zsh stdout] Expected 'USR1\nUSR2\nstatus=1\n\n10\n12\nstatus=1\n\n' Got 'status=1\n\nstatus=1\n\n'

stdout:
status=1

status=1

stderr:
kill: unknown signal: SIGL
kill: type kill -l for a list of signals
kill: unknown signal: SIGL
kill: type kill -l for a list of signals
mksh9 kill -L checks for invalid input

stdout:
stderr: 
ksh9 kill -L checks for invalid input

[ksh stdout] Expected 'USR1\nUSR2\nstatus=1\n\n10\n12\nstatus=1\n\n' Got 'status=1\n\nstatus=1\n\n'

stdout:
status=1

status=1

stderr:
E: ksh: <stdin>[3]: kill: bad signal: L
E: ksh: <stdin>[7]: kill: bad signal: L
toysh9 kill -L checks for invalid input

[toysh stdout] Expected 'USR1\nUSR2\nstatus=1\n\n10\n12\nstatus=1\n\n' Got ''
[toysh status] Expected 0 Got -6

stdout:
stderr: 
munmap_chunk(): invalid pointer
sush9 kill -L checks for invalid input

[sush stdout] Expected 'USR1\nUSR2\nstatus=1\n\n10\n12\nstatus=1\n\n' Got ' 1 HUP 2 INT 3 QUIT 4 ILL 5 TRAP 6 ABRT 7 BUS\n 8 FPE 9 KILL 10 USR1 11 SEGV 12 USR2 13 PIPE 14 ALRM\n15 TERM 16 STKFLT 17 CHLD 18 CONT 19 STOP 20 TSTP 21 TTIN\n22 TTOU 23 URG 24 XCPU 25 XFSZ 26 VTALRM 27 PROF 28 WINCH\n29 POLL 30 PWR 31 SYS \nstatus=0\n\n 1 HUP 2 INT 3 QUIT 4 ILL 5 TRAP 6 ABRT 7 BUS\n 8 FPE 9 KILL 10 USR1 11 SEGV 12 USR2 13 PIPE 14 ALRM\n15 TERM 16 STKFLT 17 CHLD 18 CONT 19 STOP 20 TSTP 21 TTIN\n22 TTOU 23 URG 24 XCPU 25 XFSZ 26 VTALRM 27 PROF 28 WINCH\n29 POLL 30 PWR 31 SYS \nstatus=0\n\n'

stdout:
 1 HUP      2 INT      3 QUIT     4 ILL      5 TRAP     6 ABRT     7 BUS
 8 FPE      9 KILL    10 USR1    11 SEGV    12 USR2    13 PIPE    14 ALRM
15 TERM    16 STKFLT  17 CHLD    18 CONT    19 STOP    20 TSTP    21 TTIN
22 TTOU    23 URG     24 XCPU    25 XFSZ    26 VTALRM  27 PROF    28 WINCH
29 POLL    30 PWR     31 SYS     
status=0

 1 HUP      2 INT      3 QUIT     4 ILL      5 TRAP     6 ABRT     7 BUS
 8 FPE      9 KILL    10 USR1    11 SEGV    12 USR2    13 PIPE    14 ALRM
15 TERM    16 STKFLT  17 CHLD    18 CONT    19 STOP    20 TSTP    21 TTIN
22 TTOU    23 URG     24 XCPU    25 XFSZ    26 VTALRM  27 PROF    28 WINCH
29 POLL    30 PWR     31 SYS     
status=0

stderr:
brush9 kill -L checks for invalid input

[brush stdout] Expected 'USR1\nUSR2\nstatus=1\n\n10\n12\nstatus=1\n\n' Got 'status=2\n\nstatus=2\n\n'

stdout:
status=2

status=2

stderr:
kill: too many jobs or processes specified
kill: too many jobs or processes specified
osh9 kill -L checks for invalid input

[osh stdout] Expected 'USR1\nUSR2\nstatus=1\n\n10\n12\nstatus=1\n\n' Got 'USR1\nstatus=2\n\n10\nstatus=2\n\n'

stdout:
USR1
status=2

10
status=2

stderr:
  builtin kill -L 10 BAD 12
                     ^~~
[ stdin ]:3: 'kill' can't translate name 'BAD' to a number
  builtin kill -L USR1 9999 USR2
                       ^~~~
[ stdin ]:7: 'kill' can't translate number '9999' to a name
dash10 kill -9999 is an invalid signal

stdout:
stderr: 
toysh10 kill -9999 is an invalid signal

[toysh stdout] Expected 'kill=1\nwait=0\n' Got ''
[toysh status] Expected 0 Got -6

stdout:
stderr: 
munmap_chunk(): invalid pointer
sush10 kill -9999 is an invalid signal

[sush stdout] Expected 'kill=1\nwait=0\n' Got 'kill=0\nwait=0\n'

stdout:
kill=0
wait=0
stderr:
704249
brush10 kill -9999 is an invalid signal

[brush stdout] Expected 'kill=1\nwait=0\n' Got 'kill=2\nwait=0\n'

stdout:
kill=2
wait=0
stderr:
kill: invalid signal name
dash11 kill -15 %% kills current job

stdout:
kill=1
wait=0
wait=0
stderr:
dash: 3: kill: No such process

ash11 kill -15 %% kills current job

[ash stdout] Expected 'kill=0\nwait=143\nwait=127\n' Got 'kill=0\nwait=143\nwait=143\n'

stdout:
kill=0
wait=143
wait=143
stderr:
Terminated
zsh11 kill -15 %% kills current job

stdout:
kill=0
wait=143
wait=1
stderr:
wait: no current job
mksh11 kill -15 %% kills current job

stdout:
kill=0
wait=0
wait=127
stderr:
toysh11 kill -15 %% kills current job

[toysh stdout] Expected 'kill=0\nwait=143\nwait=127\n' Got 'kill=1\nwait=1\nwait=1\n'

stdout:
kill=1
wait=1
wait=1
stderr:
kill: bad pid '%%': No such process
wait: %%: bad pid/job
wait: %%: bad pid/job
sush11 kill -15 %% kills current job

[sush stdout] Expected 'kill=0\nwait=143\nwait=127\n' Got 'kill=0\nwait=0\nwait=127\n'

stdout:
kill=0
wait=0
wait=127
stderr:
708648
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 9: wait: %%: no such job
brush11 kill -15 %% kills current job

[brush stdout] Expected 'kill=0\nwait=143\nwait=127\n' Got 'kill=2\nwait=99\nwait=99\n'

stdout:
kill=2
wait=99
wait=99
stderr:
kill: invalid signal name
error: wait: not yet implemented: wait with job specs
error: wait: not yet implemented: wait with job specs
osh11 kill -15 %% kills current job

[osh stdout] Expected 'kill=0\nwait=143\nwait=127\n' Got 'kill=0\nwait=143\nwait=2\n'

stdout:
kill=0
wait=143
wait=2
stderr:
  wait %%
       ^
[ stdin ]:9: 'wait' expected PID or jobspec, got '%%'
dash12 kill -15 %- kills previous job

stdout:
kill=1
wait=0
stderr:
dash: 4: kill: No such process

zsh12 kill -15 %- kills previous job

stdout:
kill=0
wait=1
stderr:
wait: no previous job
mksh12 kill -15 %- kills previous job

stdout:
kill=0
wait=0
stderr:
toysh12 kill -15 %- kills previous job

[toysh stdout] Expected 'kill=0\nwait=143\n' Got 'kill=1\nwait=1\n'

stdout:
kill=1
wait=1
stderr:
kill: bad pid '%-': No such process
wait: %-: bad pid/job
sush12 kill -15 %- kills previous job

[sush stdout] Expected 'kill=0\nwait=143\n' Got 'kill=0\nwait=0\n'

stdout:
kill=0
wait=0
stderr:
713439
713441
brush12 kill -15 %- kills previous job

[brush stdout] Expected 'kill=0\nwait=143\n' Got 'kill=2\nwait=99\n'

stdout:
kill=2
wait=99
stderr:
kill: invalid signal name
error: wait: not yet implemented: wait with job specs
toysh13 kill multiple pids at once

[toysh stdout] Expected '0\n' Got '1\n'

stdout:
1
stderr:
kill: missing argument (see "kill --help")
brush13 kill multiple pids at once

[brush stdout] Expected '0\n' Got '2\n'

stdout:
2
stderr:
kill: invalid usage
dash14 kill pid and job at once

stdout:
1
stderr:
dash: 4: kill: No such process

toysh14 kill pid and job at once

[toysh stdout] Expected '0\n' Got '1\n'

stdout:
1
stderr:
kill: bad pid '%2': No such process
brush14 kill pid and job at once

[brush stdout] Expected '0\n' Got '1\n'

stdout:
1
stderr:
error: kill: failed to send signal to process
dash15 Numeric signal out of range - OSH may send it anyway

stdout:
kill=2
wait=0
stderr:
dash: 4: kill: invalid signal number or name: 9999
brush15 Numeric signal out of range - OSH may send it anyway

[brush stdout] Expected 'kill=1\nwait=0\n' Got 'kill=2\nwait=0\n'

stdout:
kill=2
wait=0
stderr:
kill: invalid signal name: 9999