mirror of
https://github.com/facebook/sapling.git
synced 2024-12-28 23:54:12 +03:00
92f6f35e7a
Summary: This diff marks **ALL** mercurial tests requiring Python 2 feature. After you fixes some tests, simply remove the `py2` feature requirement and that tests will be continuously run after your diff is landed. To bypass this feature requirement, run the tests command with `HGTEST_FORCE_PY2=1`. For example: ``` HGTEST_FORCE_PY2=1 buck test //eden/scm/tests:hg_run_tests ``` or ``` HGTEST_FORCE_PY2=1 python run-tests.py ``` ---- Basically this diff are created with the following commands: ``` $ sed -i 's/import feature\(.*\)$/import feature\1\n\nfeature.require(["py2"])/' test-*-t.py $ sed -i '1s/^/#require py2\n/' test-*.t $ ls | grep -P "^test.*(?<\!-t)\.py$" > list && vim -p $(cat list) # manually adding feature requires for these Python tests. ``` (Note: this ignores all push blocking failures!) ignore-conflict-markers Reviewed By: singhsrb Differential Revision: D19655148 fbshipit-source-id: 985e3ccb4010cc559049f1d89f8909bc2d9b5e20
85 lines
2.7 KiB
Perl
85 lines
2.7 KiB
Perl
#require py2
|
|
#chg-compatible
|
|
|
|
|
|
$ enable fastannotate
|
|
|
|
$ hg init repo
|
|
$ cd repo
|
|
$ for i in 0 1 2 3 4; do
|
|
> echo $i >> a
|
|
> echo $i >> b
|
|
> hg commit -A -m $i a b
|
|
> done
|
|
|
|
use the "debugbuildannotatecache" command to build annotate cache at rev 0
|
|
|
|
$ hg debugbuildannotatecache --debug --config fastannotate.mainbranch=0
|
|
fastannotate: a: 1 new changesets in the main branch
|
|
fastannotate: b: 1 new changesets in the main branch
|
|
|
|
"debugbuildannotatecache" should work with broken cache (and other files would
|
|
be built without being affected). note: linelog being broken is only noticed
|
|
when we try to append to it.
|
|
|
|
$ echo 'CORRUPT!' >> .hg/fastannotate/default/a.m
|
|
$ hg debugbuildannotatecache --debug --config fastannotate.mainbranch=1
|
|
fastannotate: a: rebuilding broken cache
|
|
fastannotate: a: 2 new changesets in the main branch
|
|
fastannotate: b: 1 new changesets in the main branch
|
|
|
|
$ echo 'CANNOT REUSE!' > .hg/fastannotate/default/a.l
|
|
$ hg debugbuildannotatecache --debug --config fastannotate.mainbranch=2
|
|
fastannotate: a: rebuilding broken cache
|
|
fastannotate: a: 3 new changesets in the main branch
|
|
fastannotate: b: 1 new changesets in the main branch
|
|
|
|
$ rm .hg/fastannotate/default/a.m
|
|
$ hg debugbuildannotatecache --debug --config fastannotate.mainbranch=3
|
|
fastannotate: a: rebuilding broken cache
|
|
fastannotate: a: 4 new changesets in the main branch
|
|
fastannotate: b: 1 new changesets in the main branch
|
|
|
|
$ rm .hg/fastannotate/default/a.l
|
|
$ hg debugbuildannotatecache --debug --config fastannotate.mainbranch=3
|
|
$ hg debugbuildannotatecache --debug --config fastannotate.mainbranch=4
|
|
fastannotate: a: rebuilding broken cache
|
|
fastannotate: a: 5 new changesets in the main branch
|
|
fastannotate: b: 1 new changesets in the main branch
|
|
|
|
"fastannotate" should deal with file corruption as well
|
|
|
|
$ rm -rf .hg/fastannotate
|
|
$ hg fastannotate --debug -r 0 a
|
|
fastannotate: a: 1 new changesets in the main branch
|
|
0: 0
|
|
|
|
$ echo 'CORRUPT!' >> .hg/fastannotate/default/a.m
|
|
$ hg fastannotate --debug -r 0 a
|
|
fastannotate: a: cache broken and deleted
|
|
fastannotate: a: 1 new changesets in the main branch
|
|
0: 0
|
|
|
|
$ echo 'CORRUPT!' > .hg/fastannotate/default/a.l
|
|
$ hg fastannotate --debug -r 1 a
|
|
fastannotate: a: cache broken and deleted
|
|
fastannotate: a: 2 new changesets in the main branch
|
|
0: 0
|
|
1: 1
|
|
|
|
$ rm .hg/fastannotate/default/a.l
|
|
$ hg fastannotate --debug -r 1 a
|
|
fastannotate: a: using fast path (resolved fctx: True)
|
|
fastannotate: a: cache broken and deleted
|
|
fastannotate: a: 2 new changesets in the main branch
|
|
0: 0
|
|
1: 1
|
|
|
|
$ rm .hg/fastannotate/default/a.m
|
|
$ hg fastannotate --debug -r 2 a
|
|
fastannotate: a: cache broken and deleted
|
|
fastannotate: a: 3 new changesets in the main branch
|
|
0: 0
|
|
1: 1
|
|
2: 2
|