##// END OF EJS Templates
tests: finally fix up test-fuzz-targets.t...
tests: finally fix up test-fuzz-targets.t It's been failing on my workstation for a while, since I have a new enough LLVM that I had the fuzzer goo, but not so new that I actually had FuzzedDataProvider. This is a better solution all around in my opinion. I _believe_ this should let us run these tests on most systems, even those using GCC instead of clang. That said, my one attempt to test this on my macOS laptop failed miserably, and I don't feel like doing more work on this right now. Differential Revision: https://phab.mercurial-scm.org/D7566

File last commit:

r39525:f1186c29 default
r44267:19da643d default
Show More
test-pull-pull-corruption.t
75 lines | 1.7 KiB | text/troff | Tads3Lexer
/ tests / test-pull-pull-corruption.t
Matt Mackall
tests: unify test-pull-pull-corruption
r12481 Corrupt an hg repo with two pulls.
create one repo with a long history
$ hg init source1
$ cd source1
$ touch foo
$ hg add foo
$ for i in 1 2 3 4 5 6 7 8 9 10; do
> echo $i >> foo
> hg ci -m $i
> done
$ cd ..
create one repo with a shorter history
$ hg clone -r 0 source1 source2
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
Denis Laxalde
transaction-summary: show the range of new revisions upon pull/unbundle (BC)...
r34662 new changesets 495a0ec48aaf
Matt Mackall
tests: unify test-pull-pull-corruption
r12481 updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd source2
$ echo a >> foo
$ hg ci -m a
$ cd ..
create a third repo to pull both other repos into it
$ hg init corrupted
$ cd corrupted
use a hook to make the second pull start while the first one is still running
$ echo '[hooks]' >> .hg/hgrc
$ echo 'prechangegroup = sleep 5' >> .hg/hgrc
start a pull...
Mads Kiilerich
tests: remove race in test-pull-pull-corruption.t...
r16481 $ hg pull ../source1 > pull.out 2>&1 &
Matt Mackall
tests: unify test-pull-pull-corruption
r12481
... and start another pull before the first one has finished
$ sleep 1
$ hg pull ../source2 2>/dev/null
pulling from ../source2
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files (+1 heads)
Denis Laxalde
transaction-summary: show the range of new revisions upon pull/unbundle (BC)...
r34662 new changesets ca3c05af513e
Matt Mackall
tests: unify test-pull-pull-corruption
r12481 (run 'hg heads' to see heads, 'hg merge' to merge)
Mads Kiilerich
tests: remove race in test-pull-pull-corruption.t...
r16481 $ cat pull.out
pulling from ../source1
requesting all changes
adding changesets
adding manifests
adding file changes
added 10 changesets with 10 changes to 1 files
Denis Laxalde
transaction-summary: show the range of new revisions upon pull/unbundle (BC)...
r34662 new changesets 495a0ec48aaf:1e7b6c812ca8
Mads Kiilerich
tests: remove race in test-pull-pull-corruption.t...
r16481 (run 'hg update' to get a working copy)
Matt Mackall
tests: unify test-pull-pull-corruption
r12481
see the result
$ wait
$ hg verify
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
Meirambek Omyrzak
verify: make output less confusing (issue5924)...
r39525 checked 11 changesets with 11 changes to 1 files
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913
$ cd ..