From dc16dc835c8ba446136e01e994b0008ed32984fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A1draig=20Brady?=
Date: Fri, 28 Mar 2008 14:32:44 +0100 Subject: [PATCH] tests: Factor out code that's going to be reused. * tests/test-lib.sh (mkfifo_or_skip_): New function, factored out of... * tests/touch/fifo: ...here. --- tests/test-lib.sh | 12 ++++++++++++ tests/touch/fifo | 8 +------- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/tests/test-lib.sh b/tests/test-lib.sh index c494e19ff..078afca4d 100644 --- a/tests/test-lib.sh +++ b/tests/test-lib.sh @@ -120,6 +120,18 @@ skip_if_root_() { uid_is_privileged_ && skip_test_ "must be run as non-root"; } error_() { echo "$0: $@" 1>&2; (exit 1); exit 1; } framework_failure() { error_ 'failure in testing framework'; } +mkfifo_or_skip_() +{ + test $# = 1 || framework_failure + if ! mkfifo "$1"; then + # Make an exception of this case -- usually we interpret framework-creation + # failure as a test failure. However, in this case, when running on a SunOS + # system using a disk NFS mounted from OpenBSD, the above fails like this: + # mkfifo: cannot make fifo `fifo-10558': Not owner + skip_test_ 'NOTICE: unable to create test prerequisites' + fi +} + test_dir_=$(pwd) this_test_() { echo "./$0" | sed 's,.*/,,'; } diff --git a/tests/touch/fifo b/tests/touch/fifo index 00b46f5c5..5dd084065 100755 --- a/tests/touch/fifo +++ b/tests/touch/fifo @@ -23,13 +23,7 @@ fi . $srcdir/../test-lib.sh -if ! mkfifo fifo; then - # Make an exception of this case -- usually we interpret framework-creation - # failure as a test failure. However, in this case, when running on a SunOS - # system using a disk NFS mounted from OpenBSD, the above fails like this: - # mkfifo: cannot make fifo `fifo-10558': Not owner - skip_test_ 'NOTICE: unable to create test prerequisites' -fi +mkfifo_or_skip_ fifo fail=0