tests/test-demandimport.py
author Pierre-Yves David <pierre-yves.david@fb.com>
Tue, 02 Jun 2015 00:43:11 -0700
changeset 25445 1457c1f28c92
parent 23643 2205d00b6d2b
child 27535 0d0f4070f6d7
permissions -rw-r--r--
pull: allow a generic way to pass parameters to the pull operation We have been feeling the need for this in extensions for quite some time. This will be used to pass remote bookmark information around in the next changesets.

from mercurial import demandimport
demandimport.enable()

import os
if os.name != 'nt':
    try:
        import distutils.msvc9compiler
        print ('distutils.msvc9compiler needs to be an immediate '
               'importerror on non-windows platforms')
        distutils.msvc9compiler
    except ImportError:
        pass

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)