Results for command-sub-ksh.test.sh

statusbashmkshkshtoyshsushbrushosh
pass 0440000
FAIL 4004444
total4444444
casebashmkshkshtoyshsushbrushoshdescription
0FAIL pass pass FAIL FAIL FAIL FAIL ${ echo hi;}
detailsdetailsdetailsdetailsdetails
1FAIL pass pass FAIL FAIL FAIL FAIL ${ echo hi } without semi-colon
detailsdetailsdetailsdetailsdetails
2FAIL pass pass FAIL FAIL FAIL FAIL ${|REPLY=hi}
detailsdetailsdetailsdetailsdetails
3FAIL pass pass FAIL FAIL FAIL FAIL for loop / case
detailsdetailsdetailsdetailsdetails
8 passed, 0 OK, 0 not implemented, 0 BUG, 20 failed, 0 timeouts, 0 cases skipped
4 failed under osh

Details on runs that didn't PASS

bash0 ${ echo hi;}

[bash stdout] Expected '[hi]\n\n[one\ntwo]\n\n[ 3 \n 4 5 ]\n\n', got '[]\n\n[]\n\n[]\n\n[]\n'
[bash status] Expected 1, got 0

stdout:
[]

[]

[]

[]
stderr:
bash: line 1: ${ echo hi;}: bad substitution
bash: line 5: ${ echo one; echo two; }: bad substitution
bash: line 14: ${ myfunc;}: bad substitution
bash: line 18: ${myfunc;}: bad substitution
toysh0 ${ echo hi;}

[toysh stdout] Expected '[hi]\n\n[one\ntwo]\n\n[ 3 \n 4 5 ]\n\n', got '[]\n\n[]\n\n[]\n\n[]\n'
[toysh status] Expected 1, got 0

stdout:
[]

[]

[]

[]
stderr:
main: line 1: sh: : bad substitution
main: line 5: sh: : bad substitution
main: line 14: sh: : bad substitution
sush0 ${ echo hi;}

[sush stdout] Expected '[hi]\n\n[one\ntwo]\n\n[ 3 \n 4 5 ]\n\n', got '[]\n\n[]\n\n[]\n\n[]\n'
[sush status] Expected 1, got 0

stdout:
[]

[]

[]

