260804.1 · 8b661eb3d5ec3323bb88036318c7415fed80b6c9
MinGW portability fixes
- see also #553
- distinct OS_WIN versus OS_WIN_MINGW is necessary, since MinGW is almost windows but not quite, so most changes are for #ifdef checks with a few code blocks moved (no new logic)
- tested with MinGW-w64 UCRT64 with MSYS2 GCC 16.1
- updated verify.sh runs with 'make test' skips directory searches for MinGW, because of the lack of symlink support
- appease -Wunused
reading declarations
Changes to tests/. All files
@@ -115,16 +115,24 @@ fi export GREP_COLORS='cx=hb:ms=hug:mc=ib+W:fn=h35:ln=32h:cn=1;32:bn=1;32:se=+36' -# set ERR and DIFF to compare and report+# set ERR to report function ERR() { echo "[1;31mError:[0m[1m ugrep --sort $1 [1;31mfailed[0m" exit 1 } -DIFF="diff -U1 -"+# set DIFF to compare and report, MinGW should ignore CRL<->LF and ignore "binary" characters -# prepare to test+if test "$OSTYPE" = "msys" || ( test "$OSTYPE" = "cygwin" && test ! -z "$MSYSTEM" ) ; then+ DIFF="diff -a -b -U1 -"+else+ DIFF="diff -U1 -"+fi++# prepare to test, w/o MinGW dir tests (no symlinks)++if test "$OSTYPE" != "msys" && ( test "$OSTYPE" != "cygwin" || test -z "$MSYSTEM" ) ; then rm -rf dir1/ dir2/ @@ -183,6 +191,8 @@ $UG -Rl --filter='sh:head -n1' Hello dir1 | $DIFF out/dir--filter.out rm -rf dir1 dir2 +fi+ for OPS in '' '-F' '-G' ; do printf . $UG $OPS -iwco -f lorem lorem.utf8.txt \