about summary refs log tree commit diff
path: root/Test
diff options
context:
space:
mode:
authorTanaka Akira <akr@users.sourceforge.net>2000-02-20 01:27:10 +0000
committerTanaka Akira <akr@users.sourceforge.net>2000-02-20 01:27:10 +0000
commit693e45e9bb52776c7c0e740deeb9a02bb6252884 (patch)
treea88e5a27d15d1da2356b05c61e548697f399ffa0 /Test
parentac6487085024cb65b94d761add66835aac6b6a6e (diff)
downloadzsh-693e45e9bb52776c7c0e740deeb9a02bb6252884.tar.gz
zsh-693e45e9bb52776c7c0e740deeb9a02bb6252884.tar.xz
zsh-693e45e9bb52776c7c0e740deeb9a02bb6252884.zip
zsh-workers/9794
Diffstat (limited to 'Test')
-rw-r--r--Test/.distfiles2
-rw-r--r--Test/51xtrace.ztst60
2 files changed, 61 insertions, 1 deletions
diff --git a/Test/.distfiles b/Test/.distfiles
index daf76cebb..bea0dd621 100644
--- a/Test/.distfiles
+++ b/Test/.distfiles
@@ -3,5 +3,5 @@ DISTFILES_SRC='
     ztst.zsh
     01grammar.ztst 02alias.ztst 03quoting.ztst 04redirect.ztst
     05command.ztst 06arith.ztst 07cond.ztst 08traps.ztst 09funcdef.ztst
-    10prompt.ztst 50cd.ztst
+    10prompt.ztst 50cd.ztst 51xtrace.ztst
 '
diff --git a/Test/51xtrace.ztst b/Test/51xtrace.ztst
new file mode 100644
index 000000000..5dac18ff6
--- /dev/null
+++ b/Test/51xtrace.ztst
@@ -0,0 +1,60 @@
+# Test that xtrace output is correctly generated
+
+%prep
+  mkdir xtrace.tmp && cd xtrace.tmp
+
+%test
+
+  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'; done 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
+>+ZTST_execchunk:2> print Tracing: ( builtin ) 2>file
+>+ZTST_execchunk:2> cat
+>+ZTST_execchunk:2> print Tracing: { builtin } 2>file
+>+ZTST_execchunk:2> cat
+>+ZTST_execchunk:2> print Tracing: do builtin done 2>file
+>+ZTST_execchunk:2> cat
+?+ZTST_execchunk:2> print Tracing: builtin
+?+ZTST_execchunk:2> print Tracing: builtin 2>file
+?+ZTST_execchunk:2> cat
+?+ZTST_execchunk:2> cat
+?+ZTST_execchunk:2> print Tracing: ( builtin )
+?+ZTST_execchunk:2> cat
+?+ZTST_execchunk:2> print Tracing: { builtin }
+?+ZTST_execchunk:2> cat
+?+ZTST_execchunk:2> print Tracing: do builtin done
+?+ZTST_execchunk:2> cat
+?+ZTST_execchunk:2> set +x