Package: grep;
Reported by: Assaf Gordon <assafgordon <at> gmail.com>
Date: Wed, 29 Oct 2014 20:53:02 UTC
Severity: normal
Done: Jim Meyering <jim <at> meyering.net>
Bug is archived. No further changes may be made.
Message #14 received at 18892 <at> debbugs.gnu.org (full text, mbox):
From: Jim Meyering <jim <at> meyering.net> To: Bruce Dubbs <bruce.dubbs <at> gmail.com>, Assaf Gordon <agordon <at> wi.mit.edu> Cc: 18892 <at> debbugs.gnu.org Subject: Re: bug#18892: few test failure with 'grep-2.20.72-d512' Date: Thu, 30 Oct 2014 12:07:36 -0700
For the record, you may want to run something like this to survey whether \w matches E-acute across all installed zh_CN locales: (here's output from an os x 10.9.5 system -- on debian unstable and fedora rawhide, they're all "0"s) $ for i in $(locale -a|grep -i cn); do printf '\303\251'|LC_ALL=$i src/grep -q '\w'; echo $?: $i;done 0: zh_CN 1: zh_CN.eucCN 1: zh_CN.GB18030 1: zh_CN.GB2312 1: zh_CN.GBK 0: zh_CN.UTF-8 On Thu, Oct 30, 2014 at 11:55 AM, Jim Meyering <jim <at> meyering.net> wrote: > Thank you both for all the testing and prompt feedback! > I've looked into the failures of the brand new word-multibyte test, > and am hoping the attached will fix it by requiring use of > the zh_CN.UTF-8 locale, rather than letting the system > choose a locale matching "zh_CN". Does this patch solve > the problem for that test? > > On Wed, Oct 29, 2014 at 2:56 PM, Bruce Dubbs <bruce.dubbs <at> gmail.com> wrote: >> Assaf Gordon wrote: >>> >>> Hello, >>> >>> On 10/29/2014 02:29 PM, Jim Meyering wrote: >>>> >>>> Thanks to many fixes and improvements by Paul Eggert and Norihiro Tanaka, >>>> here is a pre-release snapshot: >>>> >>>> grep snapshot: >>>> http://meyering.net/grep/grep-ss.tar.xz 1.2 MB >>>> http://meyering.net/grep/grep-ss.tar.xz.sig >>>> http://meyering.net/grep/grep-2.20.72-d512.tar.xz >>>> >>> >>> On Debian 7.6 (amd64, gcc 4.7.2) and Ubuntu 14.04.1 (amd64, gcc 4.8.2), >>> these fail: >>> XFAIL: triple-backref >>> FAIL: word-multibyte >>> Attached is the debian76.test-suite.log from Debian (Ubuntu seemed >>> identical). >> >> >> Linux From Scratch 7.6 >> >> configure and make were clean. >> >> $ env RUN_EXPENSIVE_TESTS=yes make -k check >> >> big-match: skipped test: not enough main memory to run the test >> sjis-mb: skipped test: SJIS locale not found >> >> I do have 8G of memory. >> >> XFAIL: triple-backref >> >> SKIP: test-vc-list-files-cvs.sh (cvs not present) >> SKIP: test-wcrtomb-w32-1.sh (windows only?) >> SKIP: test-wcrtomb-w32-2.sh >> SKIP: test-wcrtomb-w32-3.sh >> SKIP: test-wcrtomb-w32-4.sh >> SKIP: test-wcrtomb-w32-5.sh >> FAIL: word-multibyte >> >> Looking at below, the FAIL may be because I have the locale zh_CN.gb18030, >> but not a plain zh_CN locale. >> >> And confirming after installing a plain zh_CN locale, word-multibyte passes. >> >> -- Bruce >> >> ==================== >> >> ++ initial_cwd_=/usr/src/grep/grep-2.20.72-d512/tests >> ++ fail=0 >> +++ testdir_prefix_ >> +++ printf gt >> ++ pfx_=gt >> +++ mktempd_ /usr/src/grep/grep-2.20.72-d512/tests gt-word-multibyte.XXXX >> +++ case $# in >> +++ destdir_=/usr/src/grep/grep-2.20.72-d512/tests >> +++ template_=gt-word-multibyte.XXXX >> +++ MAX_TRIES_=4 >> +++ case $destdir_ in >> +++ case $template_ in >> ++++ unset TMPDIR >> +++ d=/usr/src/grep/grep-2.20.72-d512/tests/gt-word-multibyte.LTZ7 >> +++ case $d in >> +++ test -d /usr/src/grep/grep-2.20.72-d512/tests/gt-word-multibyte.LTZ7 >> ++++ ls -dgo /usr/src/grep/grep-2.20.72-d512/tests/gt-word-multibyte.LTZ7 >> ++++ tr S - >> +++ perms='drwx------ 2 4096 Oct 29 16:24 >> /usr/src/grep/grep-2.20.72-d512/tests/gt-word-multibyte.LTZ7' >> +++ case $perms in >> +++ test 0 = 0 >> +++ echo /usr/src/grep/grep-2.20.72-d512/tests/gt-word-multibyte.LTZ7 >> +++ return >> ++ test_dir_=/usr/src/grep/grep-2.20.72-d512/tests/gt-word-multibyte.LTZ7 >> ++ cd /usr/src/grep/grep-2.20.72-d512/tests/gt-word-multibyte.LTZ7 >> ++ gl_init_sh_nl_=' >> ' >> ++ IFS=' >> ' >> ++ for sig_ in 1 2 3 13 15 >> +++ expr 1 + 128 >> ++ eval 'trap '\''Exit 129'\'' 1' >> +++ trap 'Exit 129' 1 >> ++ for sig_ in 1 2 3 13 15 >> +++ expr 2 + 128 >> ++ eval 'trap '\''Exit 130'\'' 2' >> +++ trap 'Exit 130' 2 >> ++ for sig_ in 1 2 3 13 15 >> +++ expr 3 + 128 >> ++ eval 'trap '\''Exit 131'\'' 3' >> +++ trap 'Exit 131' 3 >> ++ for sig_ in 1 2 3 13 15 >> +++ expr 13 + 128 >> ++ eval 'trap '\''Exit 141'\'' 13' >> +++ trap 'Exit 141' 13 >> ++ for sig_ in 1 2 3 13 15 >> +++ expr 15 + 128 >> ++ eval 'trap '\''Exit 143'\'' 15' >> +++ trap 'Exit 143' 15 >> ++ trap remove_tmp_ 0 >> + path_prepend_ ../src >> + test 1 '!=' 0 >> + path_dir_=../src >> + case $path_dir_ in >> + abs_path_dir_=/usr/src/grep/grep-2.20.72-d512/tests/../src >> + case $abs_path_dir_ in >> + >> PATH=/usr/src/grep/grep-2.20.72-d512/tests/../src:/usr/src/grep/grep-2.20.72-d512/src:/usr/local/bin:/bin:/usr/bin:/opt/texlive/2014/bin/x86_64-linux:/opt/fop:/opt/libreoffice-4.3.2.2/bin:/opt/OpenJDK-1.7.0.65-bin/bin:/opt/ant/bin:/opt/kde/bin:/opt/qt4/bin:/opt/qt5/bin:/opt/xorg/bin:/home/bdubbs/bin:/sbin:/usr/sbin >> + create_exe_shims_ /usr/src/grep/grep-2.20.72-d512/tests/../src >> + case $EXEEXT in >> + return 0 >> + shift >> + test 0 '!=' 0 >> + export PATH >> + require_en_utf8_locale_ >> + path_prepend_ . >> + test 1 '!=' 0 >> + path_dir_=. >> + case $path_dir_ in >> + abs_path_dir_=/usr/src/grep/grep-2.20.72-d512/tests/. >> + case $abs_path_dir_ in >> + >> PATH=/usr/src/grep/grep-2.20.72-d512/tests/.:/usr/src/grep/grep-2.20.72-d512/tests/../src:/usr/src/grep/grep-2.20.72-d512/src:/usr/local/bin:/bin:/usr/bin:/opt/texlive/2014/bin/x86_64-linux:/opt/fop:/opt/libreoffice-4.3.2.2/bin:/opt/OpenJDK-1.7.0.65-bin/bin:/opt/ant/bin:/opt/kde/bin:/opt/qt4/bin:/opt/qt5/bin:/opt/xorg/bin:/home/bdubbs/bin:/sbin:/usr/sbin >> + create_exe_shims_ /usr/src/grep/grep-2.20.72-d512/tests/. >> + case $EXEEXT in >> + return 0 >> + shift >> + test 0 '!=' 0 >> + export PATH >> + case $(get-mb-cur-max en_US.UTF-8) in >> ++ get-mb-cur-max en_US.UTF-8 >> + printf '\xc3\xa1\n' >> + LC_ALL=en_US.UTF-8 >> + export LC_ALL >> + fail=0 >> + for LOC in en_US.UTF-8 zh_CN '$LOCALE_FR_UTF8' >> + out=out1-en_US.UTF-8 >> + LC_ALL=en_US.UTF-8 >> + grep '\w' in >> + compare in out1-en_US.UTF-8 >> + compare_dev_null_ in out1-en_US.UTF-8 >> + test 2 = 2 >> + test xin = x/dev/null >> + test xout1-en_US.UTF-8 = x/dev/null >> + return 2 >> + case $? in >> + compare_ in out1-en_US.UTF-8 >> + diff -u in out1-en_US.UTF-8 >> + out=out2-en_US.UTF-8 >> + LC_ALL=en_US.UTF-8 >> + grep '\W' in >> + compare /dev/null out2-en_US.UTF-8 >> + compare_dev_null_ /dev/null out2-en_US.UTF-8 >> + test 2 = 2 >> + test x/dev/null = x/dev/null >> + test -s out2-en_US.UTF-8 >> + return 0 >> + return 0 >> + for LOC in en_US.UTF-8 zh_CN '$LOCALE_FR_UTF8' >> + out=out1-zh_CN >> + LC_ALL=zh_CN >> + grep '\w' in >> + fail=1 >> + compare in out1-zh_CN >> + compare_dev_null_ in out1-zh_CN >> + test 2 = 2 >> + test xin = x/dev/null >> + test xout1-zh_CN = x/dev/null >> + return 2 >> + case $? in >> + compare_ in out1-zh_CN >> diff -u in out1-zh_CN >> --- in 2014-10-29 16:24:46.775542037 -0500 >> +++ out1-zh_CN 2014-10-29 16:24:46.783541998 -0500 >> @@ -1 +0,0 @@ >> -á >> + fail=1 >> + out=out2-zh_CN >> + LC_ALL=zh_CN >> + grep '\W' in >> + fail=1 >> + compare /dev/null out2-zh_CN >> + compare_dev_null_ /dev/null out2-zh_CN >> + test 2 = 2 >> + test x/dev/null = x/dev/null >> + test -s out2-zh_CN >> + emit_diff_u_header_ /dev/null out2-zh_CN >> + printf '%s\n' 'diff -u /dev/null out2-zh_CN' '--- /dev/null 1970-01-01' >> '+++ out2-zh_CN 1970-01-01' >> diff -u /dev/null out2-zh_CN >> --- /dev/null 1970-01-01 >> +++ out2-zh_CN 1970-01-01 >> + sed 's/^/+/' out2-zh_CN >> +á >> + return 1 >> + case $? in >> + return 1 >> + fail=1 >> + for LOC in en_US.UTF-8 zh_CN '$LOCALE_FR_UTF8' >> + out=out1-fr_FR.UTF-8 >> + LC_ALL=fr_FR.UTF-8 >> + grep '\w' in >> + compare in out1-fr_FR.UTF-8 >> + compare_dev_null_ in out1-fr_FR.UTF-8 >> + test 2 = 2 >> + test xin = x/dev/null >> + test xout1-fr_FR.UTF-8 = x/dev/null >> + return 2 >> + case $? in >> + compare_ in out1-fr_FR.UTF-8 >> + diff -u in out1-fr_FR.UTF-8 >> + out=out2-fr_FR.UTF-8 >> + LC_ALL=fr_FR.UTF-8 >> + grep '\W' in >> + compare /dev/null out2-fr_FR.UTF-8 >> + compare_dev_null_ /dev/null out2-fr_FR.UTF-8 >> + test 2 = 2 >> + test x/dev/null = x/dev/null >> + test -s out2-fr_FR.UTF-8 >> + return 0 >> + return 0 >> + Exit 1 >> + set +e >> + exit 1 >> + exit 1 >> + remove_tmp_ >> + __st=1 >> + cleanup_ >> + : >> + cd /usr/src/grep/grep-2.20.72-d512/tests >> + chmod -R u+rwx >> /usr/src/grep/grep-2.20.72-d512/tests/gt-word-multibyte.LTZ7 >> + rm -rf /usr/src/grep/grep-2.20.72-d512/tests/gt-word-multibyte.LTZ7 >> + exit 1 >> FAIL word-multibyte (exit status: 1) >> >> >>
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.