mirror of
https://github.com/facebook/sapling.git
synced 2024-10-09 16:31:02 +03:00
1cde63d99c
Summary: Now they are unnecessary since `run-tests.py` will set up `PYTONPATH` correctly. Differential Revision: D6865042 fbshipit-source-id: ca95314f725968e14349a9d916434aa832c596f9
165 lines
4.1 KiB
Perl
165 lines
4.1 KiB
Perl
Setup
|
|
|
|
|
|
Check diagnosis, debugging information
|
|
1) Setup configuration
|
|
$ mkcommit() {
|
|
> echo "$1" > "$1"
|
|
> hg add "$1"
|
|
> echo "add $1" > msg
|
|
> echo "" >> msg
|
|
> hg ci -l msg
|
|
> }
|
|
|
|
2) Check access pattern
|
|
|
|
$ printaccessedrevs() {
|
|
> [ ! -f "$TESTTMP/logfile" ] && echo "no access" && return
|
|
> $PYTHON "$TESTTMP/summary.py" "$TESTTMP/cachedrevs" "$TESTTMP/logfile"
|
|
> rm "$TESTTMP/logfile"
|
|
> }
|
|
|
|
$ savecachedrevs() {
|
|
> (printf "%d " "-1"
|
|
> hg log -r "fastmanifesttocache()" -T "{rev} "
|
|
> echo "") > $TESTTMP/cachedrevs
|
|
> }
|
|
|
|
|
|
$ cat > $TESTTMP/summary.py << EOM
|
|
> import sys
|
|
> def summary(cached,accessed):
|
|
> accessed = [line.strip() for line in open(accessed).readlines()]
|
|
> cached = open(cached).readlines()[0]
|
|
> accessedset = set(accessed)
|
|
> cachedset = set(cached.strip().split(' '))
|
|
> print '================================================='
|
|
> print 'CACHE MISS %s' % sorted(accessedset - cachedset)
|
|
> print 'CACHE HIT %s' % sorted(accessedset & cachedset)
|
|
> print '================================================='
|
|
> summary(sys.argv[1], sys.argv[2])
|
|
> EOM
|
|
|
|
$ clearlogs() {
|
|
> rm "$TESTTMP/logfile"
|
|
> }
|
|
|
|
$ mkdir accesspattern
|
|
$ cd accesspattern
|
|
$ hg init
|
|
$ cat >> .hg/hgrc << EOF
|
|
> [extensions]
|
|
> fastmanifest=
|
|
> # Similar to test-fb-hgext-fastmanifest.t, turn off simplecache to ensure we
|
|
> # hit only fastmanifest in this test.
|
|
> simplecache=!
|
|
> [fastmanifest]
|
|
> cachecutoffdays=-1
|
|
> logfile=$TESTTMP/logfile
|
|
> EOF
|
|
|
|
2a) Commit
|
|
|
|
$ savecachedrevs
|
|
$ mkcommit a
|
|
|
|
$ savecachedrevs
|
|
$ mkcommit b
|
|
$ printaccessedrevs
|
|
=================================================
|
|
CACHE MISS []
|
|
CACHE HIT ['-1', '0']
|
|
=================================================
|
|
|
|
$ echo "c" > a
|
|
$ savecachedrevs
|
|
$ hg commit -m "new a"
|
|
$ printaccessedrevs
|
|
=================================================
|
|
CACHE MISS []
|
|
CACHE HIT ['-1', '1']
|
|
=================================================
|
|
|
|
2b) Diff
|
|
|
|
$ savecachedrevs
|
|
$ hg diff -c . > /dev/null
|
|
$ printaccessedrevs
|
|
=================================================
|
|
CACHE MISS []
|
|
CACHE HIT ['1', '2']
|
|
=================================================
|
|
|
|
$ savecachedrevs
|
|
$ hg diff -c ".^" > /dev/null
|
|
$ printaccessedrevs
|
|
=================================================
|
|
CACHE MISS []
|
|
CACHE HIT ['0', '1']
|
|
=================================================
|
|
|
|
$ savecachedrevs
|
|
$ hg diff -r ".^" > /dev/null
|
|
$ clearlogs
|
|
|
|
2c) Log (TODO)
|
|
|
|
2d) Update
|
|
|
|
$ savecachedrevs
|
|
$ hg update ".^^" -q
|
|
$ printaccessedrevs
|
|
=================================================
|
|
CACHE MISS []
|
|
CACHE HIT ['0', '2']
|
|
=================================================
|
|
|
|
$ savecachedrevs
|
|
$ hg update tip -q
|
|
$ printaccessedrevs
|
|
=================================================
|
|
CACHE MISS []
|
|
CACHE HIT ['0', '2']
|
|
=================================================
|
|
|
|
2e) Rebase
|
|
$ mkcommit c
|
|
$ mkcommit d
|
|
$ hg update ".^^" -q
|
|
$ mkcommit e
|
|
$ mkcommit f
|
|
$ hg log -G -r 0:: -T "{rev} {node} {desc|firstline}"
|
|
@ 6 dd82c74514cbce45a3c61caf7ffaba16de19cec4 add f
|
|
|
|
|
o 5 5234b99c4f1d5b2ea45ea608550c66015f8f37ac add e
|
|
|
|
|
| o 4 cab0f51bb3f5493da8e7406e3967ef925e2e7a1f add d
|
|
| |
|
|
| o 3 329ad08f9742620b0b3be4305ca0c911d5517e84 add c
|
|
|/
|
|
o 2 00e42334abdae99958cd58b9be90fc940ca2b491 new a
|
|
|
|
|
o 1 7c3bad9141dcb46ff89abf5f61856facd56e476c add b
|
|
|
|
|
o 0 1f0dee641bb7258c56bd60e93edfa2405381c41e add a
|
|
|
|
|
|
|
|
$ savecachedrevs
|
|
$ printaccessedrevs
|
|
=================================================
|
|
CACHE MISS []
|
|
CACHE HIT ['-1', '2', '3', '4', '5']
|
|
=================================================
|
|
$ hg rebase -r 5:: -d 4 --config extensions.rebase=
|
|
rebasing 5:5234b99c4f1d "add e"
|
|
rebasing 6:dd82c74514cb "add f" (tip)
|
|
saved backup bundle to $TESTTMP/accesspattern/.hg/strip-backup/5234b99c4f1d-c2e049ad-rebase.hg (glob)
|
|
$ printaccessedrevs
|
|
=================================================
|
|
CACHE MISS ['7', '8']
|
|
CACHE HIT ['-1', '2', '4', '5', '6']
|
|
=================================================
|
|
|
|
$ cd ..
|