about summary refs log tree commit diff
path: root/Test/B05eval.ztst
diff options
context:
space:
mode:
Diffstat (limited to 'Test/B05eval.ztst')
-rw-r--r--Test/B05eval.ztst34
1 files changed, 34 insertions, 0 deletions
diff --git a/Test/B05eval.ztst b/Test/B05eval.ztst
new file mode 100644
index 000000000..6427d6f2c
--- /dev/null
+++ b/Test/B05eval.ztst
@@ -0,0 +1,34 @@
+# Tests for the eval builtin.
+# This is quite short; eval is widely tested throughout the test suite
+# and its basic behaviour is fairly straightforward.
+
+%prep
+
+  cmd='print $?'
+
+%test
+
+  false
+  eval $cmd
+0:eval retains value of $?
+>1
+
+  # no point getting worked up over what the error message is...
+  ./command_not_found 2>/dev/null
+  eval $cmd
+0:eval after command not found
+>127
+
+  # trick the test system
+  sp=
+  false
+  eval "
+  $sp
+  $sp
+  $sp
+  "
+0:eval with empty command resets the status
+
+  false
+  eval
+0:eval with empty command resets the status