diff options
author | jilles <jilles@FreeBSD.org> | 2013-06-15 22:22:03 +0000 |
---|---|---|
committer | jilles <jilles@FreeBSD.org> | 2013-06-15 22:22:03 +0000 |
commit | b624da1ad8fc3bb5c93a17586be04517f0e427a6 (patch) | |
tree | 692c715263907572754c229742263753675a7eac | |
parent | 4ea862e26e350153cca8c335600598f96a5eb125 (diff) | |
download | FreeBSD-src-b624da1ad8fc3bb5c93a17586be04517f0e427a6.zip FreeBSD-src-b624da1ad8fc3bb5c93a17586be04517f0e427a6.tar.gz |
sh: Add tests for 'local -' (save shell options).
-rw-r--r-- | tools/regression/bin/sh/builtins/local2.0 | 17 | ||||
-rw-r--r-- | tools/regression/bin/sh/builtins/local3.0 | 26 |
2 files changed, 43 insertions, 0 deletions
diff --git a/tools/regression/bin/sh/builtins/local2.0 b/tools/regression/bin/sh/builtins/local2.0 new file mode 100644 index 0000000..cc8c10f --- /dev/null +++ b/tools/regression/bin/sh/builtins/local2.0 @@ -0,0 +1,17 @@ +# $FreeBSD$ + +f() { + local - + set -a + case $- in + *a*) : ;; + *) echo In-function \$- bad + esac +} +case $- in +*a*) echo Initial \$- bad +esac +f +case $- in +*a*) echo Final \$- bad +esac diff --git a/tools/regression/bin/sh/builtins/local3.0 b/tools/regression/bin/sh/builtins/local3.0 new file mode 100644 index 0000000..39ee370 --- /dev/null +++ b/tools/regression/bin/sh/builtins/local3.0 @@ -0,0 +1,26 @@ +# $FreeBSD$ + +f() { + local "$@" + set -a + x=7 + case $- in + *a*) : ;; + *) echo In-function \$- bad + esac + [ "$x" = 7 ] || echo In-function \$x bad +} +x=1 +case $- in +*a*) echo Initial \$- bad +esac +f x - +case $- in +*a*) echo Intermediate \$- bad +esac +[ "$x" = 1 ] || echo Intermediate \$x bad +f - x +case $- in +*a*) echo Final \$- bad +esac +[ "$x" = 1 ] || echo Final \$x bad |