diff options
Diffstat (limited to 'contrib/netbsd-tests/bin/sh/t_ulimit.sh')
-rwxr-xr-x | contrib/netbsd-tests/bin/sh/t_ulimit.sh | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/contrib/netbsd-tests/bin/sh/t_ulimit.sh b/contrib/netbsd-tests/bin/sh/t_ulimit.sh index 3e7c0a6..094a2ee 100755 --- a/contrib/netbsd-tests/bin/sh/t_ulimit.sh +++ b/contrib/netbsd-tests/bin/sh/t_ulimit.sh @@ -1,4 +1,4 @@ -# $NetBSD: t_ulimit.sh,v 1.1 2012/06/11 18:32:59 njoly Exp $ +# $NetBSD: t_ulimit.sh,v 1.3 2016/03/27 14:50:01 christos Exp $ # # Copyright (c) 2012 The NetBSD Foundation, Inc. # All rights reserved. @@ -24,6 +24,8 @@ # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # +# the implementation of "sh" to test +: ${TEST_SH:="/bin/sh"} # ulimit builtin test. @@ -31,13 +33,22 @@ atf_test_case limits limits_head() { atf_set "descr" "Checks for limits flags" } + +get_ulimits() { + local limits=$(${TEST_SH} -c 'ulimit -a' | + sed -e 's/.*\(-[A-Za-z0-9]\)[^A-Za-z0-9].*/\1/' | sort -u) + if [ -z "$limits" ]; then + # grr ksh + limits="-a -b -c -d -f -l -m -n -p -r -s -t -v" + fi + echo "$limits" +} + limits_body() { - atf_check -s eq:0 -o ignore -e empty \ - /bin/sh -c "ulimit -a" - for l in $(ulimit -a | sed 's,^.*(,,;s, .*$,,'); + atf_check -s eq:0 -o ignore -e empty ${TEST_SH} -c "ulimit -a" + for l in $(get_ulimits) do - atf_check -s eq:0 -o ignore -e empty \ - /bin/sh -c "ulimit $l" + atf_check -s eq:0 -o ignore -e empty ${TEST_SH} -c "ulimit $l" done } |