Results for builtin-io.test.sh

statusdashbashmkshzshashoshosh_ALT
pass 18564038374949
ok 2111000
N-I 32010121300
BUG 5066700
FAIL 0000088
total57575757575757
casedashbashmkshzshashoshosh_ALTdescription
0pass pass pass BUG pass pass pass echo dashes
details
1BUG pass BUG BUG pass pass pass echo backslashes
detailsdetailsdetails
2N-I pass pass pass pass pass pass echo -e backslashes
details
3N-I pass pass pass pass pass pass echo -en
details
4ok pass ok ok pass pass pass echo -ez (invalid flag)
detailsdetailsdetails
5pass pass pass pass pass pass pass echo -e with embedded newline
6pass pass pass pass pass pass pass echo -e line continuation
7N-I pass pass pass pass pass pass echo -e with C escapes
details
8N-I pass pass pass pass pass pass echo -e with whitespace C escapes
details
9N-I pass pass pass pass pass pass \0
details
10pass pass N-I pass pass pass pass \c stops processing input
details
11N-I pass pass pass pass pass pass echo -e with hex escape
details
12pass pass pass pass pass pass pass echo -e with octal escape
13N-I pass pass pass N-I pass pass echo -e with 4 digit unicode escape
detailsdetails
14N-I pass pass pass N-I pass pass echo -e with 8 digit unicode escape
detailsdetails
15N-I pass pass pass pass pass pass \0377 is the highest octal byte
details
16N-I pass pass pass BUG pass pass \0400 is one more than the highest octal byte
detailsdetails
17pass pass BUG pass BUG pass pass \0777 is out of range
detailsdetails
18N-I pass pass pass pass pass pass incomplete hex escape
details
19N-I pass BUG BUG pass pass pass \x
detailsdetailsdetails
20pass pass pass pass pass pass pass incomplete octal escape
21N-I pass pass pass BUG pass pass incomplete unicode escape
detailsdetails
22N-I pass pass pass N-I pass pass \u6
detailsdetails
23BUG pass pass pass BUG pass pass \0 \1 \8
detailsdetails
24pass pass pass pass pass pass pass Read builtin
25ok pass pass pass pass pass pass Read from empty file
details
26BUG pass pass pass pass pass pass read with zero args
details
27pass pass pass pass pass pass pass Read builtin with no newline.
28pass pass pass pass pass pass pass Read builtin with multiple variables
29pass pass pass pass pass pass pass Read builtin with not enough variables
30N-I pass pass N-I pass pass pass Read -n (with $REPLY)
detailsdetails
31N-I pass pass pass pass pass pass Read uses $REPLY (without -n)
details
32pass pass pass pass pass pass pass read -r ignores backslashes
33pass pass BUG BUG pass pass pass read -r with other backslash escapes
detailsdetails
34N-I pass pass pass pass pass pass read with line continuation reads multiple physical lines
details
35pass pass pass pass pass pass pass read multiple vars spanning many lines
36BUG pass BUG BUG pass pass pass read -r with \n
detailsdetailsdetails
37N-I pass pass pass pass pass pass Read with IFS=$'\n'
details
38pass pass pass pass pass pass pass Read multiple lines with IFS=:
39pass pass pass pass pass pass pass Read with IFS=''
40BUG pass BUG BUG BUG pass pass Read should not respect C escapes.
detailsdetailsdetailsdetails
41pass pass pass pass pass pass pass Read builtin uses dynamic scope
42N-I pass N-I N-I N-I pass pass read -a reads into array
detailsdetailsdetailsdetails
43pass ok pass N-I pass pass pass read -n with invalid arg
detailsdetails
44N-I pass pass N-I N-I pass pass read returns correct number of bytes without EOF
detailsdetailsdetails
45N-I pass pass pass BUG pass pass read -d : (colon-separated records)
detailsdetails
46N-I pass pass pass BUG pass pass read -d '' (null-separated records)
detailsdetails
47N-I pass pass pass pass pass pass read -rd
details
48N-I pass pass pass pass pass pass read -d when there's no delimiter
details
49N-I pass N-I N-I N-I FAIL FAIL mapfile
detailsdetailsdetailsdetailsdetailsdetails
50N-I pass N-I N-I N-I FAIL FAIL readarray (synonym for mapfile)
detailsdetailsdetailsdetailsdetailsdetails
51N-I pass N-I N-I N-I FAIL FAIL mapfile (array name): arr
detailsdetailsdetailsdetailsdetailsdetails
52N-I pass N-I N-I N-I FAIL FAIL mapfile (delimeter): -d delim
detailsdetailsdetailsdetailsdetailsdetails
53N-I pass N-I N-I N-I FAIL FAIL mapfile (delimiter): -d '' (null-separated)
detailsdetailsdetailsdetailsdetailsdetails
54N-I pass N-I N-I N-I FAIL FAIL mapfile (truncate delim): -t
detailsdetailsdetailsdetailsdetailsdetails
55N-I pass N-I N-I N-I FAIL FAIL mapfile (store position): -O start
detailsdetailsdetailsdetailsdetailsdetails
56N-I pass N-I N-I N-I FAIL FAIL mapfile (input range): -s start -n count
detailsdetailsdetailsdetailsdetailsdetails
287 passed, 5 OK, 67 not implemented, 24 BUG, 8 failed, 0 timeouts, 0 cases skipped
8 failed under osh

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 \
stderr:
dash3 echo -en

