##// END OF EJS Templates
tests: explicitly define compression engines for tests...
tests: explicitly define compression engines for tests The zstd compression engine requires C extensions and isn't present in pure Python builds. The compression engine list leaks into the server capabilities string. Unless we're testing functionality specific to a compression format, the set of compression formats supported by a server doesn't matter much. So this commit explicitly defines the server's compression engines for some tests so behavior is consistent between pure and non-pure builds. Differential Revision: https://phab.mercurial-scm.org/D3431

File last commit:

r37831:58bbd14b stable
r37840:da07c781 stable
Show More
test-debugcommands.t
426 lines | 10.7 KiB | text/troff | Tads3Lexer
/ tests / test-debugcommands.t
Pierre-Yves David
test: enable generaldelta in 'test-debugcommand.t'...
r26918 $ cat << EOF >> $HGRCPATH
Paul Morelle
debuglocks: allow setting a lock
r35396 > [ui]
> interactive=yes
Pierre-Yves David
test: enable generaldelta in 'test-debugcommand.t'...
r26918 > EOF
Patrick Mezard
debugrevlog: handle numrevs == numfull case (issue3537)...
r17188 $ hg init debugrevlog
$ cd debugrevlog
$ echo a > a
$ hg ci -Am adda
adding a
Gregory Szorc
tests: conditionalize tests for various repo features...
r37434 #if reporevlogstore
Patrick Mezard
debugrevlog: handle numrevs == numfull case (issue3537)...
r17188 $ hg debugrevlog -m
format : 1
Pierre-Yves David
test: enable generaldelta in 'test-debugcommand.t'...
r26918 flags : inline, generaldelta
Patrick Mezard
debugrevlog: handle numrevs == numfull case (issue3537)...
r17188
revisions : 1
merges : 0 ( 0.00%)
normal : 1 (100.00%)
revisions : 1
full : 1 (100.00%)
deltas : 0 ( 0.00%)
revision size : 44
full : 44 (100.00%)
deltas : 0 ( 0.00%)
Gregory Szorc
commands: print chunk type in debugrevlog...
r30452 chunks : 1
0x75 (u) : 1 (100.00%)
chunks size : 44
0x75 (u) : 44 (100.00%)
Yuya Nishihara
debugrevlog: align chain length, reach, and compression ratio...
r33062 avg chain length : 0
max chain length : 0
max chain reach : 44
compression ratio : 0
Patrick Mezard
debugrevlog: handle numrevs == numfull case (issue3537)...
r17188
uncompressed data size (min/max/avg) : 43 / 43 / 43
full revision size (min/max/avg) : 44 / 44 / 44
delta size (min/max/avg) : 0 / 0 / 0
Gregory Szorc
tests: conditionalize tests for various repo features...
r37434 #endif
Mads Kiilerich
util: introduce util.debugstacktrace for showing a stack trace without crashing...
r20244
Gregory Szorc
debugcommands: drop offset and length from debugindex by default...
r37301 Test debugindex, with and without the --verbose/--debug flag
Kyle Lippincott
debugindex: respect --debug flag to show full nodeids
r23547 $ hg debugindex a
Gregory Szorc
debugcommands: drop offset and length from debugindex by default...
r37301 rev linkrev nodeid p1 p2
0 0 b789fdd96dc2 000000000000 000000000000
Gregory Szorc
tests: conditionalize tests for various repo features...
r37434 #if no-reposimplestore
Gregory Szorc
debugcommands: drop offset and length from debugindex by default...
r37301 $ hg --verbose debugindex a
Gregory Szorc
debugcommands: drop base revision from debugindex...
r37300 rev offset length linkrev nodeid p1 p2
0 0 3 0 b789fdd96dc2 000000000000 000000000000
Gregory Szorc
debugcommands: drop offset and length from debugindex by default...
r37301
Kyle Lippincott
debugindex: respect --debug flag to show full nodeids
r23547 $ hg --debug debugindex a
Gregory Szorc
debugcommands: drop base revision from debugindex...
r37300 rev offset length linkrev nodeid p1 p2
0 0 3 0 b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000
Gregory Szorc
tests: conditionalize tests for various repo features...
r37434 #endif
Gregory Szorc
debugcommands: drop offset and length from debugindex by default...
r37301
Kyle Lippincott
debugindex: respect --debug flag to show full nodeids
r23547 $ hg debugindex -f 1 a
Gregory Szorc
debugcommands: drop offset and length from debugindex by default...
r37301 rev flag size link p1 p2 nodeid
0 0000 2 0 -1 -1 b789fdd96dc2
Gregory Szorc
tests: conditionalize tests for various repo features...
r37434 #if no-reposimplestore
Gregory Szorc
debugcommands: drop offset and length from debugindex by default...
r37301 $ hg --verbose debugindex -f 1 a
Gregory Szorc
debugcommands: drop base revision from debugindex...
r37300 rev flag offset length size link p1 p2 nodeid
0 0000 0 3 2 0 -1 -1 b789fdd96dc2
Gregory Szorc
debugcommands: drop offset and length from debugindex by default...
r37301
Kyle Lippincott
debugindex: respect --debug flag to show full nodeids
r23547 $ hg --debug debugindex -f 1 a
Gregory Szorc
debugcommands: drop base revision from debugindex...
r37300 rev flag offset length size link p1 p2 nodeid
0 0000 0 3 2 0 -1 -1 b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3
Gregory Szorc
tests: conditionalize tests for various repo features...
r37434 #endif
Kyle Lippincott
debugindex: respect --debug flag to show full nodeids
r23547
Gregory Szorc
commands: add debugdeltachain command...
r27263 debugdelta chain basic output
Gregory Szorc
tests: conditionalize tests for various repo features...
r37434 #if reporevlogstore
Gregory Szorc
commands: add debugdeltachain command...
r27263 $ hg debugdeltachain -m
rev chain# chainlen prev delta size rawsize chainsize ratio lindist extradist extraratio
0 1 1 -1 base 44 43 44 1.02326 44 0 0.00000
$ hg debugdeltachain -m -T '{rev} {chainid} {chainlen}\n'
0 1 1
$ hg debugdeltachain -m -Tjson
[
{
"chainid": 1,
"chainlen": 1,
"chainratio": 1.02325581395,
"chainsize": 44,
"compsize": 44,
"deltatype": "base",
"extradist": 0,
"extraratio": 0.0,
"lindist": 44,
"prevrev": -1,
"rev": 0,
"uncompsize": 43
}
]
Kyle Lippincott
debugindex: respect --debug flag to show full nodeids
r23547
Paul Morelle
debugdeltachain: output information about sparse read if enabled
r35050 debugdelta chain with sparse read enabled
$ cat >> $HGRCPATH <<EOF
> [experimental]
> sparse-read = True
> EOF
$ hg debugdeltachain -m
Paul Morelle
debugdeltachain: display how many chunks would be read in sparse-read mode
r35696 rev chain# chainlen prev delta size rawsize chainsize ratio lindist extradist extraratio readsize largestblk rddensity srchunks
0 1 1 -1 base 44 43 44 1.02326 44 0 0.00000 44 44 1.00000 1
Paul Morelle
debugdeltachain: output information about sparse read if enabled
r35050
$ hg debugdeltachain -m -T '{rev} {chainid} {chainlen} {readsize} {largestblock} {readdensity}\n'
0 1 1 44 44 1.0
$ hg debugdeltachain -m -Tjson
[
{
"chainid": 1,
"chainlen": 1,
"chainratio": 1.02325581395,
"chainsize": 44,
"compsize": 44,
"deltatype": "base",
"extradist": 0,
"extraratio": 0.0,
"largestblock": 44,
"lindist": 44,
"prevrev": -1,
"readdensity": 1.0,
"readsize": 44,
"rev": 0,
Paul Morelle
debugdeltachain: display how many chunks would be read in sparse-read mode
r35696 "srchunks": 1,
Paul Morelle
debugdeltachain: output information about sparse read if enabled
r35050 "uncompsize": 43
}
]
Paul Morelle
debugdeltachain: display how many chunks would be read in sparse-read mode
r35696 $ printf "This test checks things.\n" >> a
$ hg ci -m a
$ hg branch other
marked working directory as branch other
(branches are permanent and global, did you want a bookmark?)
$ for i in `$TESTDIR/seq.py 5`; do
> printf "shorter ${i}" >> a
> hg ci -m "a other:$i"
> hg up -q default
> printf "for the branch default we want longer chains: ${i}" >> a
> hg ci -m "a default:$i"
> hg up -q other
> done
$ hg debugdeltachain a -T '{rev} {srchunks}\n' \
> --config experimental.sparse-read.density-threshold=0.50 \
> --config experimental.sparse-read.min-gap-size=0
0 1
1 1
2 1
3 1
4 1
5 1
6 1
7 1
8 1
9 1
10 2
11 1
$ hg --config extensions.strip= strip --no-backup -r 1
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
Mateusz Kwapich
revlog: add config variable for limiting delta-chain length...
r23255 Test max chain len
$ cat >> $HGRCPATH << EOF
Augie Fackler
localrepo: rename revlog.maxchainlen to format.maxchainlen...
r23256 > [format]
Mateusz Kwapich
revlog: add config variable for limiting delta-chain length...
r23255 > maxchainlen=4
> EOF
Augie Fackler
localrepo: rename revlog.maxchainlen to format.maxchainlen...
r23256 $ printf "This test checks if maxchainlen config value is respected also it can serve as basic test for debugrevlog -d <file>.\n" >> a
Mateusz Kwapich
revlog: add config variable for limiting delta-chain length...
r23255 $ hg ci -m a
Augie Fackler
localrepo: rename revlog.maxchainlen to format.maxchainlen...
r23256 $ printf "b\n" >> a
Mateusz Kwapich
revlog: add config variable for limiting delta-chain length...
r23255 $ hg ci -m a
Augie Fackler
localrepo: rename revlog.maxchainlen to format.maxchainlen...
r23256 $ printf "c\n" >> a
Mateusz Kwapich
revlog: add config variable for limiting delta-chain length...
r23255 $ hg ci -m a
Augie Fackler
localrepo: rename revlog.maxchainlen to format.maxchainlen...
r23256 $ printf "d\n" >> a
Mateusz Kwapich
revlog: add config variable for limiting delta-chain length...
r23255 $ hg ci -m a
Augie Fackler
localrepo: rename revlog.maxchainlen to format.maxchainlen...
r23256 $ printf "e\n" >> a
Mateusz Kwapich
revlog: add config variable for limiting delta-chain length...
r23255 $ hg ci -m a
Augie Fackler
localrepo: rename revlog.maxchainlen to format.maxchainlen...
r23256 $ printf "f\n" >> a
Mateusz Kwapich
revlog: add config variable for limiting delta-chain length...
r23255 $ hg ci -m a
Augie Fackler
localrepo: rename revlog.maxchainlen to format.maxchainlen...
r23256 $ printf 'g\n' >> a
Mateusz Kwapich
revlog: add config variable for limiting delta-chain length...
r23255 $ hg ci -m a
Augie Fackler
localrepo: rename revlog.maxchainlen to format.maxchainlen...
r23256 $ printf 'h\n' >> a
Mateusz Kwapich
revlog: add config variable for limiting delta-chain length...
r23255 $ hg ci -m a
Gregory Szorc
tests: conditionalize tests for various repo features...
r37434
Mateusz Kwapich
revlog: add config variable for limiting delta-chain length...
r23255 $ hg debugrevlog -d a
# rev p1rev p2rev start end deltastart base p1 p2 rawsize totalsize compression heads chainlen
0 -1 -1 0 ??? 0 0 0 0 ??? ???? ? 1 0 (glob)
1 0 -1 ??? ??? 0 0 0 0 ??? ???? ? 1 1 (glob)
2 1 -1 ??? ??? ??? ??? ??? 0 ??? ???? ? 1 2 (glob)
3 2 -1 ??? ??? ??? ??? ??? 0 ??? ???? ? 1 3 (glob)
4 3 -1 ??? ??? ??? ??? ??? 0 ??? ???? ? 1 4 (glob)
5 4 -1 ??? ??? ??? ??? ??? 0 ??? ???? ? 1 0 (glob)
6 5 -1 ??? ??? ??? ??? ??? 0 ??? ???? ? 1 1 (glob)
7 6 -1 ??? ??? ??? ??? ??? 0 ??? ???? ? 1 2 (glob)
8 7 -1 ??? ??? ??? ??? ??? 0 ??? ???? ? 1 3 (glob)
Gregory Szorc
tests: conditionalize tests for various repo features...
r37434 #endif
Pierre-Yves David
caches: introduce a 'debugupdatecaches' command...
r32265
Paul Morelle
debuglocks: add tests (and fix typo in early return)
r35395 Test debuglocks command:
$ hg debuglocks
lock: free
wlock: free
* Test setting the lock
waitlock <file> will wait for file to be created. If it isn't in a reasonable
amount of time, displays error message and returns 1
$ waitlock() {
> start=`date +%s`
Paul Morelle
debuglocks: allow setting a lock
r35396 > timeout=5
Paul Morelle
debuglocks: add tests (and fix typo in early return)
r35395 > while [ \( ! -f $1 \) -a \( ! -L $1 \) ]; do
> now=`date +%s`
> if [ "`expr $now - $start`" -gt $timeout ]; then
> echo "timeout: $1 was not created in $timeout seconds"
> return 1
> fi
> sleep 0.1
> done
> }
$ dolock() {
Paul Morelle
debuglocks: allow setting a lock
r35396 > {
> waitlock .hg/unlock
> rm -f .hg/unlock
> echo y
> } | hg debuglocks "$@" > /dev/null
Paul Morelle
debuglocks: add tests (and fix typo in early return)
r35395 > }
Paul Morelle
debuglocks: allow setting a lock
r35396 $ dolock -s &
Paul Morelle
debuglocks: add tests (and fix typo in early return)
r35395 $ waitlock .hg/store/lock
$ hg debuglocks
lock: user *, process * (*s) (glob)
wlock: free
[1]
$ touch .hg/unlock
$ wait
Paul Morelle
debuglocks: allow setting a lock
r35396 $ [ -f .hg/store/lock ] || echo "There is no lock"
There is no lock
Paul Morelle
debuglocks: add tests (and fix typo in early return)
r35395
* Test setting the wlock
Paul Morelle
debuglocks: allow setting a lock
r35396 $ dolock -S &
Paul Morelle
debuglocks: add tests (and fix typo in early return)
r35395 $ waitlock .hg/wlock
$ hg debuglocks
lock: free
wlock: user *, process * (*s) (glob)
[1]
$ touch .hg/unlock
$ wait
Paul Morelle
debuglocks: allow setting a lock
r35396 $ [ -f .hg/wlock ] || echo "There is no wlock"
There is no wlock
Paul Morelle
debuglocks: add tests (and fix typo in early return)
r35395
* Test setting both locks
Paul Morelle
debuglocks: allow setting a lock
r35396 $ dolock -Ss &
Paul Morelle
debuglocks: add tests (and fix typo in early return)
r35395 $ waitlock .hg/wlock && waitlock .hg/store/lock
$ hg debuglocks
lock: user *, process * (*s) (glob)
wlock: user *, process * (*s) (glob)
[2]
Paul Morelle
debuglocks: allow setting a lock
r35396
* Test failing to set a lock
$ hg debuglocks -s
abort: lock is already held
[255]
$ hg debuglocks -S
abort: wlock is already held
[255]
Paul Morelle
debuglocks: add tests (and fix typo in early return)
r35395 $ touch .hg/unlock
$ wait
$ hg debuglocks
lock: free
wlock: free
* Test forcing the lock
Paul Morelle
debuglocks: allow setting a lock
r35396 $ dolock -s &
Paul Morelle
debuglocks: add tests (and fix typo in early return)
r35395 $ waitlock .hg/store/lock
$ hg debuglocks
lock: user *, process * (*s) (glob)
wlock: free
[1]
$ hg debuglocks -L
$ hg debuglocks
lock: free
wlock: free
$ touch .hg/unlock
$ wait
* Test forcing the wlock
Paul Morelle
debuglocks: allow setting a lock
r35396 $ dolock -S &
Paul Morelle
debuglocks: add tests (and fix typo in early return)
r35395 $ waitlock .hg/wlock
$ hg debuglocks
lock: free
wlock: user *, process * (*s) (glob)
[1]
$ hg debuglocks -W
$ hg debuglocks
lock: free
wlock: free
$ touch .hg/unlock
$ wait
Yuya Nishihara
revlog: map rev(wdirid) to WdirUnsupported exception...
r32657 Test WdirUnsupported exception
$ hg debugdata -c ffffffffffffffffffffffffffffffffffffffff
abort: working directory revision cannot be specified
[255]
Pierre-Yves David
caches: introduce a 'debugupdatecaches' command...
r32265 Test cache warming command
$ rm -rf .hg/cache/
$ hg debugupdatecaches --debug
Pierre-Yves David
caches: move the 'updating the branch cache' message in 'updatecaches'...
r32267 updating the branch cache
Pierre-Yves David
caches: introduce a 'debugupdatecaches' command...
r32265 $ ls -r .hg/cache/*
.hg/cache/rbc-revs-v1
.hg/cache/rbc-names-v1
.hg/cache/branch2-served
Mateusz Kwapich
revlog: add config variable for limiting delta-chain length...
r23255 $ cd ..
Mads Kiilerich
util: introduce util.debugstacktrace for showing a stack trace without crashing...
r20244
Test internal debugstacktrace command
$ cat > debugstacktrace.py << EOF
Augie Fackler
tests: update test-debugcommands to pass our import checker
r33955 > from __future__ import absolute_import
> import sys
> from mercurial import util
Mads Kiilerich
util: introduce util.debugstacktrace for showing a stack trace without crashing...
r20244 > def f():
Augie Fackler
tests: update test-debugcommands to pass our import checker
r33955 > util.debugstacktrace(f=sys.stdout)
Mads Kiilerich
tests: rework util.debugstacktrace tests...
r31313 > g()
Mads Kiilerich
util: introduce util.debugstacktrace for showing a stack trace without crashing...
r20244 > def g():
Augie Fackler
tests: update test-debugcommands to pass our import checker
r33955 > util.dst('hello from g\\n', skip=1)
Mads Kiilerich
tests: rework util.debugstacktrace tests...
r31313 > h()
> def h():
Augie Fackler
tests: update test-debugcommands to pass our import checker
r33955 > util.dst('hi ...\\nfrom h hidden in g', 1, depth=2)
Mads Kiilerich
tests: rework util.debugstacktrace tests...
r31313 > f()
Mads Kiilerich
util: introduce util.debugstacktrace for showing a stack trace without crashing...
r20244 > EOF
Augie Fackler
cleanup: use $PYTHON to run python in many more tests...
r32940 $ $PYTHON debugstacktrace.py
Mads Kiilerich
util: introduce util.debugstacktrace for showing a stack trace without crashing...
r20244 stacktrace at:
Augie Fackler
tests: update test-debugcommands to pass our import checker
r33955 debugstacktrace.py:12 in * (glob)
debugstacktrace.py:5 in f
Mads Kiilerich
util: strip trailing newline from debugstacktrace message...
r31314 hello from g at:
Augie Fackler
tests: update test-debugcommands to pass our import checker
r33955 debugstacktrace.py:12 in * (glob)
debugstacktrace.py:6 in f
Mads Kiilerich
tests: rework util.debugstacktrace tests...
r31313 hi ...
from h hidden in g at:
Augie Fackler
tests: update test-debugcommands to pass our import checker
r33955 debugstacktrace.py:6 in f
debugstacktrace.py:9 in g
Boris Feld
debug: add a debugcapabilities commands...
r34960
Test debugcapabilities command:
$ hg debugcapabilities ./debugrevlog/
Main capabilities:
branchmap
Boris Feld
test-pattern: actually update tests using the patterns...
r35073 $USUAL_BUNDLE2_CAPS$
Boris Feld
debug: add a debugcapabilities commands...
r34960 getbundle
known
lookup
pushkey
unbundle
Boris Feld
debug: print parsed bundle2 capabilities with debugcapabilities...
r34961 Bundle2 capabilities:
HG20
Boris Feld
push: include a 'check:bookmarks' part when possible...
r35260 bookmarks
Boris Feld
debug: print parsed bundle2 capabilities with debugcapabilities...
r34961 changegroup
01
02
digests
md5
sha1
sha512
error
abort
unsupportedcontent
pushraced
pushkey
hgtagsfnodes
listkeys
phases
heads
pushkey
remote-changegroup
http
https
Boris Feld
revbranchcache: advertise and use 'rbc' exchange capability...
r36986 rev-branch-cache
Gregory Szorc
bundle2: always advertise client support for stream parts...
r35810 stream
v2
Gregory Szorc
debugcommands: introduce debugpeer command...
r35947
Test debugpeer
$ hg --config ui.ssh="\"$PYTHON\" \"$TESTDIR/dummyssh\"" debugpeer ssh://user@dummy/debugrevlog
url: ssh://user@dummy/debugrevlog
local: no
pushable: yes
$ hg --config ui.ssh="\"$PYTHON\" \"$TESTDIR/dummyssh\"" --debug debugpeer ssh://user@dummy/debugrevlog
Matt Harbison
tests: stabilize ssh tests on Windows...
r36007 running "*" "*/tests/dummyssh" 'user@dummy' 'hg -R debugrevlog serve --stdio' (glob) (no-windows !)
running "*" "*\tests/dummyssh" "user@dummy" "hg -R debugrevlog serve --stdio" (glob) (windows !)
Boris Feld
sshpeer: reflect actual command activity one handshake...
r37831 devel-peer-request: hello+between
devel-peer-request: pairs: 81 bytes
Gregory Szorc
debugcommands: introduce debugpeer command...
r35947 sending hello command
sending between command
Joerg Sonnenberger
wireproto: provide accessors for client capabilities...
r37411 remote: 413
Joerg Sonnenberger
wireproto: send server capabilities in canonical order...
r37431 remote: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS_SERVER$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
Gregory Szorc
debugcommands: introduce debugpeer command...
r35947 remote: 1
Joerg Sonnenberger
wireproto: provide accessors for client capabilities...
r37411 devel-peer-request: protocaps
devel-peer-request: caps: * bytes (glob)
sending protocaps command
Gregory Szorc
debugcommands: introduce debugpeer command...
r35947 url: ssh://user@dummy/debugrevlog
local: no
pushable: yes