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 = 2175\n\tgNumDelete = 197\n\tgMemPos = 72800\n\n\tgNumMalloc = 185\n\tgNumFree = 0\n\tgMemPos2 = 11392\n'

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

dumb_alloc:
	gNumNew = 2175
	gNumDelete = 197
	gMemPos = 72800

	gNumMalloc = 185
	gNumFree = 0
	gMemPos2 = 11392
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 = 2100\n\tgNumDelete = 190\n\tgMemPos = 71488\n\n\tgNumMalloc = 165\n\tgNumFree = 0\n\tgMemPos2 = 11136\n"

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

dumb_alloc:
	gNumNew = 2100
	gNumDelete = 190
	gMemPos = 71488

	gNumMalloc = 165
	gNumFree = 0
	gMemPos2 = 11136
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 = 2170\n\tgNumDelete = 207\n\tgMemPos = 72960\n\n\tgNumMalloc = 176\n\tgNumFree = 0\n\tgMemPos2 = 11280\n"

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

dumb_alloc:
	gNumNew = 2170
	gNumDelete = 207
	gMemPos = 72960

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

[osh_.cc stderr] Expected "+ echo $'[\\t]'\n", got "+ echo $'[\\t]'\n\ndumb_alloc:\n\tgNumNew = 2038\n\tgNumDelete = 179\n\tgMemPos = 69696\n\n\tgNumMalloc = 141\n\tgNumFree = 0\n\tgMemPos2 = 10720\n"

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

dumb_alloc:
	gNumNew = 2038
	gNumDelete = 179
	gMemPos = 69696

	gNumMalloc = 141
	gNumFree = 0
	gMemPos2 = 10720
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 = 2030\n\tgNumDelete = 189\n\tgMemPos = 69312\n\n\tgNumMalloc = 151\n\tgNumFree = 0\n\tgMemPos2 = 10848\n'

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

dumb_alloc:
	gNumNew = 2030
	gNumDelete = 189
	gMemPos = 69312

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

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

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

dumb_alloc:
	gNumNew = 1921
	gNumDelete = 161
	gMemPos = 66208

	gNumMalloc = 108
	gNumFree = 0
	gMemPos2 = 10160
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 = 2091\n\tgNumDelete = 199\n\tgMemPos = 71024\n\n\tgNumMalloc = 126\n\tgNumFree = 0\n\tgMemPos2 = 10448\n'

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

dumb_alloc:
	gNumNew = 2091
	gNumDelete = 199
	gMemPos = 71024

	gNumMalloc = 126
	gNumFree = 0
	gMemPos2 = 10448
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 = 2450\n\tgNumDelete = 254\n\tgMemPos = 81360\n\n\tgNumMalloc = 237\n\tgNumFree = 0\n\tgMemPos2 = 12224\n"

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

dumb_alloc:
	gNumNew = 2450
	gNumDelete = 254
	gMemPos = 81360

	gNumMalloc = 237
	gNumFree = 0
	gMemPos2 = 12224
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 = 2225\n\tgNumDelete = 211\n\tgMemPos = 74016\n\n\tgNumMalloc = 197\n\tgNumFree = 0\n\tgMemPos2 = 11552\n'

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

dumb_alloc:
	gNumNew = 2225
	gNumDelete = 211
	gMemPos = 74016

	gNumMalloc = 197
	gNumFree = 0
	gMemPos2 = 11552
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 = 2018\n\tgNumDelete = 171\n\tgMemPos = 68720\n\n\tgNumMalloc = 138\n\tgNumFree = 0\n\tgMemPos2 = 10608\n'

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

dumb_alloc:
	gNumNew = 2018
	gNumDelete = 171
	gMemPos = 68720

	gNumMalloc = 138
	gNumFree = 0
	gMemPos2 = 10608