Results for builtin-io.test.sh

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

Details on runs that didn't PASS

osh-cpp3 echo builtin should disallow typed args - literal

[osh-cpp stdout] Expected '', got '\n'
[osh-cpp status] Expected 2, got 0

stdout:
stderr: 
osh-cpp4 echo builtin should disallow typed args - variable

[osh-cpp stdout] Expected '', got '\n'
[osh-cpp status] Expected 2, got 0

stdout:
stderr: 
osh58 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-cpp58 read -t 0.5

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

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

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

stdout:
reply=
stderr:
osh-cpp60 read -u

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

stdout:
reply=
stderr: