diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/asset/shell/error-exit.et | 18 | ||||
| -rw-r--r-- | test/script/shell.et | 26 |
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 |