Results for builtin-io.test.sh

statusoshosh_.pyosh_.cc
pass 595917
FAIL 3345
total626262
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 FAIL \0377 is the highest octal byte
details
16pass pass FAIL \0400 is one more than the highest octal byte
details
17pass pass FAIL \0777 is out of range
details
18pass pass FAIL incomplete hex escape
details
19pass pass FAIL \x
details
20pass pass FAIL incomplete octal escape
details
21pass pass FAIL incomplete unicode escape
details
22pass pass FAIL \u6
details
23pass pass FAIL \0 \1 \8
details
24pass pass FAIL Read builtin
details
25pass pass FAIL Read from empty file
details
26pass pass FAIL read /dev/null
details
27pass pass FAIL read with zero args
details
28pass pass FAIL Read builtin with no newline.
details
29pass pass FAIL Read builtin with multiple variables
details
30pass pass FAIL Read builtin with not enough variables
details
31pass pass FAIL Read -n (with $REPLY)
details
32pass pass FAIL IFS= read -n (OSH regression: value saved in tempenv)
details
33pass pass pass read -n with invalid arg
34pass pass FAIL read -n from pipe
details
35pass pass FAIL Read uses $REPLY (without -n)
details
36pass pass FAIL read -r ignores backslashes
details
37pass pass FAIL read -r with other backslash escapes
details
38pass pass FAIL read with line continuation reads multiple physical lines
details
39pass pass FAIL read multiple vars spanning many lines
details
40pass pass FAIL read -r with \n
details
41pass pass FAIL read -s from pipe, not a terminal
details
42pass pass FAIL Read with IFS=$'\n'
details
43pass pass FAIL Read multiple lines with IFS=:
details
44pass pass FAIL Read with IFS=''
details
45pass pass FAIL Read should not respect C escapes.
details
46pass pass FAIL Read builtin uses dynamic scope
details
47pass pass FAIL read -a reads into array
details
48pass pass FAIL read -d : (colon-separated records)
details
49pass pass FAIL read -d '' (null-separated records)
details
50pass pass FAIL read -rd
details
51pass pass FAIL read -d when there's no delimiter
details
52pass pass FAIL read -t 0 tests if input is available
details
53FAIL FAIL FAIL read -t 0.5
detailsdetailsdetails
54pass pass FAIL read -t -0.5 is invalid
details
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 FAIL read -p (not fully tested)
details
59pass pass pass read usage
60pass pass FAIL read with smooshed args
details
61pass pass FAIL read -r -d '' for NUL strings, e.g. find -print0
details
135 passed, 0 OK, 0 not implemented, 0 BUG, 51 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:
dumb_alloc:
	gNumNew = 1758
	gNumDelete = 123
	gMemPos = 61200

	gNumMalloc = 72
	gNumFree = 0
	gMemPos2 = 10352
osh_.cc15 \0377 is the highest octal byte

[osh_.cc stdout] Expected u' ff 37\n', got ''
[osh_.cc status] Expected 0, got -6

stdout:
stderr: 
osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed.
osh_.cc16 \0400 is one more than the highest octal byte

[osh_.cc stdout] Expected u' 00 30\n', got ''
[osh_.cc status] Expected 0, got -6

stdout:
stderr: 
osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed.
osh_.cc17 \0777 is out of range

[osh_.cc stdout] Expected u' ff\n', got ''
[osh_.cc status] Expected 0, got -6

stdout:
stderr: 
osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed.
osh_.cc18 incomplete hex escape

[osh_.cc stdout] Expected u' a b c d 006\n', got ''
[osh_.cc status] Expected 0, got -6

stdout:
stderr: 
osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed.
osh_.cc19 \x

[osh_.cc stdout] Expected u' \\ x \\ x g \\n\n', got ''
[osh_.cc status] Expected 0, got -6

stdout:
stderr: 
osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed.
osh_.cc20 incomplete octal escape

[osh_.cc stdout] Expected u' a b c d 004\n', got ''
[osh_.cc status] Expected 0, got -6

