mirror of
https://github.com/RGBCube/serenity
synced 2025-05-15 03:24:58 +00:00
39 lines
885 B
Bash
39 lines
885 B
Bash
#!/bin/Shell
|
|
|
|
source $(dirname "$0")/test-commons.inc
|
|
|
|
setopt --verbose
|
|
|
|
rm -rf /tmp/shell-test 2> /dev/null
|
|
mkdir -p /tmp/shell-test
|
|
pushd /tmp/shell-test
|
|
|
|
# Simple sequence (grouping)
|
|
{ echo test > testfile }
|
|
if not test "$(cat testfile)" = "test" {
|
|
fail cannot write to file in subshell
|
|
}
|
|
|
|
# Simple sequence - many commands
|
|
{ echo test1 > testfile; echo test2 > testfile }
|
|
if not test "$(cat testfile)" = "test2" {
|
|
fail cannot write to file in subshell 2
|
|
}
|
|
|
|
# Does it exit with the last exit code?
|
|
{ test -z "a" }
|
|
exitcode=$?
|
|
if not test "$exitcode" -eq 1 {
|
|
fail exits with $exitcode when it should exit with 1
|
|
}
|
|
|
|
{ test -z "a" || echo test }
|
|
exitcode=$?
|
|
if not test "$exitcode" -eq 0 {
|
|
fail exits with $exitcode when it should exit with 0
|
|
}
|
|
|
|
popd
|
|
rm -rf /tmp/shell-test
|
|
|
|
echo PASS
|