stdout:
-en abc
def

stderr:
dash4 echo -ez (invalid flag)

stdout:
-ez abc

stderr:
mksh4 echo -ez (invalid flag)

stdout:
-ez abc

stderr:
zsh4 echo -ez (invalid flag)

stdout:
-ez abc

stderr:
dash7 echo -e with C escapes

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

stdout:
-e 

	
stderr:
dash9 \0

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

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

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

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

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

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

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

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

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

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

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

stdout:
 3f 37
stderr:
dash18 incomplete hex escape

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

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

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

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

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

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

stdout:
 \ u 6
stderr:
ash22 \u6

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

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

stdout:
 \0 001 \ 8
stderr:
dash25 Read from empty file

stdout:
['status=1', '']
['status=2', '']
stderr:
dash: 4: read: arg count
dash26 read with zero args

stdout:
status=2
stderr:
dash: 1: read: arg count
dash30 Read -n (with $REPLY)

stdout:
[]
stderr:
dash: 2: read: Illegal option -n
dash: 3: read: Illegal option -n
zsh30 Read -n (with $REPLY)

stdout:
[]
stderr:
dash31 Read uses $REPLY (without -n)

stdout:
stderr: 
dash: 2: read: arg count
mksh33 read -r with other backslash escapes

stdout:
['one twoethree', 'one\\ twoethree']
stderr:
zsh33 read -r with other backslash escapes

stdout:
['one twoethree', 'one\\ twoethree']
stderr:
dash34 read with line continuation reads multiple physical lines

stdout:
['-e onetwo', '-e one\\']
stderr:
dash36 read -r with \n

stdout:
['', '']
stderr:
mksh36 read -r with \n

stdout:
['', '']
stderr:
zsh36 read -r with \n

stdout:
['', '']
stderr:
dash37 Read with IFS=$'\n'

stdout:
[a b c]
stderr:
dash40 Read should not respect C escapes.

stdout:
 
stderr:
mksh40 Read should not respect C escapes.

stdout:
  d   g h e 145 i
stderr:
zsh40 Read should not respect C escapes.

stdout:
 
stderr:
ash40 Read should not respect C escapes.

stdout:
abcdefghx65 145 i
stderr:
dash42 read -a reads into array

stdout:
stderr: 
mksh42 read -a reads into array

stdout:
stderr: 
zsh42 read -a reads into array

stdout:
stderr: 
ash42 read -a reads into array

stdout:
stderr: 
ash: read: line 6: illegal option -a
ash: syntax error: bad substitution
bash43 read -n with invalid arg

stdout:
status=1
stderr:
bash: line 1: read: not_a_number: invalid number
zsh43 read -n with invalid arg

stdout:
stderr: 
dash44 read returns correct number of bytes without EOF

stdout:
stderr: 
zsh44 read returns correct number of bytes without EOF

stdout:
stderr: 
ash44 read returns correct number of bytes without EOF

stdout:
stderr: 
dash45 read -d : (colon-separated records)

stdout:
v1=
v1= v2=
v1= v2= v3=
stderr:
dash: 3: read: Illegal option -d
dash: 5: read: Illegal option -d
dash: 7: read: Illegal option -d
ash45 read -d : (colon-separated records)

stdout:
v1=a,b,c
v1=d,e,f v2=
v1=g,h,i v2= v3=
stderr:
dash46 read -d '' (null-separated records)

stdout:
v1=
v1= v2=
v1= v2= v3=
stderr:
dash: 3: read: Illegal option -d
dash: 5: read: Illegal option -d
dash: 7: read: Illegal option -d
ash46 read -d '' (null-separated records)

stdout:
v1=a,b,cd,e,fg,h,i
v1= v2=
v1= v2= v3=
stderr:
dash47 read -rd

stdout:
stderr: 
dash: 1: read: Illegal option -d
dash48 read -d when there's no delimiter

stdout:
2
2
stderr:
dash: 1: read: Illegal option -d
dash: 3: read: Illegal option -d
dash49 mapfile

stdout:
stderr: 
mksh49 mapfile

stdout:
stderr: 
zsh49 mapfile

stdout:
stderr: 
ash49 mapfile

stdout:
stderr: 
osh49 mapfile

[osh stdout] Expected 'n=3\n[1\n]\n[3\n]\n[5\n]\n', got ''

stdout:
stderr: 
osh_ALT49 mapfile

