Results for xtrace.test.sh

statusoshosh_.pyosh_.cc
pass 13133
ok 220
FAIL 1113
total161616
caseoshosh_.pyosh_.ccdescription
0pass pass FAIL unset PS4
details
1FAIL FAIL FAIL set -o verbose prints unevaluated code
detailsdetailsdetails
2pass pass FAIL xtrace with unprintable chars
details
3pass pass FAIL xtrace with unicode chars
details
4pass pass FAIL xtrace with tabs
details
5pass pass FAIL xtrace with whitespace, quotes, and backslash
details
6pass pass FAIL xtrace with newlines
details
7pass pass FAIL xtrace written before command executes
details
8pass pass FAIL Assignments and assign builtins
details
9pass pass FAIL [[ ]]
details
10ok ok FAIL PS4 is scoped
detailsdetailsdetails
11ok ok FAIL xtrace with variables in PS4
detailsdetailsdetails
12pass pass pass PS4 with unterminated ${
13pass pass pass PS4 with unterminated $(
14pass pass pass PS4 with runtime error
15pass pass FAIL Reading $? in PS4
details
29 passed, 4 OK, 0 not implemented, 0 BUG, 15 failed, 0 timeouts, 0 cases skipped
1 failed under osh

Details on runs that didn't PASS

osh_.cc0 unset PS4

[osh_.cc stderr] Expected '+ echo 1\n+ unset PS4\necho 2\n', got '+ echo 1\n+ unset PS4\necho 2\n\ndumb_alloc:\n\tgNumNew = 2176\n\tgNumDelete = 197\n\tgMemPos = 72832\n\n\tgNumMalloc = 185\n\tgNumFree = 0\n\tgMemPos2 = 12176\n'

stdout:
1
2
stderr:
+ echo 1
+ unset PS4
echo 2

dumb_alloc:
	gNumNew = 2176
	gNumDelete = 197
	gMemPos = 72832

	gNumMalloc = 185
	gNumFree = 0
	gMemPos2 = 12176
osh1 set -o verbose prints unevaluated code

[osh stderr] Expected 'x=foo\ny=bar\necho $x\necho $(echo $y)\n', got 'Warning: set -o verbose not implemented\n'

stdout:
foo
bar
stderr:
Warning: set -o verbose not implemented
osh_.py1 set -o verbose prints unevaluated code

[osh_.py stderr] Expected 'x=foo\ny=bar\necho $x\necho $(echo $y)\n', got 'Warning: set -o verbose not implemented\n'

stdout:
foo
bar
stderr:
Warning: set -o verbose not implemented
osh_.cc1 set -o verbose prints unevaluated code

[osh_.cc stdout] Expected 'foo\nbar\n', got ''
[osh_.cc stderr] Expected 'x=foo\ny=bar\necho $x\necho $(echo $y)\n', got "Warning: set -o verbose not implemented\nosh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed.\n"
[osh_.cc status] Expected 0, got -6

stdout:
stderr: 
Warning: set -o verbose not implemented
osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed.
osh_.cc2 xtrace with unprintable chars

[osh_.cc stderr] Expected "+ echo $'a\\x03b\\x04c\\x00d'\n", got "+ echo $'a\\x03b\\x04c\\x00d'\n\ndumb_alloc:\n\tgNumNew = 2102\n\tgNumDelete = 190\n\tgMemPos = 71552\n\n\tgNumMalloc = 165\n\tgNumFree = 0\n\tgMemPos2 = 11936\n"

stdout:
abcd
stderr:
+ echo $'a\x03b\x04c\x00d'

dumb_alloc:
	gNumNew = 2102
	gNumDelete = 190
	gMemPos = 71552

	gNumMalloc = 165
	gNumFree = 0
	gMemPos2 = 11936
osh_.cc3 xtrace with unicode chars

[osh_.cc stderr] Expected "+ echo '[\xce\xbc]' '[\xce\xbc]'\n", got "+ echo $'[\xce\xbc]' $'[\xce\xbc]'\n\ndumb_alloc:\n\tgNumNew = 2177\n\tgNumDelete = 210\n\tgMemPos = 73408\n\n\tgNumMalloc = 176\n\tgNumFree = 0\n\tgMemPos2 = 12080\n"

stdout:
[μ] [μ]
stderr:
+ echo $'[μ]' $'[μ]'

dumb_alloc:
	gNumNew = 2177
	gNumDelete = 210
	gMemPos = 73408

	gNumMalloc = 176
	gNumFree = 0
	gMemPos2 = 12080
osh_.cc4 xtrace with tabs

[osh_.cc stderr] Expected "+ echo $'[\\t]'\n", got "+ echo $'[\\t]'\n\ndumb_alloc:\n\tgNumNew = 2043\n\tgNumDelete = 182\n\tgMemPos = 69920\n\n\tgNumMalloc = 141\n\tgNumFree = 0\n\tgMemPos2 = 11520\n"

stdout:
[	]
stderr:
+ echo $'[\t]'

dumb_alloc:
	gNumNew = 2043
	gNumDelete = 182
	gMemPos = 69920

	gNumMalloc = 141
	gNumFree = 0
	gMemPos2 = 11520
osh_.cc5 xtrace with whitespace, quotes, and backslash

[osh_.cc stderr] Expected '+ echo \'1 2\' $\'\\\'\' \'"\' $\'\\\\\'\n', got '+ echo \'1 2\' $\'\\\'\' \'"\' $\'\\\\\'\n\ndumb_alloc:\n\tgNumNew = 2031\n\tgNumDelete = 189\n\tgMemPos = 69344\n\n\tgNumMalloc = 151\n\tgNumFree = 0\n\tgMemPos2 = 11632\n'

stdout:
1 2 ' " \
stderr:
+ echo '1 2' $'\'' '"' $'\\'

dumb_alloc:
	gNumNew = 2031
	gNumDelete = 189
	gMemPos = 69344

	gNumMalloc = 151
	gNumFree = 0
	gMemPos2 = 11632
osh_.cc6 xtrace with newlines

[osh_.cc stderr] Expected "+ echo $'[\\n]'\n", got "+ echo $'[\\n]'\n\ndumb_alloc:\n\tgNumNew = 1922\n\tgNumDelete = 161\n\tgMemPos = 66240\n\n\tgNumMalloc = 108\n\tgNumFree = 0\n\tgMemPos2 = 10944\n"

stdout:
[
]
stderr:
+ echo $'[\n]'

dumb_alloc:
	gNumNew = 1922
	gNumDelete = 161
	gMemPos = 66240

	gNumMalloc = 108
	gNumFree = 0
	gMemPos2 = 10944
osh_.cc7 xtrace written before command executes

[osh_.cc stderr] Expected '+ echo one\none\n+ echo two\ntwo\n', got "osh_eval.opt: cpp/posix.h:143: void posix::dup2(int, int): Assertion `0' failed.\n"
[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_.cc8 Assignments and assign builtins

[osh_.cc stderr] Expected '+ x=1\n+ x=2\n+ echo 2\n+ readonly x=3\n', got '+ x=1\n+ x=2\n+ echo 2\n+ readonly x=3\n\ndumb_alloc:\n\tgNumNew = 2092\n\tgNumDelete = 199\n\tgMemPos = 71056\n\n\tgNumMalloc = 126\n\tgNumFree = 0\n\tgMemPos2 = 11232\n'

stdout:
2
stderr:
+ x=1
+ x=2
+ echo 2
+ readonly x=3

dumb_alloc:
	gNumNew = 2092
	gNumDelete = 199
	gMemPos = 71056

	gNumMalloc = 126
	gNumFree = 0
	gMemPos2 = 11232
osh_.cc9 [[ ]]

[osh_.cc stderr] Expected "+ dir='/'\n+ [[ -d $dir ]]\n+ (( a = 42 ))\n", got "+ dir='/'\n+ [[ -d $dir ]]\nosh_eval.opt: cpp/osh_bool_stat.h:37: bool bool_stat::DoUnaryOp(id_kind_asdl::Id_t, Str*): Assertion `0' failed.\n"
[osh_.cc status] Expected 0, got -6

stdout:
stderr: 
+ dir='/'
+ [[ -d $dir ]]
osh_eval.opt: cpp/osh_bool_stat.h:37: bool bool_stat::DoUnaryOp(id_kind_asdl::Id_t, Str*): Assertion `0' failed.
osh10 PS4 is scoped

stdout:
one
func
two
stderr:
+ echo one
+ f
+ local PS4='- '
- echo func
+ echo two
osh_.py10 PS4 is scoped

stdout:
one
func
two
stderr:
+ echo one
+ f
+ local PS4='- '
- echo func
+ echo two
osh_.cc10 PS4 is scoped

[osh_.cc stderr] Expected "+ echo one\n+ f\n+ local PS4='- '\n- echo func\n+ echo two\n", got "+ echo one\n+ f\n+ local PS4='- '\n- echo func\n+ echo two\n\ndumb_alloc:\n\tgNumNew = 2451\n\tgNumDelete = 254\n\tgMemPos = 81392\n\n\tgNumMalloc = 237\n\tgNumFree = 0\n\tgMemPos2 = 13008\n"

stdout:
one
func
two
stderr:
+ echo one
+ f
+ local PS4='- '
- echo func
+ echo two

dumb_alloc:
	gNumNew = 2451
	gNumDelete = 254
	gMemPos = 81392

	gNumMalloc = 237
	gNumFree = 0
	gMemPos2 = 13008
osh11 xtrace with variables in PS4

stdout:
one
two
stderr:
+1:x=1
+1:echo one
+2:x=2
+2:echo two
osh_.py11 xtrace with variables in PS4

stdout:
one
two
stderr:
+1:x=1
+1:echo one
+2:x=2
+2:echo two
osh_.cc11 xtrace with variables in PS4

[osh_.cc stderr] Expected '+1:x=1\n+1:echo one\n+2:x=2\n+2:echo two\n', got '+1:x=1\n+1:echo one\n+2:x=2\n+2:echo two\n\ndumb_alloc:\n\tgNumNew = 2226\n\tgNumDelete = 211\n\tgMemPos = 74048\n\n\tgNumMalloc = 197\n\tgNumFree = 0\n\tgMemPos2 = 12336\n'

stdout:
one
two
stderr:
+1:x=1
+1:echo one
+2:x=2
+2:echo two

dumb_alloc:
	gNumNew = 2226
	gNumDelete = 211
	gMemPos = 74048

	gNumMalloc = 197
	gNumFree = 0
	gMemPos2 = 12336
osh_.cc15 Reading $? in PS4

[osh_.cc stderr] Expected '[last=0] false\n[last=1] echo ok\n', got '[last=0] false\n[last=1] echo ok\n\ndumb_alloc:\n\tgNumNew = 2019\n\tgNumDelete = 171\n\tgMemPos = 68752\n\n\tgNumMalloc = 138\n\tgNumFree = 0\n\tgMemPos2 = 11392\n'

stdout:
ok
stderr:
[last=0] false
[last=1] echo ok

dumb_alloc:
	gNumNew = 2019
	gNumDelete = 171
	gMemPos = 68752

	gNumMalloc = 138
	gNumFree = 0
	gMemPos2 = 11392