--- orig/buildbot/test/test_runner.py 
+++ mod/buildbot/test/test_runner.py 
@@ -13,7 +13,8 @@ 
def make(self, d, key): 
# we use a wacky filename here in case the test code discovers the 
# user's real ~/.buildbot/ directory 
- os.makedirs(os.sep.join(d + .buildbot?)) 
+ if not os.path.isdir(os.sep.join(d + .buildbot?)): 
+ os.makedirs(os.sep.join(d + .buildbot?)) 
f = open(os.sep.join(d + [".buildbot", self.optionsFile]), "w")
 f.write("key = '%s'\n" % key) 
f.close() 

@@ -38,7 +39,8 @@ 
self.check(["home", "dir1"], "home")*
self.home = os.path.abspath("nothome") 
- os.makedirs(os.sep.join(["nothome", "dir1"])) 
+ if not os.path.isdir(os.sep.join(["nothome", "dir1"])): 
+ os.makedirs(os.sep.join(["nothome", "dir1"])) 
self.check(["nothome", "dir1"], None)

def doForce(self, args, expected):

C:\Programme\buildbot.tla>tla file-diffs buildbot/test/test_vc.py 
--- orig/buildbot/test/test_vc.py 
+++ mod/buildbot/test/test_vc.py
 @@ -294,8 +294,10 @@ 
 
 raise NotImplementedError?

def populate(self, basedir): 
- os.makedirs(basedir) 
- os.makedirs(os.path.join(basedir, "subdir")) 
+ if not os.path.isdir(os.path.abspath(basedir)): 
+ os.makedirs(os.path.abspath(basedir)) 
+ if not os.path.isdir(os.path.join(basedir, "subdir")): 
+ os.makedirs(os.path.join(basedir, "subdir")) open(os.path.join(basedir, "main.c"), "w").write(MAIN_C) 
self.version = 1 
version_c = VERSION_C % self.version 
@@ -1035,7 +1037,9 @@ 
return d

def _capable(self, v, vcexe): 
- m = re.search(r'\(CVS\) ([\d\.]+) ', v) 
+ # Consider also CVS for NT which announces itself like 
+ # Concurrent Versions System (CVSNT) 2.0.51d (client/server) 
+ m = re.search(r'\(CVS[NT]*\) ([\d.]+)', v) 
if not m: 
log.msg("couldn't identify CVS version number in output:") 
log.msg("%s" % v) 

@@ -1333,10 +1337,12 @@ 
self.rep_branch = os.path.join(self.darcs_base, "branch") 
tmp = os.path.join(self.repbase, "darcstmp")

- os.makedirs(self.rep_trunk) 
+ if not os.path.isdir(self.rep_trunk): 
+ os.makedirs(self.rep_trunk) 
w = self.dovc(self.rep_trunk, "initialize")
yield w; w.getResult() 
- os.makedirs(self.rep_branch) 
+ if not os.path.isdir(self.rep_branch): 
+ os.makedirs(self.rep_branch) 
w = self.dovc(self.rep_branch, "initialize")
yield w; w.getResult()

@@ -1366,7 +1372,8 @@

def vc_revise(self): 
tmp = os.path.join(self.repbase, "darcstmp") 
- os.makedirs(tmp)
+ if not os.path.isdir(self.tmp):
+ os.makedirs(tmp) 
w = self.dovc(tmp, "initialize") 
yield w; w.getResult()
w = self.dovc(tmp, "pull -a %s" % self.rep_trunk) 
   
@@ -1927,10 +1934,12 @@ 
   
self.rep_branch = os.path.join(self.hg_base, "branch")
tmp = os.path.join(self.hg_base, "hgtmp")
- os.makedirs(self.rep_trunk) 
+ if not os.path.isdir(self.rep_trunk):
+ os.makedirs(self.rep_trunk) 
w = self.dovc(self.rep_trunk, "init")
yield w; w.getResult() - os.makedirs(self.rep_branch) 
+ if not os.path.isdir(self.rep_branch): 
+ os.makedirs(self.rep_branch) 
w = self.dovc(self.rep_branch, "init") 
yield w; w.getResult() 
