tests/README
author Pierre-Yves David <pierre-yves.david@fb.com>
Sat, 18 Oct 2014 01:12:18 -0700
changeset 23201 7e97bf6ee2d6
parent 8936 1de6e7e1bb9f
child 26421 4b0fc75f9403
permissions -rw-r--r--
changelog: rework the delayupdate mechanism The current way we use the 'delayupdate' mechanism is wrong. We call 'delayupdate' right after the transaction retrieval, then we call 'finalize' right before calling 'tr.close()'. The 'finalize' call will -always- result in a flush to disk, making the data available to all readers. But the 'tr.close()' may be a no-op if the transaction is nested. This would result in data: 1) exposed to reader too early, 2) rolled back by other part of the transaction after such exposure So we need to end up in a situation where we call 'finalize' a single time when the transaction actually closes. For this purpose we need to be able to call 'delayupdate' and '_writepending' multiple times and 'finalize' once. This was not possible with the previous state of the code. This changeset refactors the code to makes this possible. We buffer data in memory as much as possible and fall-back to writing to a ".a" file after the first call to '_writepending'.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
332
6c869059beb4 testing fixups
mpm@selenic.com
parents: 331
diff changeset
     1
To run the tests, do:
6c869059beb4 testing fixups
mpm@selenic.com
parents: 331
diff changeset
     2
6c869059beb4 testing fixups
mpm@selenic.com
parents: 331
diff changeset
     3
cd tests/
2207
8a2a7f7d9df6 Delete the shell version of run-tests
Stephen Darnell <stephen@darnell.plus.com>
parents: 1933
diff changeset
     4
python run-tests.py
332
6c869059beb4 testing fixups
mpm@selenic.com
parents: 331
diff changeset
     5
8936
1de6e7e1bb9f change wiki/bts URLs to point to new hostname
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 3934
diff changeset
     6
See http://mercurial.selenic.com/wiki/WritingTests for
3934
d0bbd8ee50c7 Move test suite docs to the wiki
Matt Mackall <mpm@selenic.com>
parents: 3199
diff changeset
     7
more information on writing tests.