1 # Test that xtrace output is correctly generated
4 mkdir xtrace.tmp && cd xtrace.tmp
7 local regression_test_dummy_variable
10 echo 'print "$*"' > xt.in
16 print 'Tracing: builtin'
17 print 'Tracing: builtin 2>file' 2>xtrace.err
18 cat <<<'Tracing: external'
19 cat <<<'Tracing: external 2>file' 2>>xtrace.err
20 ( print 'Tracing: ( builtin )' )
21 ( print 'Tracing: ( builtin ) 2>file' ) 2>>xtrace.err
22 ( cat <<<'Tracing: ( external )' )
23 ( cat <<<'Tracing: ( external ) 2>file' ) 2>>xtrace.err
24 { print 'Tracing: { builtin }' }
25 { print 'Tracing: { builtin } 2>file' } 2>>xtrace.err
26 { cat <<<'Tracing: { external }' }
27 { cat <<<'Tracing: { external } 2>file' } 2>>xtrace.err
28 repeat 1 do print 'Tracing: do builtin done'; done
29 repeat 1 do print 'Tracing: do builtin done 2>file'; done 2>>xtrace.err
30 repeat 1 do cat <<<'Tracing: do external done'; done
31 repeat 1 do cat <<<'Tracing: do external done 2>file'; done 2>>xtrace.err
32 xtf 'Tracing: function'
33 xtf 'Tracing: function 2>file' 2>>xtrace.err
34 . ./xt.in 'Tracing: source'
35 . ./xt.in 'Tracing: source 2>file' 2>>xtrace.err
38 0:xtrace with and without redirection
40 >Tracing: builtin 2>file
42 >Tracing: external 2>file
44 >Tracing: ( builtin ) 2>file
45 >Tracing: ( external )
46 >Tracing: ( external ) 2>file
48 >Tracing: { builtin } 2>file
49 >Tracing: { external }
50 >Tracing: { external } 2>file
51 >Tracing: do builtin done
52 >Tracing: do builtin done 2>file
53 >Tracing: do external done
54 >Tracing: do external done 2>file
56 >Tracing: function 2>file
58 >Tracing: source 2>file
59 >+(eval):4> print 'Tracing: builtin 2>file'
61 >+(eval):8> print 'Tracing: ( builtin ) 2>file'
63 >+(eval):12> print 'Tracing: { builtin } 2>file'
65 >+(eval):16> print 'Tracing: do builtin done 2>file'
67 >+(eval):20> xtf 'Tracing: function 2>file'
68 >+xtf:1> local regression_test_dummy_variable
69 >+xtf:2> print 'Tracing: function 2>file'
70 >+(eval):22> . ./xt.in 'Tracing: source 2>file'
71 >+./xt.in:1> print 'Tracing: source 2>file'
72 ?+(eval):3> print 'Tracing: builtin'
74 ?+(eval):7> print 'Tracing: ( builtin )'
76 ?+(eval):11> print 'Tracing: { builtin }'
78 ?+(eval):15> print 'Tracing: do builtin done'
80 ?+(eval):19> xtf 'Tracing: function'
81 ?+xtf:1> local regression_test_dummy_variable
82 ?+xtf:2> print 'Tracing: function'
83 ?+(eval):21> . ./xt.in 'Tracing: source'
84 ?+./xt.in:1> print 'Tracing: source'
88 xtf 'Tracing: function'
91 ?+xtf:1> local regression_test_dummy_variable
92 ?+xtf:2> print 'Tracing: function'
101 $ZTST_testdir/../Src/zsh -fx ./fnfile 2>errfile
102 grep '\./fnfile' errfile 1>&2
103 0:Trace output with sourcefile and line number.
105 ?+./fnfile:1> PS4='+%x:%I> '
108 ?+./fnfile:3> print This is fn.