On AIX 5.1, with gnulib as of today (29 March) the test-stat-time test fails. More precisely, on a 'jfs2' file system, the test fails in the third ASSERT of test_mtime. I get these time stamps:
$ stat t-stt-stamp1 File: `t-stt-stamp1' Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: a0007h/655367d Inode: 218 Links: 1 Access: (0500/-r-x------) Uid: ( 299/ haible) Gid: ( 430/ user) Access: 2007-03-29 16:55:21.1555657784 +0100 Modify: 2007-03-29 16:55:21.1555657784 +0100 Change: 2007-03-29 16:55:21.1555657784 +0100 $ stat t-stt-stamp2 File: `t-stt-stamp2' Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: a0007h/655367d Inode: 822 Links: 1 Access: (0500/-r-x------) Uid: ( 299/ haible) Gid: ( 430/ user) Access: 2007-03-29 16:55:25.1186180304 +0100 Modify: 2007-03-29 16:55:25.1186180304 +0100 Change: 2007-03-29 16:55:25.1186180304 +0100 $ stat t-stt-stamp3 File: `t-stt-stamp3' Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: a0007h/655367d Inode: 886 Links: 1 Access: (0500/-r-x------) Uid: ( 299/ haible) Gid: ( 430/ user) Access: 2007-03-29 16:55:29.-1317180880 Modify: 2007-03-29 16:55:29.-1317180880 Change: 2007-03-29 16:55:29.-1317180880 $ stat t-stt-renamed File: `t-stt-renamed' Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: a0007h/655367d Inode: 219 Links: 1 Access: (0500/-r-x------) Uid: ( 299/ haible) Gid: ( 430/ user) Access: 2007-03-29 16:55:23.-562647104 Modify: 2007-03-29 16:55:23.-562647104 Change: 2007-03-29 16:55:23.-562647104 As you can see, the ctime has not been modified by the "mv" command. "Change" and "Modify" times appear to be always the same on this file system, no matter what I do. I can see two ways to fix the test: - Turn this ASSERT into an 'if' that does appropriate action if not fulfilled. - Immediately after renaming the file, write something into it, so that also on this weird filesystem the ctime is bumped. Bruno