stdout:
stderr: 
osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed.
osh_.cc21 incomplete unicode escape

[osh_.cc stdout] Expected u' a b c d 006\n', got ''
[osh_.cc status] Expected 0, got -6

stdout:
stderr: 
osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed.
osh_.cc22 \u6

[osh_.cc stdout] Expected u' 006\n', got ''
[osh_.cc status] Expected 0, got -6

stdout:
stderr: 
osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed.
osh_.cc23 \0 \1 \8

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

stdout:
stderr: 
osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed.
osh_.cc24 Read builtin

[osh_.cc stdout] Expected '[A\t\tB C D E]\n', got ''
[osh_.cc status] Expected 0, got -6

stdout:
stderr: 
osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed.
osh_.cc25 Read from empty file

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

stdout:
stderr: 
osh_eval.opt: cpp/posix.h:143: void posix::dup2(int, int): Assertion `0' failed.
osh_.cc26 read /dev/null

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

stdout:
stderr: 
osh_eval.opt: cpp/posix.h:143: void posix::dup2(int, int): Assertion `0' failed.
osh_.cc27 read with zero args

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

stdout:
stderr: 
osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed.
osh_.cc28 Read builtin with no newline.

[osh_.cc stdout] Expected u'1\nZZZ\n', got ''
[osh_.cc status] Expected 0, got -6

stdout:
stderr: 
osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed.
osh_.cc29 Read builtin with multiple variables

[osh_.cc stdout] Expected '[A/B/C D E]\n', got ''
[osh_.cc status] Expected 0, got -6

stdout:
stderr: 
osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed.
osh_.cc30 Read builtin with not enough variables

[osh_.cc stdout] Expected '/A/B//\n', got ''
[osh_.cc status] Expected 0, got -6

stdout:
stderr: 
osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed.
osh_.cc31 Read -n (with $REPLY)

[osh_.cc stdout] Expected "['1234', '12']\n", got ''
[osh_.cc status] Expected 0, got -6

stdout:
stderr: 
osh_eval.opt: cpp/posix.h:143: void posix::dup2(int, int): Assertion `0' failed.
osh_.cc32 IFS= read -n (OSH regression: value saved in tempenv)

[osh_.cc stdout] Expected "['X']\n", got ''
[osh_.cc status] Expected 0, got -6

stdout:
stderr: 
osh_eval.opt: cpp/posix.h:143: void posix::dup2(int, int): Assertion `0' failed.
osh_.cc34 read -n from pipe

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

stdout:
stderr: 
osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed.
osh_.cc35 Read uses $REPLY (without -n)

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

stdout:
stderr: 
osh_eval.opt: cpp/posix.h:143: void posix::dup2(int, int): Assertion `0' failed.
osh_.cc36 read -r ignores backslashes

[osh_.cc stdout] Expected "['one two', 'one\\\\ two']\n", got ''
[osh_.cc status] Expected 0, got -6

stdout:
stderr: 
osh_eval.opt: cpp/posix.h:143: void posix::dup2(int, int): Assertion `0' failed.
osh_.cc37 read -r with other backslash escapes

[osh_.cc stdout] Expected "['one twox65three', 'one\\\\ two\\\\x65three']\n", got ''
[osh_.cc status] Expected 0, got -6

stdout:
stderr: 
osh_eval.opt: cpp/posix.h:143: void posix::dup2(int, int): Assertion `0' failed.
osh_.cc38 read with line continuation reads multiple physical lines

[osh_.cc stdout] Expected "['onetwo', 'one\\\\']\n", got ''
[osh_.cc status] Expected 0, got -6

stdout:
stderr: 
osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed.
osh_.cc39 read multiple vars spanning many lines

[osh_.cc stdout] Expected "['one-two', 'three-four five-six', '']\n", got ''
[osh_.cc status] Expected 0, got -6

stdout:
stderr: 
osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed.
osh_.cc40 read -r with \n

[osh_.cc stdout] Expected "['nline', '\\\\nline']\n", got ''
[osh_.cc status] Expected 0, got -6

stdout:
stderr: 
osh_eval.opt: cpp/posix.h:143: void posix::dup2(int, int): Assertion `0' failed.
osh_.cc41 read -s from pipe, not a terminal

