grep-commit
[Top][All Lists]
Advanced

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

grep branch, master, updated. v3.4-almost-46-gb2228db


From: Jim Meyering
Subject: grep branch, master, updated. v3.4-almost-46-gb2228db
Date: Thu, 24 Sep 2020 23:39:25 -0400 (EDT)

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "grep".

The branch, master has been updated
       via  b2228dbc8fea1f2adb7cd7cb36cccadeeb55392f (commit)
      from  8577dda638ebfee2b77342a4d07252745ec42a3a (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://git.savannah.gnu.org/cgit/grep.git/commit/?id=b2228dbc8fea1f2adb7cd7cb36cccadeeb55392f


commit b2228dbc8fea1f2adb7cd7cb36cccadeeb55392f
Author: Jim Meyering <meyering@fb.com>
Date:   Thu Sep 24 20:14:26 2020 -0700

    tests: fix surrogate-pair test to work on 16-bit wchar_t systems
    
    * tests/surrogate-pair: Avoid new failure on systems with
    16-bit wchar_t.  Detect the condition and exit before the
    otherwise-failing tests.  Remove the now-incorrect in-loop
    test for that alternate failure mode.  This was exposed by
    testing on gcc119.fsffrance.org, a power8 AIX 7.2 system.

diff --git a/tests/surrogate-pair b/tests/surrogate-pair
index 7066cf4..78a23fb 100755
--- a/tests/surrogate-pair
+++ b/tests/surrogate-pair
@@ -23,7 +23,8 @@ require_compiled_in_MB_support
 
 fail=0
 
-printf '\360\220\220\205\n' > in || framework_failure_
+s_pair=$(printf '\360\220\220\205')
+printf '%s\n' "$s_pair" > in || framework_failure_
 
 LC_ALL=en_US.UTF-8
 export LC_ALL
@@ -34,13 +35,26 @@ returns_ 1 grep -i anything-else in > out 2>&1 || fail=1
 # Expect no output.
 compare /dev/null out || fail=1
 
+# This must always match, even on a 16-bit-wchar_t system.
+grep . in > out 2> err || fail=1
+
+# On platforms where wchar_t is only 16 bits, wchar_t cannot represent
+# the character encoded in 'in'.
+
+# On such old systems the above prints nothing on stdout and a diagnostic
+# on stderr.  In that case, return early; otherwise, the following tests
+# would all fail.
+io_pair=$(cat out):$(cat err)
+case $io_pair in
+  :'grep: in: binary file matches') Exit $fail;;
+  $s_pair:) ;;
+  *) fail_ "unexpected output: $io_pair"; fail=1;;
+esac
+
 # Also test whether a surrogate-pair in the search string works.
 for opt in '' -i -E -F -iE -iF; do
   grep --file=in $opt in > out 2>&1 || fail=1
-
-  # On platforms where wchar_t is only 16 bits, wchar_t cannot represent
-  # the character encoded in 'in', so accept that behavior too.
-  compare out in || compare /dev/null out || fail=1
+  compare out in || fail=1
 done
 
 Exit $fail

-----------------------------------------------------------------------

Summary of changes:
 tests/surrogate-pair | 24 +++++++++++++++++++-----
 1 file changed, 19 insertions(+), 5 deletions(-)


hooks/post-receive
-- 
grep



reply via email to

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