view tests/test-demandimport.py @ 14200:dc733eec9169

test-treediscovery: fix escaping for both dash and bash A '\n' on the command line is turned into a newline by dash, but kept as-is by bash, which resulted in a syntax error in the config file. Luckily, dash wont turn '\n' into a newline when it is part of a here-doc, so we can write the config file using that technique.
author Martin Geisler <mg@lazybytes.net>
date Thu, 05 May 2011 19:29:02 +0200
parents c0290fc6b486
children 54af51c18c4c
line wrap: on
line source

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)