From 7a3000699c33eb39af71e70e92783c6774a1e882 Mon Sep 17 00:00:00 2001 From: Jilles Tjoelker Date: Sat, 15 Jun 2013 22:22:03 +0000 Subject: [PATCH] sh: Add tests for 'local -' (save shell options). --- tools/regression/bin/sh/builtins/local2.0 | 17 +++++++++++++++ tools/regression/bin/sh/builtins/local3.0 | 26 +++++++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 tools/regression/bin/sh/builtins/local2.0 create mode 100644 tools/regression/bin/sh/builtins/local3.0 diff --git a/tools/regression/bin/sh/builtins/local2.0 b/tools/regression/bin/sh/builtins/local2.0 new file mode 100644 index 000000000000..cc8c10f40618 --- /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 000000000000..39ee370099e7 --- /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