tests/test-transaction-safety.t
branchstable
changeset 47781 ebfc315c6077
parent 47780 4870a8dc24d9
child 51200 cf23a8432f51
equal deleted inserted replaced
47780:4870a8dc24d9 47781:ebfc315c6077
    48 [A2] "external"       + creates EXT_WAITING → unlocks [C1]
    48 [A2] "external"       + creates EXT_WAITING → unlocks [C1]
    49 [B1] "hg commit/pull" is started
    49 [B1] "hg commit/pull" is started
    50 [B2] "hg commit/pull" is ready to be committed
    50 [B2] "hg commit/pull" is ready to be committed
    51 [B3] "hg commit/pull" spawn "internal" using a pretxnclose hook (need [C4])
    51 [B3] "hg commit/pull" spawn "internal" using a pretxnclose hook (need [C4])
    52 [C1] "internal"       waits on EXT_WAITING (need [A2])
    52 [C1] "internal"       waits on EXT_WAITING (need [A2])
    53 [C2] "internal"       show the tipmost revision (inside of the transaction)
    53 [C2] "internal"       creates EXT_UNLOCK → unlocks [A2]
    54 [C3] "internal"       waits on EXT_DONE (need [A4])
    54 [C3] "internal"       show the tipmost revision (inside of the transaction)
    55 [C3] "internal"       + creates EXT_UNLOCK → unlocks [A2]
    55 [C4] "internal"       waits on EXT_DONE (need [A4])
    56 [A3] "external"       show the tipmost revision (outside of the transaction)
    56 [A3] "external"       show the tipmost revision (outside of the transaction)
    57 [A4] "external"       creates EXT_DONE → unlocks [C3]
    57 [A4] "external"       creates EXT_DONE → unlocks [C4]
    58 [C4] "internal"       end of execution -> unlock [B3]
    58 [C5] "internal"       end of execution -> unlock [B3]
    59 [B4] "hg commit/pull" transaction is committed on disk
    59 [B4] "hg commit/pull" transaction is committed on disk
    60 
    60 
    61 
    61 
    62   $ mkdir sync
    62   $ mkdir sync
    63   $ mkdir output
    63   $ mkdir output
    75   > touch "$HG_TEST_FILE_EXT_DONE"
    75   > touch "$HG_TEST_FILE_EXT_DONE"
    76   > EOF
    76   > EOF
    77   $ cat << EOF > script/internal.sh
    77   $ cat << EOF > script/internal.sh
    78   > #!/bin/sh
    78   > #!/bin/sh
    79   > "$RUNTESTDIR/testlib/wait-on-file" 5 "$HG_TEST_FILE_EXT_WAITING"
    79   > "$RUNTESTDIR/testlib/wait-on-file" 5 "$HG_TEST_FILE_EXT_WAITING"
       
    80   > touch "$HG_TEST_FILE_EXT_UNLOCK"
    80   > hg log --rev 'tip' -T 'internal: {rev} {desc}\n' > "$TESTTMP/output/internal.out"
    81   > hg log --rev 'tip' -T 'internal: {rev} {desc}\n' > "$TESTTMP/output/internal.out"
    81   > "$RUNTESTDIR/testlib/wait-on-file" 5 "$HG_TEST_FILE_EXT_DONE" "$HG_TEST_FILE_EXT_UNLOCK"
    82   > "$RUNTESTDIR/testlib/wait-on-file" 5 "$HG_TEST_FILE_EXT_DONE"
    82   > EOF
    83   > EOF
    83 
    84 
    84 
    85 
    85 Automated commands:
    86 Automated commands:
    86 
    87