Results for loop.test.sh

statusdashbashmkshzshosh
pass 1918181723
ok 24121
N-I 10000
BUG 22550
total2424242424
casedashbashmkshzshoshdescription
0pass pass pass pass pass implicit for loop
1pass pass pass pass pass empty for loop (has "in")
2pass ok ok BUG pass for loop with invalid identifier
detailsdetailsdetails
3pass pass pass pass pass Tilde expansion within for loop
4N-I pass pass pass pass Brace Expansion within Array
details
5pass pass pass pass pass using loop var outside loop
6pass pass pass pass pass continue
7pass pass pass pass pass break
8pass pass pass pass ok dynamic control flow (KNOWN INCOMPATIBILITY)
details
9pass pass pass pass pass while in while condition
10pass pass pass pass pass while in pipe
11pass pass pass pass pass while in pipe with subshell
12pass pass pass pass pass until loop
13pass pass pass ok pass continue at top level
details
14ok ok BUG ok pass continue in subshell
detailsdetailsdetailsdetails
15BUG BUG BUG BUG pass continue in subshell aborts with errexit
detailsdetailsdetailsdetails
16ok ok pass pass pass bad arg to break
detailsdetails
17BUG ok BUG BUG pass too many args to continue
detailsdetailsdetailsdetails
18pass pass pass pass pass break in condition of loop
19pass pass pass pass pass break in condition of nested loop
20pass pass pass pass pass return within eval
21pass pass BUG pass pass break/continue within eval
details
22pass pass BUG BUG pass break/continue within source
detailsdetails
23pass BUG pass BUG pass top-level break/continue/return (without strict_control_flow)
detailsdetails
95 passed, 10 OK, 1 not implemented, 14 BUG, 0 failed, 0 timeouts, 0 cases skipped

Details on runs that didn't PASS

bash2 for loop with invalid identifier

stdout:
stderr: 
bash: line 3: `-': not a valid identifier
mksh2 for loop with invalid identifier

stdout:
stderr: 
mksh: <stdin>[1]: for: bad identifier
zsh2 for loop with invalid identifier

stdout:
hi
stderr:
zsh: parse error near `-'
zsh: parse error near `done'
dash4 Brace Expansion within Array

stdout:
-{a,b}
{c,d}-
stderr:
osh8 dynamic control flow (KNOWN INCOMPATIBILITY)

stdout:
1
2
3
stderr:
    $b
    ^~
[ stdin ]:4: 'break' not found
    $b
    ^~
[ stdin ]:4: 'break' not found
    $b
    ^~
[ stdin ]:4: 'break' not found
zsh13 continue at top level

stdout:
one
stderr:
continue: not in while, until, select, or repeat loop
dash14 continue in subshell

stdout:
> 1
subshell status=0
. 1
> 2
subshell status=0
. 2
stderr:
bash14 continue in subshell

stdout:
> 1
subshell status=0
. 1
> 2
subshell status=0
. 2
stderr:
mksh14 continue in subshell

stdout:
> 1
Should not print
subshell status=0
. 1
> 2
Should not print
subshell status=0
. 2
stderr:
mksh: <stdin>[6]: continue: can't continue
mksh: <stdin>[6]: continue: can't continue
zsh14 continue in subshell

stdout:
> 1
subshell status=0
. 1
> 2
subshell status=0
. 2
stderr:
dash15 continue in subshell aborts with errexit

stdout:
> 1
should fail after subshell
. 1
> 2
should fail after subshell
. 2
stderr:
bash15 continue in subshell aborts with errexit

stdout:
> 1
should fail after subshell
. 1
> 2
should fail after subshell
. 2
stderr:
mksh15 continue in subshell aborts with errexit

stdout:
> 1
Should not print
should fail after subshell
. 1
> 2
Should not print
should fail after subshell
. 2
stderr:
mksh: <stdin>[7]: continue: can't continue
mksh: <stdin>[7]: continue: can't continue
zsh15 continue in subshell aborts with errexit

stdout:
> 1
should fail after subshell
. 1
> 2
should fail after subshell
. 2
stderr:
dash16 bad arg to break

stdout:
hi
stderr:
dash: 4: break: Illegal number: oops
bash16 bad arg to break

stdout:
hi
stderr:
bash: line 4: break: oops: numeric argument required
dash17 too many args to continue

stdout:
a
b
c
--
stderr:
bash17 too many args to continue

stdout:
a
--
stderr:
bash: line 3: continue: too many arguments
mksh17 too many args to continue

stdout:
a
b
c
--
stderr:
zsh17 too many args to continue

stdout:
a
b
c
--
stderr:
continue: too many arguments
continue: too many arguments
continue: too many arguments
mksh21 break/continue within eval

stdout:
1
2
3
4
5
stderr:
mksh: continue: can't continue
mksh: break: can't break
mksh22 break/continue within source

stdout:
1
2
3
4
5
done
stderr:
mksh: spec/testdata/continue.sh[1]: continue: can't continue
mksh: spec/testdata/break.sh[1]: break: can't break
zsh22 break/continue within source

stdout:
1
2
3
4
5
done
stderr:
spec/testdata/continue.sh:continue:1: not in while, until, select, or repeat loop
spec/testdata/break.sh:break:1: not in while, until, select, or repeat loop
bash23 top-level break/continue/return (without strict_control_flow)

stdout:
break=0
continue=0
return=1
stderr:
bash: line 0: break: only meaningful in a `for', `while', or `until' loop
bash: line 0: continue: only meaningful in a `for', `while', or `until' loop
bash: line 0: return: can only `return' from a function or sourced script
zsh23 top-level break/continue/return (without strict_control_flow)

stdout:
stderr: 
zsh:break:1: not in while, until, select, or repeat loop
zsh:continue:1: not in while, until, select, or repeat loop