bug-cppi
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug-cppi] [PATCH 10/19] maint: update init.sh from gnulib


From: Jim Meyering
Subject: [bug-cppi] [PATCH 10/19] maint: update init.sh from gnulib
Date: Wed, 25 Jan 2012 09:22:47 +0100

From: Jim Meyering <address@hidden>

* tests/init.sh: Update from gnulib.
---
 tests/init.sh |   26 ++++++++++++++++----------
 1 files changed, 16 insertions(+), 10 deletions(-)

diff --git a/tests/init.sh b/tests/init.sh
index 6266a25..5985552 100644
--- a/tests/init.sh
+++ b/tests/init.sh
@@ -242,20 +242,20 @@ compare_dev_null_ ()

   if test "x$1" = x/dev/null; then
     test -s "$2" || return 0
-    { emit_diff_u_header_ "$@"; sed 's/^/+/' -- "$2"; } >&2
+    emit_diff_u_header_ "$@"; sed 's/^/+/' "$2"
     return 1
   fi

   if test "x$2" = x/dev/null; then
     test -s "$1" || return 0
-    { emit_diff_u_header_ "$@"; sed 's/^/-/' -- "$1"; } >&2
+    emit_diff_u_header_ "$@"; sed 's/^/-/' "$1"
     return 1
   fi

   return 2
 }

-if diff_out_=`( diff -u "$0" "$0" < /dev/null ) 2>/dev/null`; then
+if diff_out_=`exec 2>/dev/null; diff -u "$0" "$0" < /dev/null`; then
   if test -z "$diff_out_"; then
     compare_ () { diff -u "$@"; }
   else
@@ -273,7 +273,7 @@ if diff_out_=`( diff -u "$0" "$0" < /dev/null ) 
2>/dev/null`; then
       fi
     }
   fi
-elif diff_out_=`( diff -c "$0" "$0" < /dev/null ) 2>/dev/null`; then
+elif diff_out_=`exec 2>/dev/null; diff -c "$0" "$0" < /dev/null`; then
   if test -z "$diff_out_"; then
     compare_ () { diff -c "$@"; }
   else
@@ -304,11 +304,17 @@ fi
 # Otherwise, propagate $? to caller: any diffs have already been printed.
 compare ()
 {
-  compare_dev_null_ "$@"
-  case $? in
-    0|1) return $?;;
-    *) compare_ "$@";;
-  esac
+  # This looks like it can be factored to use a simple "case $?"
+  # after unchecked compare_dev_null_ invocation, but that would
+  # fail in a "set -e" environment.
+  if compare_dev_null_ "$@"; then
+    return 0
+  else
+    case $? in
+      1) return 1;;
+      *) compare_ "$@";;
+    esac
+  fi
 }

 # An arbitrary prefix to help distinguish test directories.
@@ -521,7 +527,7 @@ mktempd_ ()
   esac

   # First, try to use mktemp.
-  d=`unset TMPDIR; mktemp -d -t -p "$destdir_" "$template_" 2>/dev/null` \
+  d=`unset TMPDIR; { mktemp -d -t -p "$destdir_" "$template_"; } 2>/dev/null` \
     || fail=1

   # The resulting name must be in the specified directory.
-- 
1.7.9.rc2.2.g183d6




reply via email to

[Prev in Thread] Current Thread [Next in Thread]