From 1ef60a1566e6c2df610bf29bd2c2994d58dd1e89 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Tue, 23 Nov 2021 18:28:10 -0800 Subject: [PATCH] tests: skip surrogate-search test on Cygwin Cygwin does not support surrogate-pair search strings, so skip the test there (Bug#27555). * tests/Makefile.am (TESTS): Add surrogate-search. * tests/surrogate-pair: Remove surrogate-search test, which is now done by surrogate-search. * tests/surrogate-search: New test, which is skipped on Cygwin. --- tests/Makefile.am | 1 + tests/surrogate-pair | 6 ------ tests/surrogate-search | 42 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 43 insertions(+), 6 deletions(-) create mode 100755 tests/surrogate-search diff --git a/tests/Makefile.am b/tests/Makefile.am index c84cdc0..92f194f 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -161,6 +161,7 @@ TESTS = \ stack-overflow \ status \ surrogate-pair \ + surrogate-search \ symlink \ triple-backref \ turkish-I \ diff --git a/tests/surrogate-pair b/tests/surrogate-pair index a91fa36..c1cbaba 100755 --- a/tests/surrogate-pair +++ b/tests/surrogate-pair @@ -51,10 +51,4 @@ case $io_pair in *) 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 - compare out in || fail=1 -done - Exit $fail diff --git a/tests/surrogate-search b/tests/surrogate-search new file mode 100755 index 0000000..2679c3c --- /dev/null +++ b/tests/surrogate-search @@ -0,0 +1,42 @@ +#!/bin/sh +# Check characters outside the Unicode BMP in the search string. + +# Copyright 2021 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 +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +. "${srcdir=.}/init.sh"; path_prepend_ ../src + +require_en_utf8_locale_ +require_compiled_in_MB_support + +case $(uname -s) in + CYGWIN*) + skip_ 'surrogate-pair search string on Cygwin, where it cannot work';; +esac + +fail=0 + +s_pair=$(printf '\360\220\220\205') +printf '%s\n' "$s_pair" > in || framework_failure_ + +LC_ALL=en_US.UTF-8 +export LC_ALL + +for opt in '' -i -E -F -iE -iF; do + grep --file=in $opt in > out 2>&1 || fail=1 + compare out in || fail=1 +done + +Exit $fail -- 2.33.1