D11215: test-transaction-safety: document the test schedule
marmoute (Pierre-Yves David)
phabricator at mercurial-scm.org
Tue Jul 27 13:09:31 UTC 2021
marmoute created this revision.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.
REVISION SUMMARY
This helps reader to understand how the test work and actually helped me to
detect a missing synchronisation step.
REPOSITORY
rHG Mercurial
BRANCH
stable
REVISION DETAIL
https://phab.mercurial-scm.org/D11215
AFFECTED FILES
tests/test-transaction-safety.t
CHANGE DETAILS
diff --git a/tests/test-transaction-safety.t b/tests/test-transaction-safety.t
--- a/tests/test-transaction-safety.t
+++ b/tests/test-transaction-safety.t
@@ -41,7 +41,23 @@
setup
-----
-synchronisation+output script:
+synchronisation+output script using the following schedule:
+
+[A1] "external" is started
+[A2] "external" waits on EXT_UNLOCK
+[A2] "external" + creates EXT_WAITING â unlocks [C1]
+[B1] "hg commit/pull" is started
+[B2] "hg commit/pull" is ready to be committed
+[B3] "hg commit/pull" spawn "internal" using a pretxnclose hook (need [C4])
+[C1] "internal" waits on EXT_WAITING (need [A2])
+[C2] "internal" show the tipmost revision (inside of the transaction)
+[C3] "internal" waits on EXT_DONE (need [A4])
+[C3] "internal" + creates EXT_UNLOCK â unlocks [A2]
+[A3] "external" show the tipmost revision (outside of the transaction)
+[A4] "external" creates EXT_DONE â unlocks [C3]
+[C4] "internal" end of execution -> unlock [B3]
+[B4] "hg commit/pull" transaction is committed on disk
+
$ mkdir sync
$ mkdir output
@@ -60,6 +76,7 @@
> EOF
$ cat << EOF > script/internal.sh
> #!/bin/sh
+ > "$RUNTESTDIR/testlib/wait-on-file" 5 "$HG_TEST_FILE_EXT_WAITING"
> hg log --rev 'tip' -T 'internal: {rev} {desc}\n' > "$TESTTMP/output/internal.out"
> "$RUNTESTDIR/testlib/wait-on-file" 5 "$HG_TEST_FILE_EXT_DONE" "$HG_TEST_FILE_EXT_UNLOCK"
> EOF
To: marmoute, #hg-reviewers
Cc: mercurial-patches, mercurial-devel
More information about the Mercurial-devel
mailing list