tests/test-demandimport.py
author Greg Ward <greg-hg@gerg.ca>
Tue, 15 Jun 2010 13:04:22 -0400
changeset 11402 367ce8514da0
parent 9174 705278e70457
child 12865 4c50552fc9bc
permissions -rw-r--r--
extensions: recommend against using wrapfunction for repo methods Instead, all extensions should use the "dynamic subclass" trick: subclass repo.__class__ and then replace repo.__class__ with your new subclass. This avoids conflicts that happen when one extension uses wrapfunction and another uses subclassing to extend the same method of localrepository.

#!/usr/bin/env python

from mercurial import demandimport
demandimport.enable()

import re

rsub = re.sub
def f(obj):
    l = repr(obj)
    l = rsub("0x[0-9a-fA-F]+", "0x?", l)
    l = rsub("from '.*'", "from '?'", l)
    return l

import os

print "os =", f(os)
print "os.system =", f(os.system)
print "os =", f(os)

from mercurial import util

print "util =", f(util)
print "util.system =", f(util.system)
print "util =", f(util)
print "util.system =", f(util.system)

import re as fred
print "fred =", f(fred)

import sys as re
print "re =", f(re)

print "fred =", f(fred)
print "fred.sub =", f(fred.sub)
print "fred =", f(fred)

print "re =", f(re)
print "re.stderr =", f(re.stderr)
print "re =", f(re)