[osh_ALT stdout] Expected 'n=3\n[1\n]\n[3\n]\n[5\n]\n', got ''

stdout:
stderr: 
dash50 readarray (synonym for mapfile)

stdout:
stderr: 
mksh50 readarray (synonym for mapfile)

stdout:
stderr: 
zsh50 readarray (synonym for mapfile)

stdout:
stderr: 
ash50 readarray (synonym for mapfile)

stdout:
stderr: 
osh50 readarray (synonym for mapfile)

[osh stdout] Expected 'n=3\n[1\n]\n[3\n]\n[5\n]\n', got ''

stdout:
stderr: 
osh_ALT50 readarray (synonym for mapfile)

[osh_ALT stdout] Expected 'n=3\n[1\n]\n[3\n]\n[5\n]\n', got ''

stdout:
stderr: 
dash51 mapfile (array name): arr

stdout:
stderr: 
mksh51 mapfile (array name): arr

stdout:
stderr: 
zsh51 mapfile (array name): arr

stdout:
stderr: 
ash51 mapfile (array name): arr

stdout:
stderr: 
osh51 mapfile (array name): arr

[osh stdout] Expected 'n=3\n[1\n]\n[3\n]\n[5\n]\n', got ''

stdout:
stderr: 
osh_ALT51 mapfile (array name): arr

[osh_ALT stdout] Expected 'n=3\n[1\n]\n[3\n]\n[5\n]\n', got ''

stdout:
stderr: 
dash52 mapfile (delimeter): -d delim

stdout:
stderr: 
mksh52 mapfile (delimeter): -d delim

stdout:
stderr: 
zsh52 mapfile (delimeter): -d delim

stdout:
stderr: 
ash52 mapfile (delimeter): -d delim

stdout:
stderr: 
osh52 mapfile (delimeter): -d delim

[osh stdout] Expected 'n=3\n[1:]\n[3:]\n[5:]\n', got ''

stdout:
stderr: 
osh_ALT52 mapfile (delimeter): -d delim

[osh_ALT stdout] Expected 'n=3\n[1:]\n[3:]\n[5:]\n', got ''

stdout:
stderr: 
dash53 mapfile (delimiter): -d '' (null-separated)

stdout:
stderr: 
mksh53 mapfile (delimiter): -d '' (null-separated)

stdout:
stderr: 
zsh53 mapfile (delimiter): -d '' (null-separated)

stdout:
stderr: 
ash53 mapfile (delimiter): -d '' (null-separated)

stdout:
stderr: 
osh53 mapfile (delimiter): -d '' (null-separated)

[osh stdout] Expected 'n=3\n[1]\n[3]\n[5]\n', got ''

stdout:
stderr: 
osh_ALT53 mapfile (delimiter): -d '' (null-separated)

[osh_ALT stdout] Expected 'n=3\n[1]\n[3]\n[5]\n', got ''

stdout:
stderr: 
dash54 mapfile (truncate delim): -t

stdout:
stderr: 
mksh54 mapfile (truncate delim): -t

stdout:
stderr: 
zsh54 mapfile (truncate delim): -t

stdout:
stderr: 
ash54 mapfile (truncate delim): -t

stdout:
stderr: 
osh54 mapfile (truncate delim): -t

[osh stdout] Expected 'n=3\n[1]\n[3]\n[5]\n', got ''

stdout:
stderr: 
osh_ALT54 mapfile (truncate delim): -t

[osh_ALT stdout] Expected 'n=3\n[1]\n[3]\n[5]\n', got ''

stdout:
stderr: 
dash55 mapfile (store position): -O start

stdout:
stderr: 
mksh55 mapfile (store position): -O start

stdout:
stderr: 
zsh55 mapfile (store position): -O start

stdout:
stderr: 
ash55 mapfile (store position): -O start

stdout:
stderr: 
osh55 mapfile (store position): -O start

[osh stdout] Expected 'n=5\n[x]\n[y]\n[a0]\n[a1]\n[a2]\n', got ''

stdout:
stderr: 
osh_ALT55 mapfile (store position): -O start

[osh_ALT stdout] Expected 'n=5\n[x]\n[y]\n[a0]\n[a1]\n[a2]\n', got ''

stdout:
stderr: 
dash56 mapfile (input range): -s start -n count

stdout:
stderr: 
mksh56 mapfile (input range): -s start -n count

stdout:
stderr: 
zsh56 mapfile (input range): -s start -n count

stdout:
stderr: 
ash56 mapfile (input range): -s start -n count

stdout:
stderr: 
osh56 mapfile (input range): -s start -n count

[osh stdout] Expected 'n=3\n[a5]\n[a6]\n[a7]\n', got ''

stdout:
stderr: 
osh_ALT56 mapfile (input range): -s start -n count

[osh_ALT stdout] Expected 'n=3\n[a5]\n[a6]\n[a7]\n', got ''

stdout:
stderr: