More Windows date and time fun! -- another take
In a separate thread titled 'More Windows date and time fun!' the semantics of the registry setting NtfsDisableLastAccessUpdate = 1 is being discussed, particularly as it is being traced back to NT 4.00
It struck me that it might be useful to discuss how to design a test to verify the behaviour of this setting.
There's one claim that it only affects directory time stamps – so one part of the test needs to access something like C/A/B/C/D/E/F/TEST.DAT, and check which Last Access timestamps of directories and the TEST.DAT file were updated for different settings of the registry.
There must be some effort to isolate the test directories or files – nothing else must access those resources during the test. Or perhaps the test should be performed multiple times to at least detect any differences in behaviour.
File system must be dismounted after the test to ensure all and any write caches are flushed properly.
At least one test should be done with Windows API calls only. There may be value in performing another test using Windows Shell, as it is known to implement its own time stamp rules in some use cases (known cases involve file move and copy across file systems). And it may be useful to repeat tests in DOS and PowerShell shells ex abundanti cautelae.
And just to be perverse, it may be an idea to perform the programmatic test for Win32 as well as POSIX.