On 05/03/19 13:17, Assaf Gordon wrote: > Hello Pádraig, > > On 2019-03-04 3:18 a.m., Pádraig Brady wrote: >> We plan to release coreutils-8.31 in the coming week > > Thanks for all the hard work, and for cleaning up and finalizing the > 'env' patch. > > > Some test results: > > No failures on the following: > Debian unstable (sparc64) > CentOS 7 (ppc64le) > CentOS 7 (ppc64) > CentOS 7 (x86_64) > OpenBSD 6.2 (amd64) > Raspbian 9.6 (armv7l) > Ubuntu 14.04 (aarch64) > > few failures:
> On Mac OS X: > FAIL: tests/misc/test-N > On Debian 8.11 / mips64: > FAIL: tests/misc/test-N Hopefully the attached should avoid these false failures in test-N cheers, Pádraig
>From 1a02a3add05b9a2a46d87c660f58cdfc0fa5640e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A1draig=20Brady?= <[email protected]> Date: Wed, 6 Mar 2019 20:09:16 -0800 Subject: [PATCH] tests: test-N: fix false positives on some systems Testing by Assaf Gordon on OSX showed the atime wasn't being updated when explicitly set back in time. Also Debian 8.11 / mips64 was seen to not update the mtime when truncating an empty file. * tests/misc/test-N.sh: Isolate from different timestamping behaviors of various (file) systems, by correlating the timestamps with stat(1) before using `test -N`. --- tests/misc/test-N.sh | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/tests/misc/test-N.sh b/tests/misc/test-N.sh index 348139b..0b1ccfe 100755 --- a/tests/misc/test-N.sh +++ b/tests/misc/test-N.sh @@ -17,26 +17,36 @@ # along with this program. If not, see <https://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src -print_ver_ test +print_ver_ test stat + +stat_test_N() { env test "$(stat -c '%Y' "$1")" -gt "$(stat -c '%X' "$1")"; } # For a freshly touched file, atime should equal mtime: 'test -N' returns 1. touch file || framework_failure_ stat file -returns_ 1 env test -N file || fail=1 +if ! stat_test_N file; then + returns_ 1 env test -N file || fail=1 +fi # Set access time to 2 days ago: 'test -N' returns 0. touch -a -d "12:00 today -2 days" file || framework_failure_ stat file -env test -N file || fail=1 +if stat_test_N file; then + env test -N file || fail=1 +fi # Set mtime to 2 days before atime: 'test -N' returns 1; touch -m -d "12:00 today -4 days" file || framework_failure_ stat file -returns_ 1 env test -N file || fail=1 +if ! stat_test_N file; then + returns_ 1 env test -N file || fail=1 +fi # Now modify the file: 'test -N' returns 0. -> file || framework_failure_ +echo 'data' > file || framework_failure_ stat file -env test -N file || fail=1 +if stat_test_N file; then + env test -N file || fail=1 +fi Exit $fail -- 2.9.3
