Results for var-op-slice.test.sh

statusbashmkshzshoshosh_ALT
pass 174131919
ok 00111
N-I 18300
BUG 39400
FAIL 00011
total2121212121
casebashmkshzshoshosh_ALTdescription
0pass pass pass pass pass String slice
1pass pass ok ok ok Cannot take length of substring slice
detailsdetailsdetails
2pass BUG pass pass pass Out of range string slice: begin
details
3pass BUG pass pass pass Out of range string slice: length
details
4pass pass pass pass pass Negative start index
5pass BUG pass pass pass Negative start index respects unicode
details
6pass BUG pass pass pass Negative second arg is position, not length!
details
7pass BUG pass pass pass Negative start index respects unicode
details
8pass pass pass pass pass String slice with math
9pass BUG pass pass pass Slice undefined
details
10pass BUG pass pass pass Slice UTF-8 String
details
11BUG BUG BUG pass pass Slice string with invalid UTF-8 results in empty string and warning
detailsdetailsdetails
12N-I N-I N-I pass pass Slice string with invalid UTF-8 with strict_word_eval
detailsdetailsdetails
13BUG BUG pass pass pass Slice with an index that's an array itself not allowed
detailsdetails
14BUG N-I BUG pass pass Slice with an assoc array
detailsdetailsdetails
15pass N-I pass pass pass Simple ${@:offset}
details
16pass N-I BUG pass pass ${@:offset} and ${*:offset}
detailsdetails
17pass N-I BUG pass pass ${@:offset:length} and ${*:offset:length}
detailsdetails
18pass N-I pass pass pass ${@:0:1}
details
19pass N-I N-I pass pass ${array[@]::0}
detailsdetails
20pass N-I N-I FAIL FAIL ${array[@]::}
detailsdetailsdetailsdetails
72 passed, 3 OK, 12 not implemented, 16 BUG, 1 failed, 0 timeouts, 0 cases skipped
1 failed under osh

Details on runs that didn't PASS

zsh1 Cannot take length of substring slice

stdout:
3
stderr:
osh1 Cannot take length of substring slice

stdout:
stderr: 
  echo ${#v:1:3}
           ^
[ stdin ]:2: Expected } after length expression
osh_ALT1 Cannot take length of substring slice

stdout:
stderr: 
  echo ${#v:1:3}
           ^
[ stdin ]:2: Expected } after length expression
mksh2 Out of range string slice: begin

stdout:
0
stderr:
mksh3 Out of range string slice: length

stdout:
_defg
0
stderr:
mksh5 Negative start index respects unicode

stdout:
stderr:
mksh6 Negative second arg is position, not length!

stdout:
defg defg defg
stderr:
mksh7 Negative start index respects unicode

stdout:
d-μ-
stderr:
mksh9 Slice undefined

stdout:
--
--
-done-
stderr:
mksh10 Slice UTF-8 String

stdout:
stderr:
bash11 Slice string with invalid UTF-8 results in empty string and warning

stdout:
-bcd-
stderr:
mksh11 Slice string with invalid UTF-8 results in empty string and warning

stdout:
-bcd-
stderr:
zsh11 Slice string with invalid UTF-8 results in empty string and warning

stdout:
-bcd-
stderr:
bash12 Slice string with invalid UTF-8 with strict_word_eval

stdout:
slice
-bcd-
stderr:
bash: line 1: shopt: strict_word_eval: invalid shell option name
mksh12 Slice string with invalid UTF-8 with strict_word_eval

stdout:
slice
-bcd-
stderr:
mksh: <stdin>[1]: shopt: not found
zsh12 Slice string with invalid UTF-8 with strict_word_eval

stdout:
slice
-bcd-
stderr:
zsh: command not found: shopt
bash13 Slice with an index that's an array itself not allowed

stdout:
assigned
de
stderr:
mksh13 Slice with an index that's an array itself not allowed

stdout:
assigned
de
stderr:
bash14 Slice with an assoc array

stdout:
assigned
ab
stderr:
mksh14 Slice with an assoc array

stdout:
stderr: 
mksh: <stdin>[1]: syntax error: '(' unexpected
zsh14 Slice with an assoc array

stdout:
assigned
ab
stderr:
zsh: no matches found: [5]=3
mksh15 Simple ${@:offset}

stdout:
stderr: 
mksh: <stdin>[2]: ${@: 0}: bad substitution
mksh: <stdin>[4]: ${@: 1}: bad substitution
mksh16 ${@:offset} and ${*:offset}

stdout:
stderr: 
mksh: <stdin>[28]: ${*: 0}: bad substitution
zsh16 ${@:offset} and ${*:offset}

stdout:
stderr: 
mksh17 ${@:offset:length} and ${*:offset:length}

stdout:
stderr: 
mksh: <stdin>[28]: ${*: 0:2}: bad substitution
zsh17 ${@:offset:length} and ${*:offset:length}

stdout:
stderr: 
mksh18 ${@:0:1}

stdout:
stderr: 
mksh: <stdin>[2]: ${@: 0:1}: bad substitution
mksh19 ${array[@]::0}

stdout:
stderr: 
mksh: <stdin>[2]: ${array[@]:0:0}: bad substitution
zsh19 ${array[@]::0}

stdout:
stderr: 
zsh: closing brace expected
mksh20 ${array[@]::}

stdout:
stderr: 
mksh: <stdin>[2]: ${array[@]:0:}: bad substitution
zsh20 ${array[@]::}

stdout:
stderr: 
zsh: closing brace expected
osh20 ${array[@]::}

[osh stdout] Expected '[]\n', got ''
[osh status] Expected 0, got 2

stdout:
stderr: 
  argv.py ${array[@]::}
                      ^
[ stdin ]:2: Token can't be used in prefix position
osh_ALT20 ${array[@]::}

[osh_ALT stdout] Expected '[]\n', got ''
[osh_ALT status] Expected 0, got 2

stdout:
stderr: 
  argv.py ${array[@]::}
                      ^
[ stdin ]:2: Token can't be used in prefix position