# HG changeset patch # User raptorbot # Date 1259019096 0 # Node ID 4d5bb8330a27bed453cf650374cafc133af796d4 # Parent 9d01f1c36469616250e54f544c518a4b245d76bc Cope with a test epocroot that's not in $EPOCROOT/test/testepocroot Don't delete mercurial repositories when cleaning! rebuild tools diff -r 9d01f1c36469 -r 4d5bb8330a27 sbsv2/raptor/test/common/raptor_tests.py --- a/sbsv2/raptor/test/common/raptor_tests.py Mon Nov 23 21:12:30 2009 +0000 +++ b/sbsv2/raptor/test/common/raptor_tests.py Mon Nov 23 23:31:36 2009 +0000 @@ -115,36 +115,42 @@ This method walks through epocroot and cleans every file and folder that is not present in the manifest file """ - print "Cleaning Epocroot..." + epocroot = os.path.abspath(os.environ['EPOCROOT']).replace('\\','/') + print "Cleaning Epocroot: %s" % epocroot all_files = {} # dictionary to hold all files folders = [] # holds all unique folders in manifest host_platform = os.environ["HOSTPLATFORM_DIR"] try: - mani = "./epocroot/manifest" + mani = "$(EPOCROOT)/manifest" manifest = open(ReplaceEnvs(mani), "r") + le = len(epocroot) for line in manifest: line = line.replace("$(HOSTPLATFORM_DIR)", host_platform) + line = line.replace("./", epocroot+"/").rstrip("\n") # Get rid of newline char and add to dictionary - all_files[line.rstrip("\n")] = True + all_files[line] = True # This bit makes a record of unique folders into a list - end = 0 - while end != -1: # Look through the parent folders - end = line.rfind("/") - line = line[:end] - if line not in folders: - folders.append(line) + pos = line.rfind("/", le) + while pos > le: # Look through the parent folders + f = line[:pos] + if f not in folders: + folders.append(f) + pos = line.rfind("/", le, pos) + + # This algorithm walks through epocroot and handles files and folders - walkpath = "./epocroot" + walkpath = "$(EPOCROOT)" for (root, dirs, files) in os.walk(ReplaceEnvs(walkpath), topdown = False): + if root.find(".hg") != -1: + continue + # This loop handles all files for name in files: name = os.path.join(root, name).replace("\\", "/") - name = name.replace("./epocroot/", "./") if name not in all_files: try: - name = ReplaceEnvs(name.replace("./", "./epocroot/")) os.remove(name) except: # chmod to rw and try again @@ -160,11 +166,10 @@ # This loop handles folders for name in dirs: name = os.path.join(root, name).replace("\\", "/") - name = name.replace("./epocroot/", "./") if name not in all_files and name not in folders: # Remove the folder fully with no errors if full try: - rmtree(ReplaceEnvs(name.replace("./", "./epocroot/"))) + rmtree(ReplaceEnvs(name)) except: print "\nEPOCROOT-CLEAN ERROR:" print (sys.exc_type.__name__ + ":"), \ diff -r 9d01f1c36469 -r 4d5bb8330a27 sbsv2/raptor/util/talon/Makefile --- a/sbsv2/raptor/util/talon/Makefile Mon Nov 23 21:12:30 2009 +0000 +++ b/sbsv2/raptor/util/talon/Makefile Mon Nov 23 23:31:36 2009 +0000 @@ -23,8 +23,12 @@ ifeq ($(filter win,$(HOSTPLATFORM)),win) PROCESS_C:=process_win.c CFLAGS:=-DHOST_WIN +ifeq ($(SBS_MINGW),) LDFLAGS:=$(subst \,/,$(SBS_HOME:\=/)\win32\mingw\lib\libiberty.a) else +LDFLAGS:=$(subst \,/,$(SBS_MINGW:\=/)\lib\libiberty.a) +endif +else PROCESS_C:=process.c CFLAGS:=-g linux_PTHREADLIBS:=-lpthread diff -r 9d01f1c36469 -r 4d5bb8330a27 sbsv2/raptor/win32/bin/ransleep.exe Binary file sbsv2/raptor/win32/bin/ransleep.exe has changed diff -r 9d01f1c36469 -r 4d5bb8330a27 sbsv2/raptor/win32/bin/talon.exe Binary file sbsv2/raptor/win32/bin/talon.exe has changed diff -r 9d01f1c36469 -r 4d5bb8330a27 sbsv2/raptor/win32/bin/talonctl.exe Binary file sbsv2/raptor/win32/bin/talonctl.exe has changed