[]
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: `${ echo hi;}': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 5: `${ echo one; echo two; }': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 14: `${ myfunc;}': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 18: `${myfunc;}': bad substitution
brush0 ${ echo hi;}

[brush stdout] Expected '[hi]\n\n[one\ntwo]\n\n[ 3 \n 4 5 ]\n\n', got '[${echo hi;}]\n\n[${echo one;echo two;}]\n\n[${myfunc;}]\n\n[${myfunc;}]\n'
[brush status] Expected 1, got 0

stdout:
[${echo hi;}]

[${echo one;echo two;}]

[${myfunc;}]

[${myfunc;}]
stderr:
osh0 ${ echo hi;}

[osh stdout] Expected '[hi]\n\n[one\ntwo]\n\n[ 3 \n 4 5 ]\n\n', got ''
[osh status] Expected 1, got 2

stdout:
stderr: 
  x=${ echo hi;}
      ^
[ stdin ]:1: Unexpected token in ${}
bash1 ${ echo hi } without semi-colon

[bash stdout] Expected '[no-semi]\n[no-space]\n', got '[]\n[]\n'
[bash status] Expected 127, got 1

stdout:
[]
[]
stderr:
bash: line 1: ${ echo no-semi }: bad substitution
bash: line 4: ${ echo no-space}: bad substitution
bash: line 7: ${ ~/ysh-tilde-sub }: bad substitution
toysh1 ${ echo hi } without semi-colon

[toysh stdout] Expected '[no-semi]\n[no-space]\n', got '[]\n[]\n'
[toysh status] Expected 127, got 1

stdout:
[]
[]
stderr:
main: line 1: sh: : bad substitution
main: line 4: sh: : bad substitution
main: line 7: sh: : bad substitution
sush1 ${ echo hi } without semi-colon

[sush stdout] Expected '[no-semi]\n[no-space]\n', got '[]\n[]\n'
[sush status] Expected 127, got 1

stdout:
[]
[]
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: `${ echo no-semi }': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 4: `${ echo no-space}': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 7: `${ ~/ysh-tilde-sub }': bad substitution
brush1 ${ echo hi } without semi-colon

[brush stdout] Expected '[no-semi]\n[no-space]\n', got '[${echo no-semi }]\n[${echo no-space}]\n'
[brush status] Expected 127, got 0

stdout:
[${echo no-semi }]
[${echo no-space}]
stderr:
osh1 ${ echo hi } without semi-colon

[osh stdout] Expected '[no-semi]\n[no-space]\n', got ''
[osh status] Expected 127, got 2

stdout:
stderr: 
  x=${ echo no-semi }
      ^
[ stdin ]:1: Unexpected token in ${}
bash2 ${|REPLY=hi}

[bash stdout] Expected '[ reply var ]\n\n[from file]\n\n', got '[]\n\n[]\n\n[]\n'
[bash status] Expected 1, got 0

stdout:
[]

[]

[]
stderr:
bash: line 1: ${|y=" reply var "; REPLY=$y}: bad substitution
bash: line 7: ${|read -r < tmp.txt}: bad substitution
bash: line 11: ${ |REPLY=zz}: bad substitution
toysh2 ${|REPLY=hi}

[toysh stdout] Expected '[ reply var ]\n\n[from file]\n\n', got '[]\n\n[]\n\n[]\n'
[toysh status] Expected 1, got 0

stdout:
[]

[]

[]
stderr:
main: line 1: sh: : bad substitution
main: line 7: sh: : bad substitution
main: line 11: sh: : bad substitution
sush2 ${|REPLY=hi}

[sush stdout] Expected '[ reply var ]\n\n[from file]\n\n', got '[]\n\n[]\n\n[]\n'
[sush status] Expected 1, got 0

stdout:
[]

[]

[]
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: `${|y=" reply var "; REPLY=$y}': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 7: `${|read -r < tmp.txt}': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 11: `${ |REPLY=zz}': bad substitution
brush2 ${|REPLY=hi}

[brush stdout] Expected '[ reply var ]\n\n[from file]\n\n', got '[${|y= reply var ;REPLY=}]\n\n[${|read -r <tmp.txt}]\n\n[${|REPLY=zz}]\n'
[brush status] Expected 1, got 0

stdout:
[${|y= reply var ;REPLY=}]

[${|read -r <tmp.txt}]

[${|REPLY=zz}]
stderr:
osh2 ${|REPLY=hi}

[osh stdout] Expected '[ reply var ]\n\n[from file]\n\n', got ''
[osh status] Expected 1, got 2

stdout:
stderr: 
  x=${|y=" reply var "; REPLY=$y}
      ^
[ stdin ]:1: Unexpected token in ${}
bash3 for loop / case

[bash stdout] Expected '-a-\n-b-\n-a--b-\n\nsh-case\nsh-case\n', got '\n\n\n\n\n'

stdout:




stderr:
bash: line 1: ${ for i in a b; do echo -$i-; done; }: bad substitution
bash: line 4: ${|for i in a b; do REPLY+="-$i-"; done; }: bad substitution
bash: line 9: ${ case foo in foo) echo sh-case ;; esac; }: bad substitution
bash: line 12: ${|case foo in foo) REPLY=sh-case ;; esac; }: bad substitution
toysh3 for loop / case

[toysh stdout] Expected '-a-\n-b-\n-a--b-\n\nsh-case\nsh-case\n', got '\n\n\n\n\n'

stdout:




stderr:
main: line 1: sh: : bad substitution
main: line 4: sh: : bad substitution
main: line 9: sh: : bad substitution
main: line 12: sh: : bad substitution
sush3 for loop / case

[sush stdout] Expected '-a-\n-b-\n-a--b-\n\nsh-case\nsh-case\n', got '\n\n\n\n\n'

stdout:




stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: `${ for i in a b; do echo -$i-; done; }': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 4: `${|for i in a b; do REPLY+="-$i-"; done; }': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 9: `${ case foo in foo) echo sh-case ;; esac; }': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 12: `${|case foo in foo) REPLY=sh-case ;; esac; }': bad substitution
brush3 for loop / case

[brush stdout] Expected '-a-\n-b-\n-a--b-\n\nsh-case\nsh-case\n', got '${for i in a b;do echo --;done;}\n${|for i in a b;do REPLY+=--;done;}\n\n${case foo in foo)echo sh-case ;;esac;}\n${|case foo in foo)REPLY=sh-case ;;esac;}\n'

stdout:
${for i in a b;do echo --;done;}
${|for i in a b;do REPLY+=--;done;}

${case foo in foo)echo sh-case ;;esac;}
${|case foo in foo)REPLY=sh-case ;;esac;}
stderr:
osh3 for loop / case

[osh stdout] Expected '-a-\n-b-\n-a--b-\n\nsh-case\nsh-case\n', got ''
[osh status] Expected 0, got 2

stdout:
stderr: 
  x=${ for i in a b; do echo -$i-; done; }
      ^
[ stdin ]:1: Unexpected token in ${}