[osh_.cc stdout] Expected 'foo\nba\n0\nb\n', got ''
[osh_.cc status] Expected 0, got -6

stdout:
stderr: 
osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed.
osh_.cc42 Read with IFS=$'\n'

[osh_.cc stdout] Expected '[ a b c]\n', got ''
[osh_.cc status] Expected 0, got -6

stdout:
stderr: 
osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed.
osh_.cc43 Read multiple lines with IFS=:

[osh_.cc stdout] Expected '[ \\a |b: c|d e|]\n', got ''
[osh_.cc status] Expected 0, got -6

stdout:
stderr: 
osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed.
osh_.cc44 Read with IFS=''

[osh_.cc stdout] Expected '[ a b c d|]\n', got ''
[osh_.cc status] Expected 0, got -6

stdout:
stderr: 
osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed.
osh_.cc45 Read should not respect C escapes.

[osh_.cc stdout] Expected u'a b c d e f g h x65 145 i\n', got ''
[osh_.cc status] Expected 0, got -6

stdout:
stderr: 
osh_eval.opt: cpp/posix.h:143: void posix::dup2(int, int): Assertion `0' failed.
osh_.cc46 Read builtin uses dynamic scope

[osh_.cc stdout] Expected 'ref: refs/heads/dev/andy\n', got ''
[osh_.cc status] Expected 0, got -6

stdout:
stderr: 
osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed.
osh_.cc47 read -a reads into array

[osh_.cc stdout] Expected "['a', 'b', 'c d']\n['a', 'b', 'c\\\\', 'd']\n[]\n[]\n", got ''
[osh_.cc status] Expected 0, got -6

stdout:
stderr: 
osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed.
osh_.cc48 read -d : (colon-separated records)

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

stdout:
stderr: 
osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed.
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 ''
[osh_.cc status] Expected 0, got -6

stdout:
stderr: 
osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed.
osh_.cc50 read -rd

[osh_.cc stdout] Expected 'foo\nbar\n', got ''
[osh_.cc status] Expected 0, got -6

stdout:
stderr: 
osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed.
osh_.cc51 read -d when there's no delimiter

[osh_.cc stdout] Expected 'foo 0\nbar 1\n', got ''
[osh_.cc status] Expected 0, got -6

stdout:
stderr: 
osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed.
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.opt: cpp/posix.h:143: void posix::dup2(int, int): Assertion `0' failed.
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 ]:2: 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 ]:2: 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 -6

stdout:
stderr: 
osh_eval.opt: cpp/posix.h:143: void posix::dup2(int, int): Assertion `0' failed.
osh_.cc54 read -t -0.5 is invalid

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

stdout:
stderr: 
osh_eval.opt: cpp/posix.h:143: void posix::dup2(int, int): Assertion `0' failed.
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 ''
[osh_.cc status] Expected 0, got -6

stdout:
stderr: 
osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed.
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 ]:3: '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 ]:3: '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 ''
[osh_.cc status] Expected 0, got -6

stdout:
stderr: 
osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed.
osh_.cc58 read -p (not fully tested)

[osh_.cc stdout] Expected 'hi\nh\n', got ''
[osh_.cc stderr] Expected u'', got "osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed.\n"
[osh_.cc status] Expected 0, got -6

stdout:
stderr: 
osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed.
osh_.cc60 read with smooshed args

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

stdout:
stderr: 
osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed.
osh_.cc61 read -r -d '' for NUL strings, e.g. find -print0

[osh_.cc stdout] Expected '[./a\\b\\c\\d]\n', got ''
[osh_.cc status] Expected 0, got -6

stdout:
stderr: 
osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed.