tests/test-demandimport.py
author Mads Kiilerich <madski@unity3d.com>
Tue, 08 Apr 2014 01:35:13 +0200
changeset 21025 54af51c18c4c
parent 13083 c0290fc6b486
child 23643 2205d00b6d2b
permissions -rw-r--r--
demandimport: make it possible to disable by setting HGDEMANDIMPORT=disable Convenient for debugging weird problems that are caused by demandimport or obfuscated by it. This is an undocumented developer feature.

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)
    l = rsub("'<[a-z]*>'", "'<whatever>'", 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)

demandimport.disable()
os.environ['HGDEMANDIMPORT'] = 'disable'
demandimport.enable()
from mercurial import node
print "node =", f(node)