Skip to content
Snippets Groups Projects
Commit 04d756b7 authored by Simon Sapin's avatar Simon Sapin
Browse files

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
parent 473af5cb
No related branches found
No related tags found
No related merge requests found
......@@ -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
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment