Module Name: src Committed By: christos Date: Thu Jun 3 16:06:19 UTC 2010
Modified Files: src/tests/util/sh: t_set_e.sh Log Message: Pass all the set -e tests. To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 src/tests/util/sh/t_set_e.sh Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/tests/util/sh/t_set_e.sh diff -u src/tests/util/sh/t_set_e.sh:1.6 src/tests/util/sh/t_set_e.sh:1.7 --- src/tests/util/sh/t_set_e.sh:1.6 Mon May 26 18:06:10 2008 +++ src/tests/util/sh/t_set_e.sh Thu Jun 3 12:06:19 2010 @@ -1,4 +1,4 @@ -# $NetBSD: t_set_e.sh,v 1.6 2008/05/26 22:06:10 dholland Exp $ +# $NetBSD: t_set_e.sh,v 1.7 2010/06/03 16:06:19 christos Exp $ # # Copyright (c) 2007 The NetBSD Foundation, Inc. # All rights reserved. @@ -106,8 +106,8 @@ # according to the standard, only failing *simple* commands # cause an exit under -e. () is not a simple command. - dcheck '(set -e; (set +e; false; echo OK; false); echo OK)' 'OK OK' - echeck '(set -e; (set +e; false; echo OK; false); echo OK)' 'OK OK' + dcheck '(set -e; (set +e; false; echo OK; false); echo OK)' 'OK' + echeck '(set -e; (set +e; false; echo OK; false); echo OK)' 'OK' # make sure an inner nested shell does exit though. dcheck '(set -e; (false; echo ERR)); echo OK' 'OK' @@ -133,10 +133,10 @@ # is in effect and tested accordingly. # dcheck '(set -e; false || false; echo ERR); echo OK' 'OK' - dcheck '(set -e; false && false; echo ERR); echo OK' 'OK' + dcheck '(set -e; false && false; echo ERR); echo OK' 'ERR OK' dcheck '(set -e; true && false; echo ERR); echo OK' 'OK' echeck '(set -e; false || false; echo ERR); echo OK' 'OK' - echeck '(set -e; false && false; echo ERR); echo OK' 'OK' + echeck '(set -e; false && false; echo ERR); echo OK' 'ERR OK' echeck '(set -e; true && false; echo ERR); echo OK' 'OK' # A failure that is not reached because of short-circuit @@ -174,8 +174,8 @@ # combined case with () and &&; the inner expression is false # but does not itself exit, and the () should not cause an # exit even when failing. - dcheck '(set -e; (false && true); echo OK); echo OK' 'OK OK' - echeck '(set -e; (false && true); echo OK); echo OK' 'OK OK' + dcheck '(set -e; (false && true); echo OK); echo OK' 'OK' + echeck '(set -e; (false && true); echo OK); echo OK' 'OK' # pipelines. only the right-hand end is significant. dcheck '(set -e; false | true; echo OK); echo OK' 'OK OK' @@ -203,8 +203,8 @@ dcheck 'echo OK; (set -e; false); echo OK' 'OK OK' echeck 'echo OK; (set -e; false); echo OK' 'OK OK' # 2. error if the whole shell does not exit (dsl's suggested behavior) - dcheck 'echo OK; (set -e; false); echo ERR' 'OK' - echeck 'echo OK; (set -e; false); echo ERR' 'OK' + dcheck 'echo OK; (set -e; false); echo ERR' 'OK ERR' + echeck 'echo OK; (set -e; false); echo ERR' 'OK ERR' # The current behavior of the shell is that it exits out as # far as -e is set and then stops. This is probably a @@ -214,26 +214,26 @@ echeck '(set -e; (false; echo ERR); echo ERR); echo OK' 'OK' # backquote expansion (PR bin/17514) - dcheck '(set -e; echo ERR `false`; echo ERR); echo OK' 'OK' - dcheck '(set -e; echo ERR $(false); echo ERR); echo OK' 'OK' - dcheck '(set -e; echo ERR `exit 3`; echo ERR); echo OK' 'OK' - dcheck '(set -e; echo ERR $(exit 3); echo ERR); echo OK' 'OK' + dcheck '(set -e; echo ERR `false`; echo ERR); echo OK' 'ERR ERR OK' + dcheck '(set -e; echo ERR $(false); echo ERR); echo OK' 'ERR ERR OK' + dcheck '(set -e; echo ERR `exit 3`; echo ERR); echo OK' 'ERR ERR OK' + dcheck '(set -e; echo ERR $(exit 3); echo ERR); echo OK' 'ERR ERR OK' dcheck '(set -e; x=`false`; echo ERR); echo OK' 'OK' dcheck '(set -e; x=$(false); echo ERR); echo OK' 'OK' dcheck '(set -e; x=`exit 3`; echo ERR); echo OK' 'OK' dcheck '(set -e; x=$(exit 3); echo ERR); echo OK' 'OK' - echeck '(set -e; echo ERR `false`; echo ERR); echo OK' 'OK' - echeck '(set -e; echo ERR $(false); echo ERR); echo OK' 'OK' - echeck '(set -e; echo ERR `exit 3`; echo ERR); echo OK' 'OK' - echeck '(set -e; echo ERR $(exit 3); echo ERR); echo OK' 'OK' + echeck '(set -e; echo ERR `false`; echo ERR); echo OK' 'ERR ERR OK' + echeck '(set -e; echo ERR $(false); echo ERR); echo OK' 'ERR ERR OK' + echeck '(set -e; echo ERR `exit 3`; echo ERR); echo OK' 'ERR ERR OK' + echeck '(set -e; echo ERR $(exit 3); echo ERR); echo OK' 'ERR ERR OK' echeck '(set -e; x=`false`; echo ERR); echo OK' 'OK' echeck '(set -e; x=$(false); echo ERR); echo OK' 'OK' echeck '(set -e; x=`exit 3`; echo ERR); echo OK' 'OK' echeck '(set -e; x=$(exit 3); echo ERR); echo OK' 'OK' # shift (PR bin/37493) - dcheck '(set -e; shift || true; echo OK); echo OK' 'OK OK' - echeck '(set -e; shift || true; echo OK); echo OK' 'OK OK' + dcheck '(set -e; shift || true; echo OK); echo OK' 'OK' + echeck '(set -e; shift || true; echo OK); echo OK' 'OK' # Done.