Catch up wip
authordavid.stone@nokia.com
Mon, 07 Dec 2009 14:58:25 +0000
branchwip
changeset 63 f6e0bbce6a2f
parent 62 8b2e679a0122 (current diff)
parent 37 d806416fc9bf (diff)
child 64 48417ae3ae38
Catch up
sbsv2/raptor/test/smoke_suite/user_tools.py
--- a/sbsv2/raptor/RELEASE-NOTES.txt	Mon Dec 07 14:50:23 2009 +0000
+++ b/sbsv2/raptor/RELEASE-NOTES.txt	Mon Dec 07 14:58:25 2009 +0000
@@ -1,6 +1,21 @@
 
 Release Notes for Symbian Build System v2
 
+version 2.11.1
+
+Other Changes:
+GCCE 4.4.1 variant added
+Restored python 2.4 compatibility
+Minor TOOLS2 --what corrections
+Retain Linux execute permissions on unpacked :zip archives
+Prototype of extended timing API added
+Option --noexport added for parallel parsing
+Made --noexport and --export-only mutually exclusive
+SBS_PYTHONPATH insulates sbs from the global PYTHONPATH
+Removed spurious bracket in e32abiv2textnotifier2
+More robust to multiple import library definitions
+
+
 version 2.11.0
 
 New Features:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/bin/sbs_check_exports.py	Mon Dec 07 14:58:25 2009 +0000
@@ -0,0 +1,101 @@
+#!/usr/bin/python
+
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Symbian Foundation License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+import re
+import sys
+
+# there are no options, so print help if any are passed
+if len(sys.argv) > 1:
+	print "usage:", sys.argv[0], "(The log data is read from stdin)"
+	sys.exit(0)
+
+whatlogRE = re.compile("<whatlog.*bldinf='([^']*)'")
+exportRE = re.compile("<export destination='(.*)' source='(.*)'")
+
+bldinf = "unknown"
+sources = {}		# lookup from source to destination
+destinations = {}	# lookup from destination to source
+
+chains = 0
+repeats = 0
+conflicts = []
+
+# read stdin a line at a time and soak up all the exports
+line = " "
+while line:
+	line = sys.stdin.readline()
+
+	whatlogMatch = whatlogRE.search(line)
+	if whatlogMatch:
+		bldinf = whatlogMatch.group(1).lower()
+		continue
+
+	exportMatch = exportRE.search(line)
+	if exportMatch:
+		destination = exportMatch.group(1).lower()
+		source = exportMatch.group(2).lower()
+
+		if destination in destinations:
+			(otherSource, otherBldinf) = destinations[destination]
+			
+			# same source and destination but different bld.inf => repeat	
+			if source == otherSource and bldinf != otherBldinf:
+				# only interested in the number for now
+				repeats += 1
+				
+			# different source but same destination => conflict
+			if source != otherSource:
+				conflict = (source, destination, bldinf, otherSource, otherBldinf)
+				tcilfnoc = (otherSource, destination, otherBldinf, source, bldinf)
+				
+				if conflict in conflicts or tcilfnoc in conflicts:
+					# seen this conflict before
+					pass
+				else:
+					print "CONFLICT:", destination, \
+						"FROM", source, \
+						"IN", bldinf, \
+						"AND FROM", otherSource, \
+						"IN", otherBldinf
+					conflicts.append(conflict)
+		else:
+			sources[source] = [destination, bldinf]
+			destinations[destination] = [source, bldinf]
+
+# now check for destinations which were also sources => chains
+for destination in destinations:
+	if destination in sources:
+		(nextDestination, inf2) = sources[destination]
+		(source, inf1) = destinations[destination]
+		print "CHAIN:", source, \
+			"TO", destination, \
+			"IN", inf1, \
+			"THEN TO", nextDestination, \
+			"IN", inf2
+		chains += 1
+		
+# print a summary
+print "Total exports = ", len(destinations.keys())
+print "Chained exports = ", chains
+print "Repeated exports = ", repeats
+print "Conflicting exports = ", len(conflicts)
+
+# return the error code
+if conflicts:
+	sys.exit(1)
+sys.exit(0)
+
--- a/sbsv2/raptor/lib/flm/e32abiv2textnotifier2.flm	Mon Dec 07 14:50:23 2009 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2textnotifier2.flm	Mon Dec 07 14:58:25 2009 +0000
@@ -28,7 +28,7 @@
 AUTOEXPORTS:=_Z13NotifierArrayv,1;
 # Determine what kind of entrypoint option to set
 LINKER_ENTRYPOINT_LIBDEP:=$(STATIC_RUNTIME_DIR)/edll.lib
-LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION)=_E32Dll $(LINKER_ENTRYPOINT_DECORATION))$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/edll.lib$(LINKER_ENTRYPOINT_ADORNMENT))
+LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION)=_E32Dll $(LINKER_ENTRYPOINT_DECORATION)$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/edll.lib$(LINKER_ENTRYPOINT_ADORNMENT))
 
 ifeq ("$(NEED_ENTRYPOINT_LIBRARY)","True")
 LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_SETTING) $(LINKER_ENTRYPOINT_LIBDEP)
--- a/sbsv2/raptor/python/raptor_version.py	Mon Dec 07 14:50:23 2009 +0000
+++ b/sbsv2/raptor/python/raptor_version.py	Mon Dec 07 14:58:25 2009 +0000
@@ -15,7 +15,7 @@
 # raptor version information module
 #
 
-version=(2,11,0,"2009-11-23","symbian build system")
+version=(2,11,1,"2009-12-16","symbian build system")
 
 def numericversion():
 	"""Raptor version string"""
--- a/sbsv2/raptor/test/smoke_suite/user_tools.py	Mon Dec 07 14:50:23 2009 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +0,0 @@
-import os
-import sys
-from raptor_tests import SmokeTest
-
-def run():
-	
-	t = SmokeTest()
-	t.id = "86"
-	t.name = "user_tools"
-	
-	if sys.platform.lower().startswith("win"):
-		result = SmokeTest.PASS
-		t.logfileOption = lambda :""
-		t.makefileOption = lambda :""
-		t.description = "Tests that Raptor picks up SBS_PYTHON, SBS_CYGWIN " \
-				+ "and SBS_MINGW from the environment when present"
-		
-		
-		t.id = "0086a"
-		t.name = "user_python"
-		t.environ['SBS_PYTHON'] = "C:/pyt*hon"
-		
-		t.command = "sbs -b smoke_suite/test_resources/simple/bld.inf -c armv5_urel" \
-					+ " -n --toolcheck off -f " + t.logfile() + " -m " + t.makefile()
-				
-		t.mustmatch = [
-				"'C:/pyt\*hon' is not recognized as an internal or external command,",
-				"operable program or batch file."
-				]
-		t.returncode = 9009
-		t.run()
-		if t.result == SmokeTest.FAIL:
-			result = SmokeTest.FAIL
-	
-	
-		t.id = "0086b"
-		t.name = "user_cygwin"
-		t.environ = {}
-		t.environ['SBS_CYGWIN'] = "C:/cygwin"
-		
-		t.command = "sbs -b smoke_suite/test_resources/simple/bld.inf -c armv5_urel" \
-				+ " -n --toolcheck off -f " + t.logfile() + " -m " + t.makefile() \
-				+ " && $(__CYGWIN__)/bin/grep.exe -ir 'TALON_SHELL:=C:/cygwin/bin/sh.exe' " + t.makefile() + "_all.default"
-				
-		t.mustmatch = [
-				"TALON_SHELL:=C:/cygwin/bin/sh.exe"
-				]
-		t.returncode = 0
-		t.run()
-		if t.result == SmokeTest.FAIL:
-			result = SmokeTest.FAIL
-		
-		
-		t.id = "0086c"
-		t.name = "user_mingw"
-		t.environ = {}
-		t.environ['SBS_MINGW'] = "C:/mingw"
-		
-		t.command = "sbs -b smoke_suite/test_resources/simple/bld.inf -c armv5_urel" \
-				+ " -n --toolcheck off -f " + t.logfile() + " -m " + t.makefile()
-				
-		t.mustmatch = [
-				"sbs: error: Preprocessor exception: \[Error 3\] The system cannot find the path specified"
-				]
-		
-		t.errors = 1
-		t.returncode = 1
-		
-		t.run()
-		if t.result == SmokeTest.FAIL:
-			result = SmokeTest.FAIL
-		
-		t.id = "86"
-		t.name = "user_tools"
-		t.result = result
-		t.print_result()
-		
-	else:
-		t.run("windows")
-		
-		
-	return t