Results for builtin-io.test.sh

statusoshosh_.pyosh_.cc
pass 636359
FAIL 337
total666666
caseoshosh_.pyosh_.ccdescription
0pass pass pass echo dashes
1pass pass pass echo backslashes
2pass pass pass echo -e backslashes
3pass pass pass echo -en
4pass pass pass echo -ez (invalid flag)
5pass pass pass echo -e with embedded newline
6pass pass pass echo -e line continuation
7pass pass pass echo -e with C escapes
8pass pass pass echo -e with whitespace C escapes
9pass pass FAIL \0
details
10pass pass pass \c stops processing input
11pass pass pass echo -e with hex escape
12pass pass pass echo -e with octal escape
13pass pass pass echo -e with 4 digit unicode escape
14pass pass pass echo -e with 8 digit unicode escape
15pass pass pass \0377 is the highest octal byte
16pass pass pass \0400 is one more than the highest octal byte
17pass pass pass \0777 is out of range
18pass pass pass incomplete hex escape
19pass pass pass \x
20pass pass pass incomplete octal escape
21pass pass pass incomplete unicode escape
22pass pass pass \u6
23pass pass FAIL \0 \1 \8
details
24pass pass pass Read builtin
25pass pass pass Read from empty file
26pass pass pass read /dev/null
27pass pass pass read with zero args
28pass pass pass Read builtin with no newline.
29pass pass pass Read builtin with multiple variables
30pass pass pass Read builtin with not enough variables
31pass pass pass Read -n (with $REPLY)
32pass pass pass IFS= read -n (OSH regression: value saved in tempenv)
33pass pass pass read -n with invalid arg
34pass pass pass read -n from pipe
35pass pass pass Read uses $REPLY (without -n)
36pass pass pass read -r ignores backslashes
37pass pass pass read -r with other backslash escapes
38pass pass pass read with line continuation reads multiple physical lines
39pass pass pass read multiple vars spanning many lines
40pass pass pass read -r with \n
41pass pass pass read -s from pipe, not a terminal
42pass pass pass Read with IFS=$'\n'
43pass pass pass Read multiple lines with IFS=:
44pass pass pass Read with IFS=''
45pass pass pass Read should not respect C escapes.
46pass pass pass Read builtin uses dynamic scope
47pass pass pass read -a reads into array
48pass pass pass read -d : (colon-separated records)
49pass pass FAIL read -d '' (null-separated records)
details
50pass pass pass read -rd
51pass pass pass read -d when there's no delimiter
52pass pass FAIL read -t 0 tests if input is available
details
53FAIL FAIL FAIL read -t 0.5
detailsdetailsdetails
54pass pass pass read -t -0.5 is invalid
55FAIL FAIL FAIL read -u
detailsdetailsdetails
56pass pass pass read -u syntax error
57FAIL FAIL FAIL read -N doesn't respect delimiter, while read -n does
detailsdetailsdetails
58pass pass pass read -p (not fully tested)
59pass pass pass read usage
60pass pass pass read with smooshed args
61pass pass pass read -r -d '' for NUL strings, e.g. find -print0
62pass pass pass redirection from directory is non-fatal error)
63pass pass pass read -n from directory
64pass pass pass mapfile from directory (bash doesn't handle errors)
65pass pass pass Redirect to directory
185 passed, 0 OK, 0 not implemented, 0 BUG, 13 failed, 0 timeouts, 0 cases skipped
3 failed under osh

Details on runs that didn't PASS

osh_.cc9 \0

[osh_.cc stdout] Expected u'ab\x00cd\n', got 'abcd\n'

stdout:
abcd
stderr:
osh_.cc23 \0 \1 \8

[osh_.cc stdout] Expected u' \\0 \\ 1 \\ 8\n', got ' \\ 1 \\ 8\n'

stdout:
 \ 1 \ 8
stderr:
osh_.cc49 read -d '' (null-separated records)

[osh_.cc stdout] Expected 'v1=a,b,c\nv1=d v2=e,f\nv1=g v2=h v3=i\n', got 'v1=a,b,cd,e,fg,h,i\nv1= v2=\nv1= v2= v3=\n'

stdout:
v1=a,b,cd,e,fg,h,i
v1= v2=
v1= v2= v3=
stderr:
osh_.cc52 read -t 0 tests if input is available

[osh_.cc stdout] Expected '0\n0\nreply=\n0\n', got ''
[osh_.cc status] Expected 0, got -6

stdout:
stderr: 
osh_eval.stripped: cpp/leaky_core.cc:193: bool pyos::InputAvailable(int): Assertion `!"Not Implemented"' failed.
timeout: the monitored command dumped core
osh53 read -t 0.5

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

stdout:
stderr: 
  read -t 0.5 < /dev/null
  ^~~~
[ stdin ]:3: fatal: read -t isn't implemented (except t=0)
osh_.py53 read -t 0.5

[osh_.py stdout] Expected '1\n', got ''
[osh_.py status] Expected 0, got 1

stdout:
stderr: 
  read -t 0.5 < /dev/null
  ^~~~
[ stdin ]:3: fatal: read -t isn't implemented (except t=0)
osh_.cc53 read -t 0.5

[osh_.cc stdout] Expected '1\n', got ''
[osh_.cc status] Expected 0, got 1

stdout:
stderr: 
  read -t 0.5 < /dev/null
  ^~~~
[ stdin ]:3: fatal: read -t isn't implemented (except t=0)
osh55 read -u

[osh stdout] Expected 'reply=hi\n', got 'reply=\n'

stdout:
reply=
stderr:
osh_.py55 read -u

[osh_.py stdout] Expected 'reply=hi\n', got 'reply=\n'

stdout:
reply=
stderr:
osh_.cc55 read -u

[osh_.cc stdout] Expected 'reply=hi\n', got 'reply=\n'

stdout:
reply=
stderr:
osh57 read -N doesn't respect delimiter, while read -n does

[osh stdout] Expected 'foo\nfooba\n', got 'fooba\nfooba\n'

stdout:
fooba
fooba
stderr:
  echo foobar | { read -N 5 -d b; echo $REPLY; }
                       ^~
[ stdin ]:4: 'read' doesn't accept flag -N
osh_.py57 read -N doesn't respect delimiter, while read -n does

[osh_.py stdout] Expected 'foo\nfooba\n', got 'fooba\nfooba\n'

stdout:
fooba
fooba
stderr:
  echo foobar | { read -N 5 -d b; echo $REPLY; }
                       ^~
[ stdin ]:4: 'read' doesn't accept flag -N
osh_.cc57 read -N doesn't respect delimiter, while read -n does

[osh_.cc stdout] Expected 'foo\nfooba\n', got 'fooba\nfooba\n'

stdout:
fooba
fooba
stderr:
  echo foobar | { read -N 5 -d b; echo $REPLY; }
                       ^~
[ stdin ]:4: 'read' dynamic_fmt_dummy