changeset 48455:04d756b7c0b5

tests: add a short `sleep` in test-status.t With dirstate-v2 and rhg both enabled, this test would sometimes fail for me with: ``` --- tests/test-status.t +++ tests/test-status.t#dirstate-v2.err @@ -943,7 +943,7 @@ $ rm subdir/unknown $ hg status $ hg debugdirstate --all --no-dates | grep '^ ' - 0 -1 set subdir + 0 -1 unset subdir ``` Meaning that `status` did not write a directory mtime in the dirstate as expected. This can happen if the observed mtime of the directory is the same as "current time" at the start of `status`. This current time is obtained by creating a temporary file and checking its mtime. Even with ext4 on my system being able to store nanosecond precision, identical mtime for successive but separate operations is still possible becuse the kernel may cache the current time: https://stackoverflow.com/a/14393315/1162888 0.1 second should be enough for this cache to be updated, without significantly slowing down the test. Differential Revision: https://phab.mercurial-scm.org/D11900
author Simon Sapin <simon.sapin@octobus.net>
date Fri, 10 Dec 2021 23:08:25 +0100
parents 473af5cbc209
children e33d7c39db47
files tests/test-status.t
diffstat 1 files changed, 1 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/tests/test-status.t	Fri Dec 10 16:18:58 2021 +0100
+++ b/tests/test-status.t	Fri Dec 10 23:08:25 2021 +0100
@@ -941,6 +941,7 @@
 Now the directory is eligible for caching, so its mtime is save in the dirstate
 
   $ rm subdir/unknown
+  $ sleep 0.1 # ensure the kernel’s internal clock for mtimes has ticked
   $ hg status
   $ hg debugdirstate --all --no-dates | grep '^ '
       0         -1 set                 subdir