From caba3a763af463725a1e0e3c30a78913384eabb4 Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Mon, 2 Sep 2024 09:27:04 +0200 Subject: [PATCH] utime, futimens tests: Avoid test failure on Haiku. * tests/test-utimens-common.h (checkable_atime): On Haiku, return false. --- ChangeLog | 5 +++++ tests/test-utimens-common.h | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/ChangeLog b/ChangeLog index 41e41b9308..c449ad522b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2024-09-02 Bruno Haible + + utime, futimens tests: Avoid test failure on Haiku. + * tests/test-utimens-common.h (checkable_atime): On Haiku, return false. + 2024-09-01 Bruno Haible strtold: Work around a Haiku bug. diff --git a/tests/test-utimens-common.h b/tests/test-utimens-common.h index f9fdb9a867..a59e65df8c 100644 --- a/tests/test-utimens-common.h +++ b/tests/test-utimens-common.h @@ -93,8 +93,15 @@ checkable_atime (int fd, struct stat *st) ASSERT (read (fd, buf, sizeof buf) == 0); ASSERT (fstat (fd, &st2) == 0); bool check_atime +#if defined __HAIKU__ + /* On Haiku, the st_atime field is always the current time. It is as if there + was a daemon running (as root) that constantly reads from all files on all + disks at the same time. See . */ + = false; +#else = (st1.st_atime != st2.st_atime || get_stat_atime_ns (&st1) != get_stat_atime_ns (&st2)); +#endif if (st) *st = st2; return check_atime; -- 2.39.5