diff options
Diffstat (limited to 'bin/1sh/tests/builtins/case9.0')
-rw-r--r-- | bin/1sh/tests/builtins/case9.0 | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/bin/1sh/tests/builtins/case9.0 b/bin/1sh/tests/builtins/case9.0 new file mode 100644 index 00000000..b415fb02 --- /dev/null +++ b/bin/1sh/tests/builtins/case9.0 @@ -0,0 +1,39 @@ +# $FreeBSD: releng/12.1/bin/sh/tests/builtins/case9.0 223186 2011-06-17 13:03:49Z jilles $ + +errors=0 + +f() { + result= + case $1 in + a) result=${result}a ;; + b) result=${result}b ;& + c) result=${result}c ;& + d) result=${result}d ;; + e) result=${result}e ;& + esac +} + +check() { + f "$1" + if [ "$result" != "$2" ]; then + printf "For %s, expected %s got %s\n" "$1" "$2" "$result" + errors=$((errors + 1)) + fi +} + +check '' '' +check a a +check b bcd +check c cd +check d d +check e e + +if ! (case 1 in + 1) false ;& + 2) true ;; +esac) then + echo "Subshell bad" + errors=$((errors + 1)) +fi + +exit $((errors != 0)) |