From 6696eac274b5dcf5932b211fe9ee748d8268a39c Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Sun, 14 Nov 2010 02:01:50 +0100 Subject: hush: add support for "set -o pipefail" function old new delta checkjobs 467 517 +50 builtin_set 259 286 +27 o_opt_strings - 10 +10 hush_main 1011 1013 +2 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 3/0 up/down: 89/0) Total: 89 bytes Signed-off-by: Denys Vlasenko --- shell/hush_test/hush-misc/pipefail.right | 40 ++++++++++++++++++++++++++++ shell/hush_test/hush-misc/pipefail.tests | 45 ++++++++++++++++++++++++++++++++ 2 files changed, 85 insertions(+) create mode 100644 shell/hush_test/hush-misc/pipefail.right create mode 100755 shell/hush_test/hush-misc/pipefail.tests (limited to 'shell/hush_test') diff --git a/shell/hush_test/hush-misc/pipefail.right b/shell/hush_test/hush-misc/pipefail.right new file mode 100644 index 0000000..5845d89 --- /dev/null +++ b/shell/hush_test/hush-misc/pipefail.right @@ -0,0 +1,40 @@ +Default: +true | true: +0 +1 +true | false: +1 +0 +false | true: +0 +1 +exit 2 | exit 3 | exit 4: +4 +0 +Pipefail on: +true | true: +0 +1 +true | false: +1 +0 +false | true: +1 +0 +exit 2 | exit 3 | exit 4: +4 +0 +Pipefail off: +true | true: +0 +1 +true | false: +1 +0 +false | true: +0 +1 +exit 2 | exit 3 | exit 4: +4 +0 +Done diff --git a/shell/hush_test/hush-misc/pipefail.tests b/shell/hush_test/hush-misc/pipefail.tests new file mode 100755 index 0000000..9df8418 --- /dev/null +++ b/shell/hush_test/hush-misc/pipefail.tests @@ -0,0 +1,45 @@ +echo Default: +echo "true | true:" + true | true; echo $? +! true | true; echo $? +echo "true | false:" + true | false; echo $? +! true | false; echo $? +echo "false | true:" + false | true; echo $? +! false | true; echo $? +echo "exit 2 | exit 3 | exit 4:" + exit 2 | exit 3 | exit 4; echo $? +! exit 2 | exit 3 | exit 4; echo $? + +echo Pipefail on: +set -o pipefail +echo "true | true:" + true | true; echo $? +! true | true; echo $? +echo "true | false:" + true | false; echo $? +! true | false; echo $? +echo "false | true:" + false | true; echo $? +! false | true; echo $? +echo "exit 2 | exit 3 | exit 4:" + exit 2 | exit 3 | exit 4; echo $? +! exit 2 | exit 3 | exit 4; echo $? + +echo Pipefail off: +set +o pipefail +echo "true | true:" + true | true; echo $? +! true | true; echo $? +echo "true | false:" + true | false; echo $? +! true | false; echo $? +echo "false | true:" + false | true; echo $? +! false | true; echo $? +echo "exit 2 | exit 3 | exit 4:" + exit 2 | exit 3 | exit 4; echo $? +! exit 2 | exit 3 | exit 4; echo $? + +echo Done -- cgit v1.1