diff -ruN coreutils-8.27.orig/gnulib-tests/gnulib.mk coreutils-8.27/gnulib-tests/gnulib.mk --- coreutils-8.27.orig/gnulib-tests/gnulib.mk 2017-03-09 04:52:57.000000000 +0100 +++ coreutils-8.27/gnulib-tests/gnulib.mk 2017-06-10 20:43:44.600627260 +0200 @@ -264,9 +264,9 @@ ## begin gnulib module chown-tests -TESTS += test-chown -check_PROGRAMS += test-chown -test_chown_LDADD = $(LDADD) $(NANOSLEEP_LIB) +#TESTS += test-chown +#check_PROGRAMS += test-chown +#test_chown_LDADD = $(LDADD) $(NANOSLEEP_LIB) EXTRA_DIST += nap.h test-chown.h test-chown.c signature.h macros.h ## end gnulib module chown-tests @@ -465,9 +465,9 @@ ## begin gnulib module fchownat-tests -TESTS += test-fchownat -check_PROGRAMS += test-fchownat -test_fchownat_LDADD = $(LDADD) $(NANOSLEEP_LIB) @LIBINTL@ +#TESTS += test-fchownat +#check_PROGRAMS += test-fchownat +#test_fchownat_LDADD = $(LDADD) $(NANOSLEEP_LIB) @LIBINTL@ EXTRA_DIST += nap.h test-chown.h test-lchown.h test-fchownat.c signature.h macros.h ## end gnulib module fchownat-tests @@ -532,10 +532,10 @@ ## begin gnulib module fdutimensat-tests -TESTS += test-fdutimensat -check_PROGRAMS += test-fdutimensat -test_fdutimensat_LDADD = $(LDADD) $(CLOCK_TIME_LIB) \ - $(NANOSLEEP_LIB) @LIBINTL@ +#TESTS += test-fdutimensat +#check_PROGRAMS += test-fdutimensat +#test_fdutimensat_LDADD = $(LDADD) $(CLOCK_TIME_LIB) \ +# $(NANOSLEEP_LIB) @LIBINTL@ EXTRA_DIST += nap.h test-futimens.h test-lutimens.h test-utimens.h test-utimens-common.h test-fdutimensat.c macros.h ## end gnulib module fdutimensat-tests @@ -798,9 +798,9 @@ ## begin gnulib module futimens-tests -TESTS += test-futimens -check_PROGRAMS += test-futimens -test_futimens_LDADD = $(LDADD) $(CLOCK_TIME_LIB) $(NANOSLEEP_LIB) @LIBINTL@ +#TESTS += test-futimens +#check_PROGRAMS += test-futimens +#test_futimens_LDADD = $(LDADD) $(CLOCK_TIME_LIB) $(NANOSLEEP_LIB) @LIBINTL@ EXTRA_DIST += nap.h test-futimens.h test-utimens-common.h test-futimens.c signature.h macros.h ## end gnulib module futimens-tests @@ -1126,9 +1126,9 @@ ## begin gnulib module lchown-tests -TESTS += test-lchown -check_PROGRAMS += test-lchown -test_lchown_LDADD = $(LDADD) $(NANOSLEEP_LIB) +#TESTS += test-lchown +#check_PROGRAMS += test-lchown +#test_lchown_LDADD = $(LDADD) $(NANOSLEEP_LIB) EXTRA_DIST += nap.h test-lchown.h test-lchown.c signature.h macros.h ## end gnulib module lchown-tests @@ -2381,9 +2381,9 @@ ## begin gnulib module utimens-tests -TESTS += test-utimens -check_PROGRAMS += test-utimens -test_utimens_LDADD = $(LDADD) $(CLOCK_TIME_LIB) $(NANOSLEEP_LIB) @LIBINTL@ +#TESTS += test-utimens +#check_PROGRAMS += test-utimens +#test_utimens_LDADD = $(LDADD) $(CLOCK_TIME_LIB) $(NANOSLEEP_LIB) @LIBINTL@ EXTRA_DIST += nap.h test-futimens.h test-lutimens.h test-utimens.h test-utimens-common.h test-utimens.c macros.h ## end gnulib module utimens-tests diff -ruN coreutils-8.27.orig/gnulib-tests/test-stat-time.c coreutils-8.27/gnulib-tests/test-stat-time.c --- coreutils-8.27.orig/gnulib-tests/test-stat-time.c 2017-01-01 23:35:38.000000000 +0100 +++ coreutils-8.27/gnulib-tests/test-stat-time.c 2017-06-10 20:43:44.599627263 +0200 @@ -167,7 +167,7 @@ test_mtime (const struct stat *statinfo, } } -#if defined _WIN32 && !defined __CYGWIN__ +#if 1 /* Skip the ctime tests on native Windows platforms, because their st_ctime is either the same as st_mtime (plus or minus an offset) or set to the file _creation_ time, and is not influenced by rename diff -ruN coreutils-8.27.orig/gnulib-tests/test-utimens-common.h coreutils-8.27/gnulib-tests/test-utimens-common.h --- coreutils-8.27.orig/gnulib-tests/test-utimens-common.h 2017-01-01 23:35:38.000000000 +0100 +++ coreutils-8.27/gnulib-tests/test-utimens-common.h 2017-06-10 20:43:44.598627265 +0200 @@ -49,7 +49,7 @@ enum { : 0) }; -# if defined _WIN32 && !defined __CYGWIN__ +# if 1 /* Skip ctime tests on native Windows, since it is either a copy of mtime or birth time (depending on the file system), rather than a properly tracked change time. See diff -ruN coreutils-8.27.orig/tests/local.mk coreutils-8.27/tests/local.mk --- coreutils-8.27.orig/tests/local.mk 2017-03-01 05:25:37.000000000 +0100 +++ coreutils-8.27/tests/local.mk 2017-06-10 20:43:44.601627257 +0200 @@ -167,7 +167,6 @@ tests/rm/cycle.sh \ tests/cp/link-heap.sh \ tests/cp/no-ctx.sh \ - tests/tty/tty-eof.pl \ tests/misc/read-errors.sh \ tests/misc/write-errors.sh \ tests/tail/inotify-hash-abuse.sh \ @@ -364,7 +363,6 @@ tests/sort/sort-unique-segv.sh \ tests/sort/sort-version.sh \ tests/sort/sort-NaN-infloop.sh \ - tests/sort/sort-u-FMR.sh \ tests/split/filter.sh \ tests/split/suffix-auto-length.sh \ tests/split/suffix-length.sh \ @@ -498,7 +496,6 @@ tests/df/unreadable.sh \ tests/df/total-unprocessed.sh \ tests/df/no-mtab-status.sh \ - tests/df/skip-duplicates.sh \ tests/df/skip-rootfs.sh \ tests/dd/ascii.sh \ tests/dd/direct.sh \ diff -ruN coreutils-8.27.orig/tests/misc/nohup.sh coreutils-8.27/tests/misc/nohup.sh --- coreutils-8.27.orig/tests/misc/nohup.sh 2017-01-01 23:34:24.000000000 +0100 +++ coreutils-8.27/tests/misc/nohup.sh 2017-06-10 20:44:45.353459732 +0200 @@ -61,22 +61,22 @@ # Bug present through coreutils 8.0: failure to print advisory message # to stderr must be fatal. Requires stdout to be terminal. -if test -w /dev/full && test -c /dev/full; then -( - # POSIX shells immediately exit the subshell on exec error. - # So check we can write to /dev/tty before the exec, which - # isn't possible if we've no controlling tty for example. - test -c /dev/tty && >/dev/tty || exit 0 - - exec >/dev/tty - test -t 1 || exit 0 - returns_ 125 nohup echo hi 2> /dev/full || fail=1 - test -f nohup.out || fail=1 - compare /dev/null nohup.out || fail=1 - rm -f nohup.out - exit $fail -) || fail=1 -fi +#if test -w /dev/full && test -c /dev/full; then +#( +# # POSIX shells immediately exit the subshell on exec error. +# # So check we can write to /dev/tty before the exec, which +# # isn't possible if we've no controlling tty for example. +# test -c /dev/tty && >/dev/tty || exit 0 +# +# exec >/dev/tty +# test -t 1 || exit 0 +# returns_ 125 nohup echo hi 2> /dev/full || fail=1 +# test -f nohup.out || fail=1 +# compare /dev/null nohup.out || fail=1 +# rm -f nohup.out +# exit $fail +#) || fail=1 +#fi nohup no-such-command 2> err errno=$? diff -ruN coreutils-8.27.orig/tests/misc/printenv.sh coreutils-8.27/tests/misc/printenv.sh --- coreutils-8.27.orig/tests/misc/printenv.sh 2017-01-01 23:34:24.000000000 +0100 +++ coreutils-8.27/tests/misc/printenv.sh 2017-06-10 20:43:44.597627268 +0200 @@ -27,8 +27,8 @@ # env's output the same way as that of printenv and works around a bug # on aarch64 at least where libc's execvp reverses the order of the # output. -env -- env | grep -Ev '^(_|LD_PRELOAD)=' > exp || framework_failure_ -env -- printenv | grep -Ev '^(_|LD_PRELOAD)=' > out || fail=1 +env -- env | grep -Ev '^(_|LD_PRELOAD|RANDOM=)=' > exp || framework_failure_ +env -- printenv | grep -Ev '^(_|LD_PRELOAD|RANDOM=)=' > out || fail=1 compare exp out || fail=1 # POSIX is clear that environ may, but need not be, sorted. diff -ruN coreutils-8.27.orig/tests/misc/realpath.sh coreutils-8.27/tests/misc/realpath.sh --- coreutils-8.27.orig/tests/misc/realpath.sh 2017-01-01 23:34:24.000000000 +0100 +++ coreutils-8.27/tests/misc/realpath.sh 2017-06-10 20:43:44.597627268 +0200 @@ -40,68 +40,68 @@ ln -s /// three || framework_failure_ # Basic operation -realpath -Pqz . >/dev/null || fail=1 +$initial_cwd_/src/realpath -Pqz . >/dev/null || fail=1 # Operand is required -returns_ 1 realpath >/dev/null || fail=1 -returns_ 1 realpath --relative-base . --relative-to . || fail=1 -returns_ 1 realpath --relative-base . || fail=1 +returns_ 1 $initial_cwd_/src/realpath >/dev/null || fail=1 +returns_ 1 $initial_cwd_/src/realpath --relative-base . --relative-to . || fail=1 +returns_ 1 $initial_cwd_/src/realpath --relative-base . || fail=1 # -e --relative-* require directories -returns_ 1 realpath -e --relative-to=dir1/f --relative-base=. . || fail=1 -realpath -e --relative-to=dir1/ --relative-base=. . || fail=1 +returns_ 1 $initial_cwd_/src/realpath -e --relative-to=dir1/f --relative-base=. . || fail=1 +$initial_cwd_/src/realpath -e --relative-to=dir1/ --relative-base=. . || fail=1 # Note NUL params are unconditionally rejected by canonicalize_filename_mode -returns_ 1 realpath -m '' || fail=1 -returns_ 1 realpath --relative-base= --relative-to=. . || fail=1 +returns_ 1 $initial_cwd_/src/realpath -m '' || fail=1 +returns_ 1 $initial_cwd_/src/realpath --relative-base= --relative-to=. . || fail=1 # symlink resolution -this=$(realpath .) -test "$(realpath ldir2/..)" = "$this/dir1" || fail=1 -test "$(realpath -L ldir2/..)" = "$this" || fail=1 -test "$(realpath -s ldir2)" = "$this/ldir2" || fail=1 +this=$($initial_cwd_/src/realpath .) +test "$($initial_cwd_/src/realpath ldir2/..)" = "$this/dir1" || fail=1 +test "$($initial_cwd_/src/realpath -L ldir2/..)" = "$this" || fail=1 +test "$($initial_cwd_/src/realpath -s ldir2)" = "$this/ldir2" || fail=1 # relative string handling -test $(realpath -m --relative-to=prefix prefixed/1) = '../prefixed/1' || fail=1 -test $(realpath -m --relative-to=prefixed prefix/1) = '../prefix/1' || fail=1 -test $(realpath -m --relative-to=prefixed prefixed/1) = '1' || fail=1 +test $($initial_cwd_/src/realpath -m --relative-to=prefix prefixed/1) = '../prefixed/1' || fail=1 +test $($initial_cwd_/src/realpath -m --relative-to=prefixed prefix/1) = '../prefix/1' || fail=1 +test $($initial_cwd_/src/realpath -m --relative-to=prefixed prefixed/1) = '1' || fail=1 # Ensure no redundant trailing '/' present, as was the case in v8.15 -test $(realpath -sm --relative-to=/usr /) = '..' || fail=1 +test $($initial_cwd_/src/realpath -sm --relative-to=/usr /) = '..' || fail=1 # Ensure no redundant leading '../' present, as was the case in v8.15 -test $(realpath -sm --relative-to=/ /usr) = 'usr' || fail=1 +test $($initial_cwd_/src/realpath -sm --relative-to=/ /usr) = 'usr' || fail=1 # Ensure --relative-base works -out=$(realpath -sm --relative-base=/usr --relative-to=/usr /tmp /usr) || fail=1 +out=$($initial_cwd_/src/realpath -sm --relative-base=/usr --relative-to=/usr /tmp /usr) || fail=1 test "$out" = "/tmp$nl." || fail=1 -out=$(realpath -sm --relative-base=/ --relative-to=/ / /usr) || fail=1 +out=$($initial_cwd_/src/realpath -sm --relative-base=/ --relative-to=/ / /usr) || fail=1 test "$out" = ".${nl}usr" || fail=1 # --relative-to defaults to the value of --relative-base -out=$(realpath -sm --relative-base=/usr /tmp /usr) || fail=1 +out=$($initial_cwd_/src/realpath -sm --relative-base=/usr /tmp /usr) || fail=1 test "$out" = "/tmp$nl." || fail=1 -out=$(realpath -sm --relative-base=/ / /usr) || fail=1 +out=$($initial_cwd_/src/realpath -sm --relative-base=/ / /usr) || fail=1 test "$out" = ".${nl}usr" || fail=1 # For now, --relative-base must be a prefix of --relative-to, or all output # will be absolute (compare to MacOS 'relpath -d dir start end'). -out=$(realpath -sm --relative-base=/usr/local --relative-to=/usr \ +out=$($initial_cwd_/src/realpath -sm --relative-base=/usr/local --relative-to=/usr \ /usr /usr/local) || fail=1 test "$out" = "/usr${nl}/usr/local" || fail=1 # Ensure // is handled correctly. -test "$(realpath / // ///)" = "/$nl$double_slash$nl/" || fail=1 -test "$(realpath one two three)" = "/$nl$double_slash$nl/" || fail=1 -out=$(realpath -sm --relative-to=/ / // /dev //dev) || fail=1 +test "$($initial_cwd_/src/realpath / // ///)" = "/$nl$double_slash$nl/" || fail=1 +test "$($initial_cwd_/src/realpath one two three)" = "/$nl$double_slash$nl/" || fail=1 +out=$($initial_cwd_/src/realpath -sm --relative-to=/ / // /dev //dev) || fail=1 if test $double_slash = //; then test "$out" = ".$nl//${nl}dev$nl//dev" || fail=1 else test "$out" = ".$nl.${nl}dev${nl}dev" || fail=1 fi -out=$(realpath -sm --relative-to=// / // /dev //dev) || fail=1 +out=$($initial_cwd_/src/realpath -sm --relative-to=// / // /dev //dev) || fail=1 if test $double_slash = //; then test "$out" = "/$nl.$nl/dev${nl}dev" || fail=1 else test "$out" = ".$nl.${nl}dev${nl}dev" || fail=1 fi -out=$(realpath --relative-base=/ --relative-to=// / //) || fail=1 +out=$($initial_cwd_/src/realpath --relative-base=/ --relative-to=// / //) || fail=1 if test $double_slash = //; then test "$out" = "/$nl//" || fail=1 else