diff options
| author | Jilles Tjoelker <jilles@FreeBSD.org> | 2011-06-17 13:03:49 +0000 |
|---|---|---|
| committer | Jilles Tjoelker <jilles@FreeBSD.org> | 2011-06-17 13:03:49 +0000 |
| commit | c9afaa63894e043a44b7cce8f145af2d8a2983c2 (patch) | |
| tree | d74a77976194c0d5d68bbf18c002a166b97300a5 /tools | |
| parent | ce97208218f9ba4de7c5b5ccd6f30afbf73f06e7 (diff) | |
Notes
Diffstat (limited to 'tools')
| -rw-r--r-- | tools/regression/bin/sh/builtins/case9.0 | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/tools/regression/bin/sh/builtins/case9.0 b/tools/regression/bin/sh/builtins/case9.0 new file mode 100644 index 000000000000..476caec261ba --- /dev/null +++ b/tools/regression/bin/sh/builtins/case9.0 @@ -0,0 +1,39 @@ +# $FreeBSD$ + +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)) |
