summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2010-11-26 19:35:20 -0800
committerPaul Eggert <eggert@cs.ucla.edu>2010-11-26 19:36:05 -0800
commita7fc5ecead36cb503ee98516d1be206b104d0e32 (patch)
treec4e4e6dc88603f3dd50b1948752aeb3c6826fa6e
parent649b747913d2b289e904b5f1d222af886acd209c (diff)
downloadtar-a7fc5ecead36cb503ee98516d1be206b104d0e32.tar.gz
tests: skip SIGPIPE-dependent tests in environments ignoring SIGPIPE
Problem reported by Sven Joachim in <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00043.html>. * tests/remfiles01.at: Use AT_SIGPIPE_PREREQ. * tests/sigpipe.at: Likewise. * tests/testsuite.at (AT_SIGPIPE_PREREQ): New macro.
-rw-r--r--tests/remfiles01.at1
-rw-r--r--tests/sigpipe.at2
-rw-r--r--tests/testsuite.at10
3 files changed, 12 insertions, 1 deletions
diff --git a/tests/remfiles01.at b/tests/remfiles01.at
index 6212efbd..1fb0fadc 100644
--- a/tests/remfiles01.at
+++ b/tests/remfiles01.at
@@ -32,6 +32,7 @@ unset TAR_OPTIONS
AT_CHECK([
AT_UNPRIVILEGED_PREREQ
AT_GZIP_PREREQ
+AT_SIGPIPE_PREREQ
AT_SORT_PREREQ
mkdir dir
diff --git a/tests/sigpipe.at b/tests/sigpipe.at
index 4a3282b4..dff94f6c 100644
--- a/tests/sigpipe.at
+++ b/tests/sigpipe.at
@@ -26,6 +26,8 @@ AT_KEYWORDS([sigpipe])
# <20100319184141.GC30047@wo.int.altlinux.org>
AT_CHECK([
+AT_SIGPIPE_PREREQ
+
genfile --length 2048 --file first
genfile --length 2048 --file second
genfile --length 2049 --file third
diff --git a/tests/testsuite.at b/tests/testsuite.at
index e8df868c..55b84475 100644
--- a/tests/testsuite.at
+++ b/tests/testsuite.at
@@ -1,7 +1,8 @@
# Process this file with autom4te to create testsuite. -*- Autotest -*-
# Test suite for GNU tar.
-# Copyright (C) 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# Copyright (C) 2004, 2005, 2006, 2007, 2008, 2010 Free Software
+# Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -80,6 +81,13 @@ m4_define([AT_GZIP_PREREQ],[
cat /dev/null | m4_if([$1],[],gzip,[$1]) - > /dev/null 2>&1 || AT_SKIP_TEST
])
+dnl AT_SIGPIPE_PREREQ - Skip test unless SIGPIPE handling is the default
+m4_define([AT_SIGPIPE_PREREQ],[
+case `(cat "$at_myself" 2>&3 | :) 3>&1 >/dev/null` in #(
+?*) AT_SKIP_TEST;;
+esac
+])
+
dnl AT_SORT_PREREQ - Skip test if sort utility outputs unwanted data on stderr
m4_define([AT_SORT_PREREQ],[
test -z "`sort < /dev/null 2>&1`" || AT_SKIP_TEST