Results for var-op-slice.test.sh

statusbashmkshzshosh
pass 1951319
ok 0021
N-I 1830
BUG 1830
FAIL 0001
total21212121
casebashmkshzshoshdescription
0pass pass pass pass String slice
1pass pass ok ok Cannot take length of substring slice
detailsdetails
2pass BUG pass pass Out of range string slice: begin
details
3pass BUG pass pass Out of range string slice: length
details
4pass pass pass pass Negative start index
5pass BUG pass pass Negative start index respects unicode
details
6pass BUG pass pass Negative second arg is position, not length!
details
7pass BUG pass pass Negative start index respects unicode
details
8pass pass pass pass String slice with math
9pass BUG pass pass Slice undefined
details
10pass BUG pass pass Slice UTF-8 String
details
11BUG BUG BUG pass Slice string with invalid UTF-8 results in empty string and warning
detailsdetailsdetails
12N-I N-I N-I pass Slice string with invalid UTF-8 with strict_word_eval
detailsdetailsdetails
13pass pass ok pass Slice with an index that's an array -- silent a[0] decay
details
14pass N-I pass pass Slice with an assoc array
details
15pass N-I pass pass Simple ${@:offset}
details
16pass N-I BUG pass ${@:offset} and ${*:offset}
detailsdetails
17pass N-I BUG pass ${@:offset:length} and ${*:offset:length}
detailsdetails
18pass N-I pass pass ${@:0:1}
details
19pass N-I N-I pass ${array[@]::0}
detailsdetails
20pass N-I N-I FAIL ${array[@]::}
detailsdetailsdetails
56 passed, 3 OK, 12 not implemented, 12 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
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
zsh13 Slice with an index that's an array -- silent a[0] decay

stdout:
assigned
stderr:
zsh: bad math expression: operator expected at `4 5'
mksh14 Slice with an assoc array

stdout:
stderr: 
mksh: <stdin>[1]: syntax error: '(' unexpected
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