##// END OF EJS Templates
dirstate: cover each dirstate version when testing for status race...
marmoute -
r51115:35ea3c13 stable
parent child Browse files
Show More
@@ -2,6 +2,8 b''
2 2 Check potential race conditions between a status and other operations
3 3 =====================================================================
4 4
5 #testcases dirstate-v1 dirstate-v2
6
5 7 The `hg status` command can run without the wlock, however it might end up
6 8 having to update the on-disk dirstate files, for example to mark ambiguous
7 9 files as clean, or to update directory caches information with dirstate-v2.
@@ -23,6 +25,23 b' changes happen.'
23 25 Setup
24 26 =====
25 27
28 $ cat >> $HGRCPATH << EOF
29 > [storage]
30 > dirstate-v2.slow-path=allow
31 > EOF
32
33 #if dirstate-v2
34 $ cat >> $HGRCPATH << EOF
35 > [format]
36 > use-dirstate-v2=yes
37 > EOF
38 #else
39 $ cat >> $HGRCPATH << EOF
40 > [format]
41 > use-dirstate-v2=no
42 > EOF
43 #endif
44
26 45 $ directories="dir dir/nested dir2"
27 46 $ first_files="dir/nested/a dir/b dir/c dir/d dir2/e f"
28 47 $ second_files="g dir/nested/h dir/i dir/j dir2/k dir2/l dir/nested/m"
@@ -217,10 +236,11 b' The file should in a "added" state'
217 236
218 237 $ hg status
219 238 A dir/n (no-rhg !)
220 A dir/n (missing-correct-output rhg !)
239 A dir/n (rhg no-dirstate-v1 !)
240 A dir/n (missing-correct-output rhg dirstate-v1 !)
221 241 A dir/o
222 242 R dir/nested/m
223 ? dir/n (known-bad-output rhg !)
243 ? dir/n (known-bad-output rhg dirstate-v1 !)
224 244 ? p
225 245 ? q
226 246
@@ -233,6 +253,7 b' The status process should return a consi'
233 253 ? p
234 254 ? q
235 255 $ cat $TESTTMP/status-race-lock.log
256 abort: when writing $TESTTMP/race-with-add/.hg/dirstate.*: $ENOENT$ (glob) (known-bad-output rhg dirstate-v2 !)
236 257
237 258 final cleanup
238 259
@@ -301,6 +322,7 b' The status process should return a consi'
301 322 ? p
302 323 ? q
303 324 $ cat $TESTTMP/status-race-lock.log
325 abort: when removing $TESTTMP/race-with-commit/.hg/dirstate.*: $ENOENT$ (glob) (known-bad-output rhg dirstate-v2 !)
304 326
305 327 final cleanup
306 328
@@ -403,6 +425,7 b' The status process should return a consi'
403 425 ? p
404 426 ? q
405 427 $ cat $TESTTMP/status-race-lock.log
428 abort: when removing $TESTTMP/race-with-status/.hg/dirstate.*: $ENOENT$ (glob) (known-bad-output rhg dirstate-v2 !)
406 429
407 430 final cleanup
408 431
General Comments 0
You need to be logged in to leave comments. Login now