Mercurial > public > mercurial-scm > hg
diff tests/test-issue2137.t @ 12204:c55d69c5fb77
tests: unify test-issue1438 and test-issue2137
author | Adrian Buehlmann <adrian@cadifra.com> |
---|---|
date | Fri, 10 Sep 2010 17:59:17 +0200 |
parents | tests/test-issue2137@6bbe4886740e |
children | b63f6422d2a7 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-issue2137.t Fri Sep 10 17:59:17 2010 +0200 @@ -0,0 +1,56 @@ +# 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 + +