summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/asset/shell/error-exit.et18
-rw-r--r--test/script/shell.et26
2 files changed, 44 insertions, 0 deletions
diff --git a/test/asset/shell/error-exit.et b/test/asset/shell/error-exit.et
new file mode 100644
index 0000000..feddf64
--- /dev/null
+++ b/test/asset/shell/error-exit.et
@@ -0,0 +1,18 @@
+test Default:
+ node n
+ shell on n as sh:
+ false
+
+test Disabled:
+ node n
+ shell on n as sh:
+ set +e
+ false
+
+test Enabled:
+ node n
+ shell on n as sh:
+ set +e
+ false
+ set -e
+ false
diff --git a/test/script/shell.et b/test/script/shell.et
index fbf385d..e63093b 100644
--- a/test/script/shell.et
+++ b/test/script/shell.et
@@ -123,3 +123,29 @@ test ShellWorkingDirectory:
"$home"
"$home"
"/tmp"
+
+
+test ShellExitOnError:
+ spawn as p
+ with p:
+ send "load ${scripts.path}/error-exit.et"
+ local:
+ expect /(load-.*)/ capture done
+ guard (done == "load-done")
+
+ send "run Default"
+ expect /child-fail sh failed at: .*error-exit.et:4:9: false/
+ expect /run-test-result Default failed/
+ expect /run-done/
+ flush
+
+ send "run Disabled"
+ expect /run-test-result Disabled done/
+ expect /run-done/
+ flush
+
+ send "run Enabled"
+ expect /child-fail sh failed at: .*error-exit.et:18:9: false/
+ expect /run-test-result Enabled failed/
+ expect /run-done/
+ flush