tests/test-demandimport.py
author Nicolas Dumazet <nicdumz.commits@gmail.com>
Sun, 24 May 2009 18:43:05 +0900
changeset 8599 1f706b1b62f3
parent 8449 807f3f5c60e9
child 9174 705278e70457
permissions -rw-r--r--
inotify: server: refactor updatestatus() * Instead of one entry point, use two entry points, updatefile() and deletefile(), both internally calling the helper function _updatestatus * Do not rely on TypeError to detect the type of oldstatus: use isinstance * The call updatestatus(wpath, None) in deleted() was a bit particular: because no osstat and no newstatus was given, the newstatus was determined using the data stored internally. To replace this exact behavior with the new code, one would use: root, fn = self.split(wpath) d = self.dir(self.tree, root) self.filedeleted(wpath, d.get(fn)) This, however, duplicates code with _updatestatus(), which led us to an interesting question: why are we basing ourselves on repowatcher data to update the status, where everywhere else, we are comparing against dirsate? There is no reason to do this, which is why the new code is: self.filedeleted(wpath, self.repo.dirstate[wpath]) Incidentally, after this, the test for issue1371 passes again.

#!/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.stdout =", f(re.stdout)
print "re =", f(re)