SF Bug 2113 - [Raptor] what/check filters can assign files to the wrong components
authortimothy.murphy@nokia.com
Tue, 02 Mar 2010 09:03:33 +0000
changeset 294 660607a4d589
parent 293 5bbbb5fd2a8a
child 295 5dd2ef822850
SF Bug 2113 - [Raptor] what/check filters can assign files to the wrong components
sbsv2/raptor/RELEASE-NOTES.txt
sbsv2/raptor/python/plugins/filter_what.py
sbsv2/raptor/test/smoke_suite/whatcomp.py
--- a/sbsv2/raptor/RELEASE-NOTES.txt	Mon Mar 01 17:45:23 2010 +0000
+++ b/sbsv2/raptor/RELEASE-NOTES.txt	Tue Mar 02 09:03:33 2010 +0000
@@ -3,6 +3,7 @@
 version 2.12.4
 
 Defect Fixes:
+- SF Bug 2113 - [Raptor] what/check filters can assign files to the wrong components
 - SF Bug 2081 - [Raptor] - Exported file executable permissions not maintained (linux)
 - Fix: host attribute in recipes was blank in windows, windows cluster builds.
 - SF Bug 1912 - Raptor should take python from the path [if not set with SBS_PYTHON or bundled with Raptor]
--- a/sbsv2/raptor/python/plugins/filter_what.py	Mon Mar 01 17:45:23 2010 +0000
+++ b/sbsv2/raptor/python/plugins/filter_what.py	Tue Mar 02 09:03:33 2010 +0000
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2008-2010 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 "Eclipse Public License v1.0"
@@ -162,17 +162,16 @@
 					
 					self.print_file(line, start, end)
 
-				else:
-					"work out what the 'current' bldinf file is"
-					m = self.whatlog_regex.match(line)
-					if m:
-						bi = m.groupdict()['bldinf']
-						if self.current_bldinf != bi:
-							if self.current_bldinf != '':
-								self.end_bldinf()
-							self.current_bldinf = bi
-							if bi != '':
-								self.start_bldinf(bi)
+			"work out what the 'current' bldinf file is"
+			m = self.whatlog_regex.match(line)
+			if m:
+				bi = m.groupdict()['bldinf']
+				if self.current_bldinf != bi:
+					if self.current_bldinf != '':
+						self.end_bldinf()
+					self.current_bldinf = bi
+					if bi != '':
+						self.start_bldinf(bi)
 							
 					
 						
--- a/sbsv2/raptor/test/smoke_suite/whatcomp.py	Mon Mar 01 17:45:23 2010 +0000
+++ b/sbsv2/raptor/test/smoke_suite/whatcomp.py	Tue Mar 02 09:03:33 2010 +0000
@@ -57,8 +57,8 @@
 	]
 	warnings = 0
 	
-	t.id = "0106"
-	t.name = "whatcomp"
+	t.id = "0106a"
+	t.name = "whatcomp_basic"
 	t.description = description
 	t.command = command % "arm.v5.urel.gcce4_4_1"
 	t.targets = targets
@@ -67,5 +67,28 @@
 	t.warnings = warnings
 	t.run()
 
+	t.id = "0106a"
+	t.name = "whatcomp_component_repeated"
+	t.description = """
+			It is possible for what information about a component to not be grouped
+			(i.e. for multiple whatlogs tags relating to a single component to be 
+			interspersed with whatlog tags relating to other components).  
+			Raptor must cope with that and must *not* report missing files under 
+			the wrong component name."""
+	t.command = "sbs_filter --filters=FilterWhatComp < smoke_suite/test_resources/logexamples/what_component_repeated.log"
+	t.targets = []
+	t.mustmatch = [ 
+		"Chdir y:/ext/app/emailwizard",
+		".*epoc32.data.something",
+		"Chdir y:/sf/mw/gsprofilesrv/ftuwizardmodel.*",
+		".*epoc32.release.armv5.something",
+		"Chdir y:/ext/app/emailwizard.*"
+		]
+
+	t.mustnotmatch = []
+	t.warnings = 0
+	t.run()
+
+	t.id = "0106"
 	t.print_result()
 	return t