tests/test-demandimport.py
author Durham Goode <durham@fb.com>
Tue, 25 Aug 2015 15:54:33 -0700
changeset 26078 5ca587348875
parent 23643 2205d00b6d2b
child 27535 0d0f4070f6d7
permissions -rw-r--r--
convert: fix syncing deletes from p2 merge commit Recently we fixed converting merges to correctly sync changes from p2. We missed the case of deletes though (so p2 deleted a file that p1 had not yet deleted, and the file does not belong to the source). The fix is to detect when p2 doesn't have the file, so we just sync it as a delete to p1 in the merge. Updated the test, and verified it failed before the fix.

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)