123456789101112131415161718192021222324252627282930313233343536373839 |
- #!/bin/sh
- 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
|