builtin-echo () { run-file builtin-echo "$@" } run-file () { local spec_name=$1; shift; sh-spec spec/$spec_name.test.sh --compare-shells --oils-bin-dir $PWD/bin "$@" } builtin-echo: spec test case results

Results for builtin-echo.test.sh

statusdashbashmkshzshashosh
pass 92720212027
ok 203300
N-I 1401030
BUG 203340
total272727272727
casedashbashmkshzshashoshdescription
0pass pass pass BUG pass pass echo dashes
details
1BUG pass BUG BUG pass pass echo backslashes
detailsdetailsdetails
2N-I pass pass pass pass pass echo -e backslashes
details
3pass pass ok ok pass pass echo builtin should disallow typed args - literal
detailsdetails
4pass pass ok ok pass pass echo builtin should disallow typed args - variable
detailsdetails
5N-I pass pass pass pass pass echo -en
details
6ok pass ok ok pass pass echo -ez (invalid flag)
detailsdetailsdetails
7pass pass pass pass pass pass echo -e with embedded newline
8pass pass pass pass pass pass echo -e line continuation
9N-I pass pass pass pass pass echo -e with C escapes
details
10N-I pass pass pass pass pass echo -e with whitespace C escapes
details
11N-I pass pass pass pass pass \0
details
12pass pass N-I pass pass pass \c stops processing input
details
13N-I pass pass pass pass pass echo -e with hex escape
details
14pass pass pass pass pass pass echo -e with octal escape
15N-I pass pass pass N-I pass echo -e with 4 digit unicode escape
detailsdetails
16N-I pass pass pass N-I pass echo -e with 8 digit unicode escape
detailsdetails
17N-I pass pass pass pass pass \0377 is the highest octal byte
details
18N-I pass pass pass BUG pass \0400 is one more than the highest octal byte
detailsdetails
19pass pass BUG pass BUG pass \0777 is out of range
detailsdetails
20N-I pass pass pass pass pass incomplete hex escape
details
21N-I pass BUG BUG pass pass \x
detailsdetailsdetails
22pass pass pass pass pass pass incomplete octal escape
23N-I pass pass pass BUG pass incomplete unicode escape
detailsdetails
24N-I pass pass pass N-I pass \u6
detailsdetails
25BUG pass pass pass BUG pass \0 \1 \8
detailsdetails
26ok pass pass pass pass pass echo to redirected directory is an error
details
124 passed, 8 OK, 18 not implemented, 12 BUG, 0 failed, 0 timeouts, 0 cases skipped

Details on runs that didn't PASS

zsh0 echo dashes

stdout:
--
---
stderr:
dash1 echo backslashes

stdout:
\
\
\
\
stderr:
mksh1 echo backslashes

stdout:
\
\
\
\
stderr:
zsh1 echo backslashes

stdout:
\
\
\
\
stderr:
dash2 echo -e backslashes

stdout:
-e \
-e \
-e \
-e \

-e \
line2
stderr:
mksh3 echo builtin should disallow typed args - literal

stdout:
stderr: 
mksh: <stdin>[1]: syntax error: '42' unexpected
zsh3 echo builtin should disallow typed args - literal

stdout:
stderr: 
zsh: no matches found: (42)
mksh4 echo builtin should disallow typed args - variable

stdout:
stderr: 
mksh: <stdin>[1]: var: not found
mksh: <stdin>[2]: syntax error: 'x' unexpected
zsh4 echo builtin should disallow typed args - variable

stdout:
stderr: 
zsh: command not found: var
zsh: no matches found: (x)
dash5 echo -en

stdout:
-en abc
def

stderr:
dash6 echo -ez (invalid flag)

stdout:
-ez abc

stderr:
mksh6 echo -ez (invalid flag)

stdout:
-ez abc

stderr:
zsh6 echo -ez (invalid flag)

stdout:
-ez abc

stderr:
dash9 echo -e with C escapes

stdout:
-e \d\e
stderr:
dash10 echo -e with whitespace C escapes

stdout:
-e 

	
stderr:
dash11 \0

stdout:
-e abcd
stderr:
mksh12 \c stops processing input

stdout:
xy abde zzz
stderr:
dash13 echo -e with hex escape

stdout:
-e abcd\x65f
stderr:
dash15 echo -e with 4 digit unicode escape

stdout:
abcd\u0065f
stderr:
ash15 echo -e with 4 digit unicode escape

stdout:
abcd\u0065f
stderr:
dash16 echo -e with 8 digit unicode escape

stdout:
abcd\U00000065f
stderr:
ash16 echo -e with 8 digit unicode escape

stdout:
abcd\U00000065f
stderr:
dash17 \0377 is the highest octal byte

stdout:
 2d 65 6e 20 ff 37 0a
stderr:
dash18 \0400 is one more than the highest octal byte

stdout:
 2d 65 6e 20 00 30 0a
stderr:
ash18 \0400 is one more than the highest octal byte

stdout:
 20 30 30
stderr:
mksh19 \0777 is out of range

stdout:
 c3 bf
stderr:
ash19 \0777 is out of range

stdout:
 3f 37
stderr:
dash20 incomplete hex escape

stdout:
 - e n a b c d \ x 6 \n
stderr:
dash21 \x

stdout:
 - e \ x \ x g \n
stderr:
mksh21 \x

stdout:
 \0 \0 g \n
stderr:
zsh21 \x

stdout:
 \0 \0 g \n
stderr:
dash23 incomplete unicode escape

stdout:
 - e n a b c d \ u 0 0 6 \n
stderr:
ash23 incomplete unicode escape

stdout:
 a b c d \ u 0 0 6
stderr:
dash24 \u6

stdout:
 \ u 6
stderr:
ash24 \u6

stdout:
 \ u 6
stderr:
dash25 \0 \1 \8

stdout:
 \0 001 \ 8
stderr:
ash25 \0 \1 \8

stdout:
 \0 001 \ 8
stderr:
dash26 echo to redirected directory is an error

stdout:
status=2
status=2
stderr:
dash: 3: cannot create ./dir: Is a directory
dash: 5: cannot create ./dir: Is a directory