diff options
Diffstat (limited to 'Userland/Shell/Tests/subshell.sh')
-rw-r--r-- | Userland/Shell/Tests/subshell.sh | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/Userland/Shell/Tests/subshell.sh b/Userland/Shell/Tests/subshell.sh new file mode 100644 index 0000000000..ac8331a7de --- /dev/null +++ b/Userland/Shell/Tests/subshell.sh @@ -0,0 +1,28 @@ +#/bin/sh + +setopt --verbose + +rm -rf shell-test +mkdir shell-test +cd shell-test + + # Simple sequence (grouping) + { echo test > testfile } + test "$(cat testfile)" = "test" || echo cannot write to file in subshell && exit 1 + + # Simple sequence - many commands + { echo test1 > testfile; echo test2 > testfile } + test "$(cat testfile)" = "test2" || echo cannot write to file in subshell 2 && exit 1 + + + # Does it exit with the last exit code? + { test -z "a" } + exitcode=$? + test "$exitcode" -eq 1 || echo exits with $exitcode when it should exit with 1 && exit 1 + + { test -z "a" || echo test } + exitcode=$? + test "$exitcode" -eq 0 || echo exits with $exitcode when it should exit with 0 && exit 1 + +cd .. +rm -rf shell-test |