Results for strict-options.test.sh

statusdashbashmkshoshosh_ALT
pass 7691414
ok 04100
N-I 74400
total1414141414
casedashbashmkshoshosh_ALTdescription
0N-I N-I N-I pass pass strict_arith option
detailsdetailsdetails
1pass pass pass pass pass Sourcing a script that returns at the top level
2pass ok pass pass pass top level control flow
details
3pass ok pass pass pass errexit and top-level control flow
details
4N-I N-I N-I pass pass shopt -s strict_control_flow
detailsdetailsdetails
5pass ok pass pass pass return at top level is an error
details
6pass pass pass pass pass continue at top level is NOT an error
7pass pass pass pass pass break at top level is NOT an error
8pass pass pass pass pass empty argv WITHOUT strict_argv
9N-I N-I N-I pass pass empty argv WITH strict_argv
detailsdetailsdetails
10N-I ok ok pass pass Arrays are incorrectly compared, but strict_array prevents it
detailsdetailsdetails
11N-I pass pass pass pass automatically creating arrays WITHOUT strict_array
details
12N-I pass pass pass pass automatically creating arrays are INDEXED, not associative
details
13N-I N-I N-I pass pass simple_eval_builtin
detailsdetailsdetails
50 passed, 5 OK, 15 not implemented, 0 BUG, 0 failed, 0 timeouts, 0 cases skipped

Details on runs that didn't PASS

dash0 strict_arith option

stdout:
stderr: 
dash: 1: shopt: not found
bash0 strict_arith option

stdout:
stderr: 
bash: line 1: shopt: strict_arith: invalid shell option name
mksh0 strict_arith option

stdout:
stderr: 
mksh: <stdin>[1]: shopt: not found
bash2 top level control flow

stdout:
SUBSHELL
BREAK
CONTINUE
RETURN
DONE
stderr:
/home/andy/git/oilshell/oil/test/../spec/testdata/top-level-control-flow.sh: line 14: return: can only `return' from a function or sourced script
/home/andy/git/oilshell/oil/test/../spec/testdata/top-level-control-flow.sh: line 17: break: only meaningful in a `for', `while', or `until' loop
/home/andy/git/oilshell/oil/test/../spec/testdata/top-level-control-flow.sh: line 19: continue: only meaningful in a `for', `while', or `until' loop
/home/andy/git/oilshell/oil/test/../spec/testdata/top-level-control-flow.sh: line 24: return: can only `return' from a function or sourced script
bash3 errexit and top-level control flow

stdout:
SUBSHELL
stderr:
/home/andy/git/oilshell/oil/test/../spec/testdata/top-level-control-flow.sh: line 14: return: can only `return' from a function or sourced script
dash4 shopt -s strict_control_flow

stdout:
break
hi
stderr:
dash: 1: shopt: not found
bash4 shopt -s strict_control_flow

stdout:
break
hi
stderr:
bash: line 1: shopt: strict_control_flow: invalid shell option name
bash: line 3: break: only meaningful in a `for', `while', or `until' loop
mksh4 shopt -s strict_control_flow

stdout:
break
hi
stderr:
mksh: <stdin>[1]: shopt: not found
mksh: <stdin>[3]: break: can't break
bash5 return at top level is an error

stdout:
status=1
stderr:
bash: line 1: return: can only `return' from a function or sourced script
dash9 empty argv WITH strict_argv

stdout:
empty
status=0
stderr:
dash: 1: shopt: not found
bash9 empty argv WITH strict_argv

stdout:
empty
status=0
stderr:
bash: line 1: shopt: strict_argv: invalid shell option name
mksh9 empty argv WITH strict_argv

stdout:
empty
status=0
stderr:
mksh: <stdin>[1]: shopt: not found
dash10 Arrays are incorrectly compared, but strict_array prevents it

stdout:
stderr: 
dash: 1: Syntax error: "(" unexpected
bash10 Arrays are incorrectly compared, but strict_array prevents it

stdout:
2
4
EQUAL
EQUAL
stderr:
bash: line 7: shopt: strict_array: invalid shell option name
mksh10 Arrays are incorrectly compared, but strict_array prevents it

stdout:
2
4
EQUAL
EQUAL
stderr:
mksh: <stdin>[7]: shopt: not found
dash11 automatically creating arrays WITHOUT strict_array

stdout:
stderr: 
dash: 1: undef[2]=x: not found
dash: 2: undef[3]=y: not found
dash: 3: Bad substitution
dash12 automatically creating arrays are INDEXED, not associative

stdout:
stderr: 
dash: 1: shopt: not found
dash: 3: undef[2]=x: not found
dash: 4: undef[3]=y: not found
dash: 7: undef[bad]=zzz: not found
dash: 8: Bad substitution
dash13 simple_eval_builtin

stdout:
status=0
one
status=0
two
status=0
---
status=0
one
status=0
two
status=0
---
stderr:
dash: 8: shopt: not found
dash: 8: shopt: not found
bash13 simple_eval_builtin

stdout:
status=0
one
status=0
two
status=0
---
status=0
one
status=0
two
status=0
---
stderr:
bash: line 8: shopt: simple_eval_builtin: invalid shell option name
bash: line 8: shopt: simple_eval_builtin: invalid shell option name
mksh13 simple_eval_builtin

stdout:
status=0
one
status=0
two
status=0
---
status=0
one
status=0
two
status=0
---
stderr:
mksh: <stdin>[10]: shopt: not found
mksh: <stdin>[10]: shopt: not found