Mercurial > hg
changeset 17802:a421459b83c0
test: use proper subclassing in `test-issue2137.t`.
To use changelog filtering on the repository, we plan to use "proxy" object that
perfectly mock a repository but with a filtered changelog.
Altering the `repo.commit` function using `extensions.wrapfunction` will prevent
the logic to propagate to the proxy class by the mean of inheritance.
We changes the extension to use subclassing as expectable.
author | Pierre-Yves David <pierre-yves.david@ens-lyon.org> |
---|---|
date | Tue, 16 Oct 2012 23:12:07 +0200 |
parents | 03554dfc7ced |
children | 1479572db256 |
files | tests/test-issue2137.t |
diffstat | 1 files changed, 9 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/tests/test-issue2137.t Thu Oct 18 00:44:32 2012 +0200 +++ b/tests/test-issue2137.t Tue Oct 16 23:12:07 2012 +0200 @@ -12,15 +12,15 @@ > 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) + > class wraprepo(repo.__class__): + > def commit(self, *args, **kwargs): + > result = super(wraprepo, self).commit(*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 + > repo.__class__ = wraprepo > > def extsetup(ui): > revlog._maxinline = 8 # split out 00changelog.d early