Cope with a test epocroot that's not in $EPOCROOT/test/testepocroot wip
authorraptorbot <raptorbot@systemstesthead.symbian.intra>
Mon, 23 Nov 2009 23:31:36 +0000
branchwip
changeset 16 4d5bb8330a27
parent 15 9d01f1c36469
child 17 d5821e136caa
Cope with a test epocroot that's not in $EPOCROOT/test/testepocroot Don't delete mercurial repositories when cleaning! rebuild tools
sbsv2/raptor/test/common/raptor_tests.py
sbsv2/raptor/util/talon/Makefile
sbsv2/raptor/win32/bin/ransleep.exe
sbsv2/raptor/win32/bin/talon.exe
sbsv2/raptor/win32/bin/talonctl.exe
--- 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__ + ":"), \
--- 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
Binary file sbsv2/raptor/win32/bin/ransleep.exe has changed
Binary file sbsv2/raptor/win32/bin/talon.exe has changed
Binary file sbsv2/raptor/win32/bin/talonctl.exe has changed