zsh-workers
 help / color / mirror / code / Atom feed
093a587bde2379bd01f7d7042f9f7f25c136422f blob 3884 bytes (raw)

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
 
# Test that xtrace output is correctly generated

%prep
  mkdir xtrace.tmp && cd xtrace.tmp

  function xtf {
    local regression_test_dummy_variable
    print "$*"
  }
  function xtfx {
    local regression_test_dummy_variable
    print "Tracing: (){ builtin 2>file }" 2>>xtrace.err
    { print "Tracing: (){ { builtin } 2>file }" } 2>>xtrace.err
  }
  echo 'print "$*"' > xt.in

%test

  PS4='+%N:%i> '
  set -x
  print 'Tracing: builtin'
  print 'Tracing: builtin 2>file' 2>xtrace.err
  cat <<<'Tracing: external'
  cat <<<'Tracing: external 2>file' 2>>xtrace.err
  ( print 'Tracing: ( builtin )' )
  ( print 'Tracing: ( builtin ) 2>file' ) 2>>xtrace.err
  ( cat <<<'Tracing: ( external )' )
  ( cat <<<'Tracing: ( external ) 2>file' ) 2>>xtrace.err
  { print 'Tracing: { builtin }' }
  { print 'Tracing: { builtin } 2>file' } 2>>xtrace.err
  { cat <<<'Tracing: { external }' }
  { cat <<<'Tracing: { external } 2>file' } 2>>xtrace.err
  repeat 1 do print 'Tracing: do builtin done'; done
  repeat 1 do print 'Tracing: do builtin done 2>file'; done 2>>xtrace.err
  repeat 1 do cat <<<'Tracing: do external done'; done
  repeat 1 do cat <<<'Tracing: do external done 2>file'; done 2>>xtrace.err
  xtf 'Tracing: function'
  xtf 'Tracing: function 2>file' 2>>xtrace.err
  xtfx
  . ./xt.in 'Tracing: source'
  . ./xt.in 'Tracing: source 2>file' 2>>xtrace.err
  set +x
  cat xtrace.err
0:xtrace with and without redirection
>Tracing: builtin
>Tracing: builtin 2>file
>Tracing: external
>Tracing: external 2>file
>Tracing: ( builtin )
>Tracing: ( builtin ) 2>file
>Tracing: ( external )
>Tracing: ( external ) 2>file
>Tracing: { builtin }
>Tracing: { builtin } 2>file
>Tracing: { external }
>Tracing: { external } 2>file
>Tracing: do builtin done
>Tracing: do builtin done 2>file
>Tracing: do external done
>Tracing: do external done 2>file
>Tracing: function
>Tracing: function 2>file
>Tracing: (){ builtin 2>file }
>Tracing: (){ { builtin } 2>file }
>Tracing: source
>Tracing: source 2>file
>+(eval):8> print 'Tracing: ( builtin ) 2>file'
>+(eval):10> cat
>+(eval):12> print 'Tracing: { builtin } 2>file'
>+(eval):14> cat
>+(eval):16> print 'Tracing: do builtin done 2>file'
>+(eval):18> cat
>+xtf:1> local regression_test_dummy_variable
>+xtf:2> print 'Tracing: function 2>file'
>+xtfx:3> print 'Tracing: (){ { builtin } 2>file }'
?+(eval):3> print 'Tracing: builtin'
?+(eval):4> print 'Tracing: builtin 2>file'
?+(eval):5> cat
?+(eval):6> cat
?+(eval):7> print 'Tracing: ( builtin )'
?+(eval):9> cat
?+(eval):11> print 'Tracing: { builtin }'
?+(eval):13> cat
?+(eval):15> print 'Tracing: do builtin done'
?+(eval):17> cat
?+(eval):19> xtf 'Tracing: function'
?+xtf:1> local regression_test_dummy_variable
?+xtf:2> print 'Tracing: function'
?+(eval):20> xtf 'Tracing: function 2>file'
?+(eval):21> xtfx
?+xtfx:1> local regression_test_dummy_variable
?+xtfx:2> print 'Tracing: (){ builtin 2>file }'
?+(eval):22> . ./xt.in 'Tracing: source'
?+./xt.in:1> print 'Tracing: source'
?+(eval):23> . ./xt.in 'Tracing: source 2>file'
?+./xt.in:1> print 'Tracing: source 2>file'
?+(eval):24> set +x

 typeset -ft xtf
 xtf 'Tracing: function'
0:tracing function
>Tracing: function
?+xtf:1> local regression_test_dummy_variable
?+xtf:2> print 'Tracing: function'

 echo 'PS4="+%x:%I> "
 fn() {
   print This is fn.
 }
 :
 fn
 ' >fnfile
 $ZTST_testdir/../Src/zsh -fx ./fnfile 2>errfile
 grep '\./fnfile' errfile 1>&2
0:Trace output with sourcefile and line number.
>This is fn.
?+./fnfile:1> PS4='+%x:%I> ' 
?+./fnfile:5> :
?+./fnfile:6> fn
?+./fnfile:3> print This is fn.

 set -x
 [[ 'f o' = 'f x'* || 'b r' != 'z o' && 'squashy sound' < 'squishy sound' ]]
 [[ -e nonexistentfile || ( -z '' && -t 3 ) ]]
 set +x
0:Trace for conditions
?+(eval):2> [[ 'f o' == f\ x* || 'b r' != z\ o && 'squashy sound' < 'squishy sound' ]]
?+(eval):3> [[ -e nonexistentfile || -z '' && -t 3 ]]
?+(eval):4> set +x
debug log:

solving 093a587 ...
found 093a587 in https://git.vuxu.org/mirror/zsh/

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).