##// END OF EJS Templates
mq: use dirstateguard instead of dirstate.invalidate (qpush)...
mq: use dirstateguard instead of dirstate.invalidate (qpush) Before this patch, "mq.queue.apply()" uses "dirstate.invalidate()" as a kind of "restore .hg/dirstate to the original status" during afailure. But it just discards changes in memory, and doesn't actually restore ".hg/dirstate". Then, it can't work as expected, if "dirstate.write()" is executed while processing. This patch uses "dirstateguard" instead of "dirstate.invalidate()" to restore ".hg/dirstate" at failure even if "dirstate.write()" is executed before failure. This is a part of preparations to fix the issue that the recent (in memory) dirstate isn't visible to external processes (e.g. "precommit" hook).

File last commit:

r24763:a698e088 default
r24996:58308dde default
Show More
test-blackbox.t
147 lines | 4.2 KiB | text/troff | Tads3Lexer
Durham Goode
blackbox: tests for the blackbox extension...
r18674 setup
$ cat >> $HGRCPATH <<EOF
> [extensions]
> blackbox=
Gregory Szorc
tests: move mock blackbox extension into own file...
r24705 > mock=$TESTDIR/mockblackbox.py
Durham Goode
blackbox: add backup bundle paths to blackbox logs...
r18766 > mq=
Durham Goode
blackbox: tests for the blackbox extension...
r18674 > EOF
$ hg init blackboxtest
$ cd blackboxtest
command, exit codes, and duration
$ echo a > a
$ hg add a
$ hg blackbox
1970/01/01 00:00:00 bob> add a
Durham Goode
blackbox: fix recording exit codes (issue3938)...
r19229 1970/01/01 00:00:00 bob> add a exited 0 after * seconds (glob)
Durham Goode
blackbox: tests for the blackbox extension...
r18674
Durham Goode
blackbox: only show new heads on incoming...
r18677 incoming change tracking
create two heads to verify that we only see one change in the log later
$ hg commit -ma
$ hg up null
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ echo b > b
$ hg commit -Amb
adding b
created new head
clone, commit, pull
$ hg clone . ../blackboxtest2
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ echo c > c
$ hg commit -Amc
adding c
$ cd ../blackboxtest2
$ hg pull
Simon Heimberg
tests: append glob to filename output when required for windows...
r18719 pulling from $TESTTMP/blackboxtest (glob)
Durham Goode
blackbox: only show new heads on incoming...
r18677 searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
(run 'hg update' to get a working copy)
Gregory Szorc
branchmap: log events related to branch cache...
r21031 $ hg blackbox -l 5
Durham Goode
blackbox: only show new heads on incoming...
r18677 1970/01/01 00:00:00 bob> pull
Gregory Szorc
branchmap: log events related to branch cache...
r21031 1970/01/01 00:00:00 bob> updated served branch cache in ?.???? seconds (glob)
1970/01/01 00:00:00 bob> wrote served branch cache with 1 labels and 2 nodes
Simon Heimberg
tests: remove glob lines which unnecessary match / for \ on windows...
r18720 1970/01/01 00:00:00 bob> 1 incoming changes - new heads: d02f48003e62
Durham Goode
blackbox: fix recording exit codes (issue3938)...
r19229 1970/01/01 00:00:00 bob> pull exited 0 after * seconds (glob)
Durham Goode
blackbox: only show new heads on incoming...
r18677
Bryan O'Sullivan
blackbox: prevent failed I/O from causing hg to abort...
r18786 we must not cause a failure if we cannot write to the log
$ hg rollback
repository tip rolled back to revision 1 (undo pull)
Durham Goode
blackbox: don't run permission tests on non-unix systems...
r19082
Matt Mackall
tests: skip tests that require not having root (issue4089)...
r20008 #if unix-permissions no-root
Bryan O'Sullivan
blackbox: prevent failed I/O from causing hg to abort...
r18786 $ chmod 000 .hg/blackbox.log
$ hg --debug incoming
warning: cannot write to blackbox.log: Permission denied
Bryan O'Sullivan
blackbox: fix a few check-code portability errors
r18836 comparing with $TESTTMP/blackboxtest (glob)
Bryan O'Sullivan
blackbox: prevent failed I/O from causing hg to abort...
r18786 query 1; heads
searching for changes
all local heads known remotely
changeset: 2:d02f48003e62c24e2659d97d30f2a83abe5d5d51
tag: tip
phase: draft
parent: 1:6563da9dcf87b1949716e38ff3e3dfaa3198eb06
parent: -1:0000000000000000000000000000000000000000
manifest: 2:ab9d46b053ebf45b7996f2922b9893ff4b63d892
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files+: c
extra: branch=default
description:
c
Durham Goode
blackbox: don't run permission tests on non-unix systems...
r19082 #endif
Bryan O'Sullivan
blackbox: prevent failed I/O from causing hg to abort...
r18786 $ hg pull
Bryan O'Sullivan
blackbox: fix a few check-code portability errors
r18836 pulling from $TESTTMP/blackboxtest (glob)
Bryan O'Sullivan
blackbox: prevent failed I/O from causing hg to abort...
r18786 searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
(run 'hg update' to get a working copy)
a failure reading from the log is fine
Matt Mackall
tests: skip tests that require not having root (issue4089)...
r20008 #if unix-permissions no-root
Bryan O'Sullivan
blackbox: prevent failed I/O from causing hg to abort...
r18786 $ hg blackbox -l 3
abort: Permission denied: $TESTTMP/blackboxtest2/.hg/blackbox.log
[255]
$ chmod 600 .hg/blackbox.log
Durham Goode
blackbox: don't run permission tests on non-unix systems...
r19082 #endif
Bryan O'Sullivan
blackbox: prevent failed I/O from causing hg to abort...
r18786
Durham Goode
blackbox: add backup bundle paths to blackbox logs...
r18766 backup bundles get logged
$ touch d
$ hg commit -Amd
adding d
created new head
$ hg strip tip
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
saved backup bundle to $TESTTMP/blackboxtest2/.hg/strip-backup/*-backup.hg (glob)
Gregory Szorc
branchmap: log events related to branch cache...
r21031 $ hg blackbox -l 5
Durham Goode
blackbox: add backup bundle paths to blackbox logs...
r18766 1970/01/01 00:00:00 bob> strip tip
1970/01/01 00:00:00 bob> saved backup bundle to $TESTTMP/blackboxtest2/.hg/strip-backup/*-backup.hg (glob)
Gregory Szorc
branchmap: log events related to branch cache...
r21031 1970/01/01 00:00:00 bob> updated base branch cache in ?.???? seconds (glob)
1970/01/01 00:00:00 bob> wrote base branch cache with 1 labels and 2 nodes
Durham Goode
blackbox: fix recording exit codes (issue3938)...
r19229 1970/01/01 00:00:00 bob> strip tip exited 0 after * seconds (glob)
Durham Goode
blackbox: add backup bundle paths to blackbox logs...
r18766
Durham Goode
blackbox: tests for the blackbox extension...
r18674 extension and python hooks - use the eol extension for a pythonhook
$ echo '[extensions]' >> .hg/hgrc
$ echo 'eol=' >> .hg/hgrc
$ echo '[hooks]' >> .hg/hgrc
$ echo 'update = echo hooked' >> .hg/hgrc
$ hg update
hooked
Gregory Szorc
tests: move blackbox testing of tags to test-tags.t...
r24706 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg blackbox -l 5
Durham Goode
blackbox: tests for the blackbox extension...
r18674 1970/01/01 00:00:00 bob> update
Gregory Szorc
tags: explicitly log which tags cache file is being written...
r24763 1970/01/01 00:00:00 bob> writing .hg/cache/tags2-visible with 0 tags
Durham Goode
blackbox: tests for the blackbox extension...
r18674 1970/01/01 00:00:00 bob> pythonhook-preupdate: hgext.eol.preupdate finished in * seconds (glob)
1970/01/01 00:00:00 bob> exthook-update: echo hooked finished in * seconds (glob)
Durham Goode
blackbox: fix recording exit codes (issue3938)...
r19229 1970/01/01 00:00:00 bob> update exited 0 after * seconds (glob)
Durham Goode
blackbox: tests for the blackbox extension...
r18674
Bryan O'Sullivan
blackbox: automatically rotate log files...
r19066 log rotation
$ echo '[blackbox]' >> .hg/hgrc
$ echo 'maxsize = 20 b' >> .hg/hgrc
$ echo 'maxfiles = 3' >> .hg/hgrc
$ hg status
$ hg status
$ hg status
$ hg tip -q
Gregory Szorc
tests: move blackbox testing of tags to test-tags.t...
r24706 2:d02f48003e62
Bryan O'Sullivan
blackbox: automatically rotate log files...
r19066 $ ls .hg/blackbox.log*
.hg/blackbox.log
.hg/blackbox.log.1
.hg/blackbox.log.2
Durham Goode
blackbox: tests for the blackbox extension...
r18674 cleanup
$ cd ..