diff options
Diffstat (limited to '')
-rwxr-xr-x | src/grep/tests/spencer1-locale | 23 | ||||
-rw-r--r-- | src/grep/tests/spencer1-locale.awk | 32 |
2 files changed, 55 insertions, 0 deletions
diff --git a/src/grep/tests/spencer1-locale b/src/grep/tests/spencer1-locale new file mode 100755 index 0000000..6a3d58a --- /dev/null +++ b/src/grep/tests/spencer1-locale @@ -0,0 +1,23 @@ +#! /bin/sh +# Regression test for GNU grep. +# +# Copyright (C) 1988 Henry Spencer. +# Copyright (C) 2009-2021 Free Software Foundation, Inc. +# +# Copying and distribution of this file, with or without modification, +# are permitted in any medium without royalty provided the copyright +# notice and this notice are preserved. + +. "${srcdir=.}/init.sh"; path_prepend_ ../src + +fail=0 + +# . . . and the following by Henry Spencer. + +${AWK-awk} -v extra_locale=$LOCALE_FR_UTF8 \ + -f "$abs_srcdir/spencer1-locale.awk" "$abs_srcdir/spencer1.tests" \ + > spencer1-locale.script || fail=1 + +${re_shell-${SHELL-sh}} spencer1-locale.script || fail=1 + +Exit $fail diff --git a/src/grep/tests/spencer1-locale.awk b/src/grep/tests/spencer1-locale.awk new file mode 100644 index 0000000..36a2c5b --- /dev/null +++ b/src/grep/tests/spencer1-locale.awk @@ -0,0 +1,32 @@ +# Copyright (C) 1988 Henry Spencer. +# Copyright (C) 2009-2021 Free Software Foundation, Inc. +# +# Copying and distribution of this file, with or without modification, +# are permitted in any medium without royalty provided the copyright +# notice and this notice are preserved. + +BEGIN { + FS = "@"; + printf ("failures=0\n"); +} + +$0 !~ /^#/ && NF == 3 { + test("en_US.UTF-8") + test("ru_RU.KOI8-R") + test("fr_FR.ISO-8859-1") + test("zh_CN") + if (extra_locale != "") { + test(extra_locale) + } +} + +function test(locale) +{ + printf ("status=$(echo '%s'| { LC_ALL=%s grep -E -e '%s' >/dev/null 2>&1 ; echo $?; })\n",$3, locale, $2); + printf ("if test $status -ne %s ; then\n", $1); + printf ("\techo Spencer test \\#%d failed \\(%s\\)\n", ++n, locale); + printf ("\tfailures=1\n"); + printf ("fi\n"); +} + +END { printf ("exit $failures\n"); } |