mirror of
https://github.com/facebook/sapling.git
synced 2024-10-09 00:14:35 +03:00
fa1c4e5ebe
Many tests didn't change back from subdirectories at the end of the tests ... and they don't have to. The missing 'cd ..' could always be added when another test case is added to the test file. This change do that tests (99.5%) consistently end up in $TESTDIR where they started, thus making it simpler to extend them or move them around.
57 lines
1.5 KiB
Perl
57 lines
1.5 KiB
Perl
http://mercurial.selenic.com/bts/issue2137
|
|
|
|
Setup:
|
|
|
|
create a little extension that has 3 side-effects:
|
|
1) ensure changelog data is not inlined
|
|
2) make revlog to use lazyparser
|
|
3) test that repo.lookup() works
|
|
1 and 2 are preconditions for the bug; 3 is the bug.
|
|
|
|
$ cat > commitwrapper.py <<EOF
|
|
> from mercurial import extensions, node, revlog
|
|
>
|
|
> def reposetup(ui, repo):
|
|
> def wrapcommit(orig, *args, **kwargs):
|
|
> result = orig(*args, **kwargs)
|
|
> tip1 = node.short(repo.changelog.tip())
|
|
> tip2 = node.short(repo.lookup(tip1))
|
|
> assert tip1 == tip2
|
|
> ui.write('new tip: %s\n' % tip1)
|
|
> return result
|
|
>
|
|
> extensions.wrapfunction(repo, 'commit', wrapcommit)
|
|
>
|
|
> def extsetup(ui):
|
|
> revlog._maxinline = 8 # split out 00changelog.d early
|
|
> revlog._prereadsize = 8 # use revlog.lazyparser
|
|
> EOF
|
|
|
|
$ cat >> $HGRCPATH <<EOF
|
|
> [extensions]
|
|
> commitwrapper = `pwd`/commitwrapper.py
|
|
> EOF
|
|
|
|
$ hg init repo1
|
|
$ cd repo1
|
|
$ echo a > a
|
|
$ hg commit -A -m'add a with a long commit message to make the changelog a bit bigger'
|
|
adding a
|
|
new tip: 553596fad57b
|
|
|
|
Test that new changesets are visible to repo.lookup():
|
|
|
|
$ echo a >> a
|
|
$ hg commit -m'one more commit to demonstrate the bug'
|
|
new tip: 799ae3599e0e
|
|
|
|
$ hg tip
|
|
changeset: 1:799ae3599e0e
|
|
tag: tip
|
|
user: test
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
summary: one more commit to demonstrate the bug
|
|
|
|
|
|
$ cd ..
|