--- a/sbsv2/raptor/RELEASE-NOTES.txt Mon Feb 01 10:03:36 2010 +0000
+++ b/sbsv2/raptor/RELEASE-NOTES.txt Mon Feb 15 13:47:40 2010 +0000
@@ -1,5 +1,12 @@
+Release Notes for Symbian Build System v2
-Release Notes for Symbian Build System v2
+next version
+
+Defect Fixes:
+- SF Bug 1569 - excessive recompilation in incremental tracecompiler builds
+- Better error messages for make-engine selection. e.g. "sbs -e arm" will now produce a useful error message rather than a traceback. "arm" is a real variant but it's not a make engine. In the past sbs would have tried to use it and would have failed with a complicated traceback. Also doesn't traceback for non-existent make engines.
+- sbs_filter chose wrong embedded default python version. Set to 2.6.4 now.
+- FilterCheck did not check files when run from sbs_filter
version 2.12.1
--- a/sbsv2/raptor/bin/sbs_filter Mon Feb 01 10:03:36 2010 +0000
+++ b/sbsv2/raptor/bin/sbs_filter Mon Feb 15 13:47:40 2010 +0000
@@ -45,8 +45,8 @@
__MINGW__=${SBS_MINGW:-$SBS_HOME/$HOSTPLATFORM_DIR/mingw}
__CYGWIN__=${SBS_CYGWIN:-$SBS_HOME/$HOSTPLATFORM_DIR/cygwin}
- __PYTHON__=${SBS_PYTHON:-$SBS_HOME/$HOSTPLATFORM_DIR/python252/python.exe}
- export PYTHONPATH=${SBS_PYTHONPATH:-$SBS_HOME/$HOSTPLATFORM_DIR/python252}
+ __PYTHON__=${SBS_PYTHON:-$SBS_HOME/$HOSTPLATFORM_DIR/python264/python.exe}
+ export PYTHONPATH=${SBS_PYTHONPATH:-$SBS_HOME/$HOSTPLATFORM_DIR/python264}
# Command for unifying path strings. For example, "c:\some\path" and
# "/cygdrive/c/some/path" will both be converted into "c:/some/path".
--- a/sbsv2/raptor/bin/sbs_filter.py Mon Feb 01 10:03:36 2010 +0000
+++ b/sbsv2/raptor/bin/sbs_filter.py Mon Feb 15 13:47:40 2010 +0000
@@ -71,7 +71,7 @@
while line:
line = sys.stdin.readline()
the_raptor.out.write(line)
-except:
+except Exception,e:
sys.stderr.write("error: problem while filtering: %s\n" % str(e))
traceback.print_exc()
sys.exit(1)
--- a/sbsv2/raptor/lib/flm/e32abiv2.flm Mon Feb 01 10:03:36 2010 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2.flm Mon Feb 15 13:47:40 2010 +0000
@@ -1,4 +1,4 @@
-# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2006-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"
@@ -757,7 +757,7 @@
$(eval DEPENDFILE:=$(wildcard $(DEPENDFILENAME)))
# $4 is for language specific options (e.g. C++ vs C)
-$(1): $(2) $(PROJECT_META) $(if $(MULTIFILE_ENABLED),,$(if $(DEPENDFILE),,RESOURCE BITMAP EXPORT)) $(if $(USE_TRACE_COMPILER),$(TRACE_MARKER),) $(if $(LINKERFEEDBACK_STAGE2),$(FEEDBACKFILE),)
+$(1): $(2) $(PROJECT_META) $(if $(MULTIFILE_ENABLED),,$(if $(DEPENDFILE),,RESOURCE BITMAP EXPORT)) $(if $(LINKERFEEDBACK_STAGE2),$(FEEDBACKFILE),) | $(if $(USE_TRACE_COMPILER),$(TRACE_MARKER),)
$(call startrule,compile,,$(2)) \
$(if $(PERTURBSTARTTIME), $(RANSLEEP) $(PERTURBMSECS) ;,) \
$(if $(MULTIFILE_ENABLED), echo $(2) $(3) > $(MULTIFILE_VIAFILE) ;,) \
--- a/sbsv2/raptor/lib/flm/win32.flm Mon Feb 01 10:03:36 2010 +0000
+++ b/sbsv2/raptor/lib/flm/win32.flm Mon Feb 15 13:47:40 2010 +0000
@@ -1,4 +1,4 @@
-# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2007-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"
@@ -375,7 +375,7 @@
$(eval DEPENDFILENAME:=$(call mapwin32file,$(1),.o.d))
$(eval DEPENDFILE:=$(wildcard $(DEPENDFILENAME)))
- $(call mapwin32file,$(1),.o): $(1) $(PROJECT_META) $(if $(DEPENDFILE),,RESOURCE BITMAP EXPORT) $(if $(USE_TRACE_COMPILER),$(TRACE_MARKER))
+ $(call mapwin32file,$(1),.o): $(1) $(PROJECT_META) $(if $(DEPENDFILE),,RESOURCE BITMAP EXPORT) | $(if $(USE_TRACE_COMPILER),$(TRACE_MARKER))
$(call startrule,win32compile2object,,$(1)) \
$(CC) $$(if $$(filter %.C,$(1)),-lang c) $(CFLAGS) $(OPTION_CW) \
$(if $(STDCPP_BUILD),$$(if $$(filter %.c %.C,$(1)),,$$(call makemacrodef,$(OPT.DEFINE),$(STDCPP_WCHAR_DEF))),) \
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/python/plugins/filter_checkcomp.py Mon Feb 15 13:47:40 2010 +0000
@@ -0,0 +1,70 @@
+#
+# Copyright (c) 2009-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"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+# Filter class for doing a Check operation but also prints component information.
+#
+
+import os
+import sys
+import re
+import filter_interface
+import filter_what
+
+class FilterCheckComp(filter_what.FilterWhat):
+
+ def __init__(self):
+ super(FilterCheckComp, self).__init__()
+ self.check = True
+
+ def write(self, text):
+ "process some log text"
+ ok = True
+
+ for line in text.splitlines():
+ ok = filter_what.FilterWhat.write(self, line)
+ if not ok:
+ break
+ self.ok = ok
+ return self.ok
+
+ def start_bldinf(self, bldinf):
+ dir = None
+ if "win" in self.buildparameters.platform:
+ dir = os.path.dirname(bldinf.replace("/","\\"))
+ dir = os.path.splitdrive(dir)[1]
+ else:
+ dir = os.path.dirname(bldinf)
+
+ self.outfile.write("=== %s == %s\n" % (dir, dir))
+ self.outfile.write("=== check == %s\n" % (dir))
+ self.outfile.write("-- sbs_filter --filters=FilterCheckComp\n++ Started at Thu Feb 11 10:05:19 2010\nChdir %s\n" % dir)
+
+ def end_bldinf(self):
+ self.outfile.write("++ Finished at Thu Feb 11 10:05:20 2010\n")
+
+ def close(self):
+ self.outfile.write("++ Finished at Thu Feb 11 10:05:20 2010\n")
+ self.outfile.write("=== check finished Thu Feb 11 10:05:20 2010\n")
+
+ def open(self, build_parameters):
+ t = filter_what.FilterWhat.open(self, build_parameters)
+ if t:
+ self.outfile.write("\n===-------------------------------------------------\n")
+ self.outfile.write("=== check\n")
+ self.outfile.write("===-------------------------------------------------\n")
+ self.outfile.write("=== check started Thu Feb 11 10:02:21 2010\n")
+
+ self.path_prefix_to_strip = os.path.abspath(build_parameters.epocroot)
+ self.path_prefix_to_add_on = build_parameters.incoming_epocroot
+ return t
--- a/sbsv2/raptor/python/plugins/filter_what.py Mon Feb 01 10:03:36 2010 +0000
+++ b/sbsv2/raptor/python/plugins/filter_what.py Mon Feb 15 13:47:40 2010 +0000
@@ -26,6 +26,7 @@
super(filter_interface.Filter,self).__init__()
self.path_prefix_to_strip = None
self.path_prefix_to_add_on = None
+ self.check = False
def print_file(self, line, start, end):
"Ensure DOS slashes on Windows"
@@ -33,19 +34,27 @@
"""Use chars between enclosing tags ("<>", "''", etc)
start = opening tag, so the line we need
actually starts at 'start + 1' """
+
+ abs_filename = line[(start + 1):end]
+ filename = abs_filename
+
+ # Adjust drive letters for case insensitivity on windows
+
+ path_prefix_to_strip = self.path_prefix_to_strip
if "win" in self.buildparameters.platform:
- filename = line[(start + 1):end].replace("/","\\")
- else:
- filename = line[(start + 1):end]
+ filename = filename[0].upper()+filename[1:]
+ filename = filename.replace("/","\\")
- if self.path_prefix_to_strip:
- if filename.startswith(self.path_prefix_to_strip):
- filename = filename[len(self.path_prefix_to_strip):]
+ if path_prefix_to_strip:
+ if "win" in self.buildparameters.platform:
+ path_prefix_to_strip = path_prefix_to_strip[0].upper()+path_prefix_to_strip[1:].replace("/","\\")
+ if filename.startswith(path_prefix_to_strip):
+ filename = filename[len(path_prefix_to_strip):]
if self.path_prefix_to_add_on != None:
filename = self.path_prefix_to_add_on + filename
if self.check:
- if not os.path.isfile(filename):
+ if not os.path.isfile(abs_filename):
print "MISSING:", filename
self.ok = False
else:
@@ -63,8 +72,10 @@
def open(self, build_parameters):
"initialise"
+
self.buildparameters = build_parameters
- self.check = build_parameters.doCheck
+ if build_parameters.doCheck:
+ self.check = True
self.what = build_parameters.doWhat
self.outfile = sys.stdout
--- a/sbsv2/raptor/python/plugins/filter_whatcomp.py Mon Feb 01 10:03:36 2010 +0000
+++ b/sbsv2/raptor/python/plugins/filter_whatcomp.py Mon Feb 15 13:47:40 2010 +0000
@@ -24,7 +24,7 @@
class FilterWhatComp(filter_what.FilterWhat):
def __init__(self):
- super(filter_what.FilterWhat, self).__init__()
+ super(FilterWhatComp, self).__init__()
def write(self, text):
"process some log text"
--- a/sbsv2/raptor/python/raptor.py Mon Feb 01 10:03:36 2010 +0000
+++ b/sbsv2/raptor/python/raptor.py Mon Feb 15 13:47:40 2010 +0000
@@ -1276,15 +1276,17 @@
if self.toolcheck != 'off':
self.CheckConfigs(buildUnitsToBuild)
else:
- self.Info(" Not Checking Tool Versions")
+ self.Info("Not Checking Tool Versions")
self.AssertBuildOK()
# Setup a make engine.
if not self.maker:
- self.maker = raptor_make.MakeEngine(self)
- if self.maker == None:
- self.Error("No make engine present")
+ try:
+ self.maker = raptor_make.MakeEngine(self, self.makeEngine)
+ except raptor_make.BadMakeEngineException,e:
+ self.Error("Unable to use make engine: %s " % str(e))
+
self.AssertBuildOK()
--- a/sbsv2/raptor/python/raptor_data.py Mon Feb 01 10:03:36 2010 +0000
+++ b/sbsv2/raptor/python/raptor_data.py Mon Feb 15 13:47:40 2010 +0000
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2006-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"
@@ -884,6 +884,21 @@
vars.append(m)
return [ BuildUnit(name=name, variants=vars) ]
+ def isDerivedFrom(self, progenitor, cache):
+ if self.name == progenitor:
+ return True
+
+ pname = self.extends
+ while pname is not None and pname is not '':
+ parent = cache.FindNamedVariant(pname)
+ if parent is None:
+ break
+ if parent.name == progenitor:
+ return True
+ pname = parent.extends
+
+ return False
+
def __str__(self):
s = "<var name='%s' extends='%s'>\n" % (self.name, self.extends)
for op in self.ops:
@@ -936,7 +951,7 @@
def Valid(self):
return self.name and self.meaning
- def GenerateBuildUnits(self, cache):
+ def Resolve(self, cache):
if not self.variants:
missing_variants = []
for r in self.varRefs:
@@ -948,6 +963,9 @@
if len(missing_variants) > 0:
raise MissingVariantException("Missing variants '%s'", " ".join(missing_variants))
+ def GenerateBuildUnits(self, cache):
+ self.Resolve(cache)
+
name = self.name
for v in self.modifiers:
@@ -955,6 +973,12 @@
return [ BuildUnit(name=name, variants=self.variants + self.modifiers) ]
+ def isDerivedFrom(self, progenitor, cache):
+ self.Resolve(cache)
+ for v in self.variants:
+ if v.isDerivedFrom(progenitor,cache):
+ return True
+ return False
class AliasRef(Reference):
--- a/sbsv2/raptor/python/raptor_make.py Mon Feb 01 10:03:36 2010 +0000
+++ b/sbsv2/raptor/python/raptor_make.py Mon Feb 15 13:47:40 2010 +0000
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2006-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"
@@ -33,18 +33,19 @@
from xml.sax.saxutils import escape
+class BadMakeEngineException(Exception):
+ pass
+
# raptor_make module classes
class MakeEngine(object):
- def __init__(self, Raptor):
+ def __init__(self, Raptor, engine="make_engine"):
self.raptor = Raptor
self.valid = True
self.descrambler = None
self.descrambler_started = False
- engine = Raptor.makeEngine
-
# look for an alias first as this gives end-users a chance to modify
# the shipped variant rather than completely replacing it.
if engine in Raptor.cache.aliases:
@@ -52,8 +53,10 @@
elif engine in Raptor.cache.variants:
avar = Raptor.cache.FindNamedVariant(engine)
else:
- Raptor.Error("No settings found for build engine '%s'", engine)
- return
+ raise BadMakeEngineException("'%s' does not appear to be a make engine - no settings found for it" % engine)
+
+ if not avar.isDerivedFrom("make_engine", Raptor.cache):
+ raise BadMakeEngineException("'%s' is not a build engine (it's a variant but it does not extend 'make_engine')" % engine)
# find the variant and extract the values
try:
@@ -105,14 +108,13 @@
self.selectors = []
except KeyError:
- Raptor.Error("Bad '%s' configuration found.", engine)
self.valid = False
- return
+ raise BadMakeEngineException("Bad '%s' configuration found." % engine)
# there must at least be a build command...
if not self.buildCommand:
- Raptor.Error("No build command for '%s'", engine)
- self.valid = False
+ self.valid = False
+ raise BadMakeEngineException("No build command for '%s'"% engine)
if self.usetalon:
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/custom_options/dfsconfig/.sbs_init.xml Mon Feb 15 13:47:40 2010 +0000
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<build xmlns="http://symbian.com/xml/build"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://symbian.com/xml/build build/2_0.xsd">
+
+ <var name="make_changes">
+ <set name="bitmap.selector.iface" value="\.(bitmap|extension|mifconv|akniconinterfaces|removegtfiles|skingenerator|cryptoprep|builder|help_files|version_update)$"/>
+ <set name="resource.selector.iface" value="\.(resource|extension|mif2cdlindex|nativejava|genericcopy)$"/>
+ <set name="default.selector.iface" value="\.(?!export$|bitmap$|resource$|mifconv$|mif2cdlindex$|nativejava$|akniconinterfaces$|removegtfiles$|genericcopy$|skingenerator$|cryptoprep$|builder$|help_files$|version_update$).*$"/>
+ <!-- 4.5 min -->
+ <set name='TALON_TIMEOUT' value='540000'/>
+ </var>
+
+ <!-- emake -->
+ <alias name="emake" meaning="emake_engine.make_changes"/>
+
+ <!-- gnu make -->
+ <alias name="make" meaning="make_engine.make_changes"/>
+ <alias name="dfstestmake" meaning="make_engine.make_changes"/>
+
+
+</build>
--- a/sbsv2/raptor/test/smoke_suite/exe_armv5.py Mon Feb 01 10:03:36 2010 +0000
+++ b/sbsv2/raptor/test/smoke_suite/exe_armv5.py Mon Feb 15 13:47:40 2010 +0000
@@ -104,7 +104,8 @@
t.run()
if t.result == SmokeTest.FAIL:
result = SmokeTest.FAIL
-
+
+
t.id = "0001c"
t.name = "exe_armv5_gcce"
t.command = command % "gcce_armv5"
@@ -117,6 +118,22 @@
if t.result == SmokeTest.FAIL:
result = SmokeTest.FAIL
+
+ # Test for the Check Filter to ensure that it reports
+ # missing files properly when used from sbs_filter.py:
+ import os
+ abs_epocroot = os.path.abspath(os.environ["EPOCROOT"])
+ t.id = "0001d"
+ t.command = "rm $(EPOCROOT)/epoc32/release/armv5/udeb/test.exe.map; sbs_filter --filters=FilterCheck < ${SBSLOGFILE}"
+ t.targets = []
+ t.mustmatch = ["MISSING:[ ]+" + abs_epocroot.replace("\\","\\\\") + ".epoc32.release.armv5.udeb.test\.exe\.map.*"]
+ t.mustnotmatch = []
+ t.warnings = 1
+ t.returncode = 2
+ t.run()
+
+ if t.result == SmokeTest.FAIL:
+ result = SmokeTest.FAIL
t.id = "1"
t.name = "exe_armv5"
t.result = result
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/input_validation.py Mon Feb 15 13:47:40 2010 +0000
@@ -0,0 +1,58 @@
+#
+# Copyright (c) 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"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+ t = SmokeTest()
+ t.description = "Set of tests for commandline option validation e.g. checking that the specified make engine exists"
+
+
+ t.usebash = True
+ t.errors = 1
+ t.returncode = 1
+ t.exceptions = 0
+ base_command = "sbs -b smoke_suite/test_resources/simple/bld.inf -f ${SBSLOGFILE} -m ${SBSMAKEFILE}"
+
+ t.id = "42562a"
+ t.name = "validate_makeengine_nonexist"
+ t.command = base_command + " -e amakeenginethatdoesnotexist"
+ t.mustmatch = ["Unable to use make engine: 'amakeenginethatdoesnotexist' does not appear to be a make engine - no settings found for it"]
+
+ t.run()
+
+ t.id = "43562b"
+ t.mustmatch = ["Unable to use make engine: 'arm' is not a build engine \(it's a variant but it does not extend 'make_engine'"]
+ t.name = "validate_makeengine_is_a_non_makengine_variant"
+ t.command = base_command + " -e arm"
+ t.run()
+
+ # aliases can be of the form name='blah' meaning='x.y.z' i.e. where the alias is for a sequence of variants
+ # this tests that we detect that at least one of these variants has make_engine as a parent
+ # it is possible for one of them not to and we mustn't bomb-out just because of that
+ t.id = "43562c"
+ t.mustmatch = []
+ t.name = "validate_real_dfs_modded_makeengine_alias"
+ t.command = "export HOME=$SBS_HOME/test/custom_options/dfsconfig; " + base_command + " -e dfstestmake -c arm.v5.urel.gcce4_4_1"
+ t.errors = 0
+ t.warnings = 0
+ t.returncode = 0
+ t.run()
+
+ t.id = "43562"
+ t.name = "input_validation"
+ t.print_result()
+ return t
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_winscw/CommonFramework.h Mon Feb 15 13:47:40 2010 +0000
@@ -0,0 +1,64 @@
+/*
+* Copyright (c) 2000-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 "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+
+#ifndef __CommonFramework_H
+#define __CommonFramework_H
+
+#include <e32base.h>
+#include <e32cons.h>
+
+_LIT(KTxtEPOC32EX,"EXAMPLES");
+_LIT(KTxtExampleCode,"Symbian OS Example Code");
+_LIT(KFormatFailed,"failed: leave code=%d");
+_LIT(KTxtOK,"ok");
+_LIT(KTxtPressAnyKey," [press any key]");
+
+// public
+LOCAL_D CConsoleBase* console; // write all your messages to this
+LOCAL_C void doExampleL(); // code this function for the real example
+
+// private
+LOCAL_C void callExampleL(); // initialize with cleanup stack, then do example
+
+GLDEF_C TInt E32Main() // main function called by E32
+ {
+ __UHEAP_MARK;
+ CTrapCleanup* cleanup=CTrapCleanup::New(); // get clean-up stack
+ TRAPD(error,callExampleL()); // more initialization, then do example
+ __ASSERT_ALWAYS(!error,User::Panic(KTxtEPOC32EX,error));
+ delete cleanup; // destroy clean-up stack
+ __UHEAP_MARKEND;
+ return 0; // and return
+ }
+
+LOCAL_C void callExampleL() // initialize and call example code under cleanup stack
+ {
+ console=Console::NewL(KTxtExampleCode,TSize(KConsFullScreen,KConsFullScreen));
+ CleanupStack::PushL(console);
+ TRAPD(error,doExampleL()); // perform example function
+ if (error)
+ console->Printf(KFormatFailed, error);
+ else
+ console->Printf(KTxtOK);
+ console->Printf(KTxtPressAnyKey);
+ console->Getch(); // get and ignore character
+ CleanupStack::PopAndDestroy(); // close console
+ }
+
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_winscw/TCSTATICDLLWINS.def Mon Feb 15 13:47:40 2010 +0000
@@ -0,0 +1,4 @@
+EXPORTS
+ ?NewLC@CMessenger@@SAPAV1@AAVCConsoleBase@@ABVTDesC16@@@Z @ 1 NONAME ; ?NewLC@CMessenger@@SAPAV1@AAVCConsoleBase@@ABVTDesC16@@@Z
+ ?ShowMessage@CMessenger@@QAEXXZ @ 2 NONAME ; ?ShowMessage@CMessenger@@QAEXXZ
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_winscw/bld.inf Mon Feb 15 13:47:40 2010 +0000
@@ -0,0 +1,25 @@
+/*
+* Copyright (c) 2000-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"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* Component description file
+*
+*/
+
+
+PRJ_PLATFORMS
+WINSCW
+
+PRJ_MMPFILES
+
+tcwinsStaticDLL.mmp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_winscw/tcwinsStaticDLL.cpp Mon Feb 15 13:47:40 2010 +0000
@@ -0,0 +1,74 @@
+/*
+* Copyright (c) 2000-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 "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* This program creates a dll.
+*
+*/
+
+
+#include "tcwinsStaticDLL.h"
+#include <e32uid.h>
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "tcwinsStaticDLLTraces.h"
+#endif
+
+
+// construct/destruct
+
+
+extern "C" void __ARM_switch8();
+
+void sbs_test()
+ {
+ __ARM_switch8();
+ }
+
+
+EXPORT_C CMessenger* CMessenger::NewLC(CConsoleBase& aConsole, const TDesC& aString)
+ {
+ OstTrace0( TRACE_API, CMESSENGER_NEWL, "CMessenger::NewLC()" );
+ OstTrace0( TRACE_NORMAL, DUP1_CMESSENGER_NEWL, "CMessenger::NewLC()" );
+ CMessenger* self=new (ELeave) CMessenger(aConsole);
+ CleanupStack::PushL(self);
+ self->ConstructL(aString);
+ return self;
+ }
+
+CMessenger::~CMessenger() // destruct - virtual, so no export
+ {
+ OstTrace0( TRACE_API, DUP1_CMESSENGER_CMESSENGER, "CMessenger::~CMessenger()" );
+ OstTrace0( TRACE_NORMAL, DUP2_CMESSENGER_CMESSENGER, "CMessenger::~CMessenger()" );
+ delete iString;
+ }
+
+EXPORT_C void CMessenger::ShowMessage()
+ {
+ _LIT(KFormat1,"%S\n");
+ iConsole.Printf(KFormat1, iString); // notify completion
+ }
+
+// constructor support
+// don't export these, because used only by functions in this DLL, eg our NewLC()
+
+CMessenger::CMessenger(CConsoleBase& aConsole) // first-phase C++ constructor
+ : iConsole(aConsole)
+ {
+ }
+
+void CMessenger::ConstructL(const TDesC& aString) // second-phase constructor
+ {
+ iString=aString.AllocL(); // copy given string into own descriptor
+ }
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_winscw/tcwinsStaticDLL.h Mon Feb 15 13:47:40 2010 +0000
@@ -0,0 +1,42 @@
+/*
+* Copyright (c) 2000-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 "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+
+#include <e32cons.h>
+
+
+class CMessenger : public CBase
+ {
+public:
+ // Construction
+ IMPORT_C static CMessenger* NewLC(CConsoleBase& aConsole, const TDesC& aString);
+ // Destructor - virtual and class not intended
+ // for derivation, so not exported
+ ~CMessenger();
+ // general functions - exported
+ IMPORT_C void ShowMessage();
+private:
+ // C++ constructor - not exported;
+ // implicitly called from NewLC()
+ CMessenger(CConsoleBase& aConsole);
+ // 2nd phase construction, called by NewLC()
+ void ConstructL(const TDesC& aString); // second-phase constructor
+private:
+ CConsoleBase& iConsole; // Use the console (but not owned)
+ HBufC* iString; // Allocated container for string data (destructor destroys)
+ };
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_winscw/tcwinsStaticDLL.mmp Mon Feb 15 13:47:40 2010 +0000
@@ -0,0 +1,41 @@
+/*
+* Copyright (c) 2000-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 "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+TARGET tcwinsstaticdll.dll
+TARGETTYPE dll
+
+UID 0xE800004C
+CAPABILITY All -TCB
+
+
+VENDORID 0x70000001
+
+SOURCEPATH .
+SOURCE tcwinsStaticDLL.cpp
+SOURCE tcwinsfiletwo.cpp
+
+USERINCLUDE .
+SYSTEMINCLUDE /epoc32/include
+SYSTEMINCLUDE /epoc32/include/internal
+USERINCLUDE traces
+
+LIBRARY euser.lib
+
+#if defined(WINS)
+ deffile ./TCSTATICDLLWINS.def
+#endif
+nostrictdef
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_winscw/tcwinsfiletwo.cpp Mon Feb 15 13:47:40 2010 +0000
@@ -0,0 +1,66 @@
+/*
+* Copyright (c) 2000-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"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* This program creates a dll.
+*
+*/
+
+
+#include "tcwinsfiletwo.h"
+#include <e32uid.h>
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "tcwinsfiletwoTraces.h"
+#endif
+
+
+// construct/destruct
+
+
+extern "C" void __ARM_switch8();
+
+EXPORT_C CMessenger2* CMessenger2::NewLC(CConsoleBase& aConsole, const TDesC& aString)
+ {
+ OstTrace0( TRACE_NORMAL, DUP1_CMESSENGER2_NEWL, "CMessenger2::NewLC()" );
+ CMessenger2* self=new (ELeave) CMessenger2(aConsole);
+ CleanupStack::PushL(self);
+ self->ConstructL(aString);
+ return self;
+ }
+
+CMessenger2::~CMessenger2() // destruct - virtual, so no export
+ {
+ OstTrace0( TRACE_API, DUP1_CMESSENGER2_CMESSENGER2, "CMessenger2::~CMessenger2()" );
+ delete iString;
+ }
+
+EXPORT_C void CMessenger2::ShowMessage()
+ {
+ _LIT(KFormat1,"%S\n");
+ iConsole.Printf(KFormat1, iString); // notify completion
+ }
+
+// constructor support
+// don't export these, because used only by functions in this DLL, eg our NewLC()
+
+CMessenger2::CMessenger2(CConsoleBase& aConsole) // first-phase C++ constructor
+ : iConsole(aConsole)
+ {
+ }
+
+void CMessenger2::ConstructL(const TDesC& aString) // second-phase constructor
+ {
+ iString=aString.AllocL(); // copy given string into own descriptor
+ }
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_winscw/tcwinsfiletwo.h Mon Feb 15 13:47:40 2010 +0000
@@ -0,0 +1,42 @@
+/*
+* Copyright (c) 2000-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"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+
+#include <e32cons.h>
+
+
+class CMessenger2 : public CBase
+ {
+public:
+ // Construction
+ IMPORT_C static CMessenger2* NewLC(CConsoleBase& aConsole, const TDesC& aString);
+ // Destructor - virtual and class not intended
+ // for derivation, so not exported
+ ~CMessenger2();
+ // general functions - exported
+ IMPORT_C void ShowMessage();
+private:
+ // C++ constructor - not exported;
+ // implicitly called from NewLC()
+ CMessenger2(CConsoleBase& aConsole);
+ // 2nd phase construction, called by NewLC()
+ void ConstructL(const TDesC& aString); // second-phase constructor
+private:
+ CConsoleBase& iConsole; // Use the console (but not owned)
+ HBufC* iString; // Allocated container for string data (destructor destroys)
+ };
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_winscw/traces/OstTraceDefinitions.h Mon Feb 15 13:47:40 2010 +0000
@@ -0,0 +1,7 @@
+#ifndef __OSTTRACEDEFINITIONS_H__
+#define __OSTTRACEDEFINITIONS_H__
+// OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler
+// REMOVE BEFORE CHECK-IN TO VERSION CONTROL
+#define OST_TRACE_COMPILER_IN_USE
+#include <OpenSystemTrace.h>
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_winscw/win32resource/bld.inf Mon Feb 15 13:47:40 2010 +0000
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2000-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 "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* Component description file
+*
+*/
+
+
+PRJ_PLATFORMS
+WINSCW
+
+PRJ_MMPFILES
+win32resourcedll.mmp
Binary file sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_winscw/win32resource/epoc32.ico has changed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_winscw/win32resource/gui.rc Mon Feb 15 13:47:40 2010 +0000
@@ -0,0 +1,79 @@
+//Microsoft Developer Studio generated resource script.
+//
+#include "resource.h"
+
+#define APSTUDIO_READONLY_SYMBOLS
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 2 resource.
+//
+#include <windows.h>
+
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// English (U.K.) resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENG)
+#ifdef _WIN32
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_UK
+#pragma code_page(1252)
+#endif //_WIN32
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Icon
+//
+
+// Icon with lowest ID value placed first to ensure application icon
+// remains consistent on all systems.
+EPOC_ICON ICON DISCARDABLE "epoc32.ico"
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Cursor
+//
+
+OVERKEY CURSOR DISCARDABLE "hand.cur"
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE DISCARDABLE
+BEGIN
+ "resource.h\0"
+END
+
+2 TEXTINCLUDE DISCARDABLE
+BEGIN
+ "#include ""afxres.h""\r\n"
+ "\0"
+END
+
+3 TEXTINCLUDE DISCARDABLE
+BEGIN
+ "\r\n"
+ "\0"
+END
+
+#endif // APSTUDIO_INVOKED
+
+#endif // English (U.K.) resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+
+#ifndef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 3 resource.
+//
+
+
+/////////////////////////////////////////////////////////////////////////////
+#endif // not APSTUDIO_INVOKED
+
Binary file sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_winscw/win32resource/hand.cur has changed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_winscw/win32resource/resource.h Mon Feb 15 13:47:40 2010 +0000
@@ -0,0 +1,33 @@
+/*
+* 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 "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+ //{{NO_DEPENDENCIES}}
+// Microsoft Developer Studio generated include file.
+// Used by gui.rc
+//
+#define EPOC_ICON 102
+#define OVERKEY 104
+
+// Next default values for new objects
+//
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+#define _APS_NEXT_RESOURCE_VALUE 105
+#define _APS_NEXT_COMMAND_VALUE 40001
+#define _APS_NEXT_CONTROL_VALUE 1000
+#define _APS_NEXT_SYMED_VALUE 101
+#endif
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_winscw/win32resource/win32resourcedll.mmp Mon Feb 15 13:47:40 2010 +0000
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2000-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 "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#include "../CreateStaticDLL.mmp"
+
+START WINS
+WIN32_RESOURCE gui.rc
+END
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/tracecompiler_incremental.py Mon Feb 15 13:47:40 2010 +0000
@@ -0,0 +1,58 @@
+#
+# Copyright (c) 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"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+ t = SmokeTest()
+ t.description = "Test incremental rebuilding with TC on"
+ t.id = "114a"
+ t.name = "tracecompiler_incremental_clean"
+ t.usebash = True
+ t.command = "sbs -b smoke_suite/test_resources/tracecompiler/testTC/group/bld.inf -c armv5_urel.tracecompiler CLEAN"
+ t.run("windows")
+
+ t.id = "114b"
+ t.name = "tracecompiler_incremental_prebuild"
+ t.command = "sbs -b smoke_suite/test_resources/tracecompiler/testTC/group/bld.inf -c armv5_urel.tracecompiler -f - -m ${SBSMAKEFILE}"
+ t.countmatch = [ ["name='compile'",3] ]
+ t.targets = [
+ "$(EPOCROOT)/epoc32/release/armv5/lib/testTC.dso",
+ "$(EPOCROOT)/epoc32/release/armv5/lib/testTC{000a0000}.dso",
+ "$(EPOCROOT)/epoc32/release/armv5/lib/testTC{000a0000}.lib",
+ "$(EPOCROOT)/epoc32/release/armv5/lib/testTC.lib",
+ "$(EPOCROOT)/epoc32/release/armv5/urel/testTC.dll",
+ "$(EPOCROOT)/epoc32/release/armv5/urel/testTC.dll.map",
+ "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/testTC/traces/wlanhwinitTraces.h",
+ "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/testTC/traces/wlanhwinitmainTraces.h",
+ "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/testTC/traces/wlanhwinitpermparserTraces.h",
+ "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/testTC/traces/fixed_id.definitions",
+ "$(EPOCROOT)/epoc32/ost_dictionaries/testTC_0x1000008d_Dictionary.xml",
+ "$(EPOCROOT)/epoc32/include/internal/symbiantraces/autogen/testTC_0x1000008d_TraceDefinitions.h"
+ ]
+ t.run("windows")
+
+ t.id = "114c"
+ t.name = "tracecompiler_incremental_rebuild"
+ t.command = "touch smoke_suite/test_resources/tracecompiler/testTC/src/wlanhwinit.cpp && sbs -b smoke_suite/test_resources/tracecompiler/testTC/group/bld.inf -c armv5_urel.tracecompiler -f - -m ${SBSMAKEFILE}"
+ t.countmatch = [ ["name='compile'",1] ]
+ t.targets = []
+ t.run("windows")
+
+ t.id = "114"
+ t.name = "tracecompiler_incremental"
+ return t
+
--- a/sbsv2/raptor/test/smoke_suite/tracecompiler_whatlog.py Mon Feb 01 10:03:36 2010 +0000
+++ b/sbsv2/raptor/test/smoke_suite/tracecompiler_whatlog.py Mon Feb 15 13:47:40 2010 +0000
@@ -14,13 +14,21 @@
# Description:
#
-from raptor_tests import CheckWhatSmokeTest,AntiTargetSmokeTest
+from raptor_tests import CheckWhatSmokeTest,SmokeTest
import re
def run():
+ t = SmokeTest()
+ t.description = "Trace Compiler Whatlog Clean"
+ t.id = "112a"
+ t.name = "tracecompiler_whatlog_clean"
+ t.usebash = True
+ t.command = "sbs -b smoke_suite/test_resources/tracecompiler/testTC/group/bld.inf -c armv5.tracecompiler CLEAN"
+ t.run("windows")
+
t = CheckWhatSmokeTest()
t.description = "Trace Compiler Whatlog test"
- t.id = "xxx"
+ t.id = "112b"
t.name = "tracecompiler_whatlog"
t.usebash = True
t.command = "sbs -b smoke_suite/test_resources/tracecompiler/testTC/group/bld.inf -c armv5.tracecompiler -m ${SBSMAKEFILE} -f ${SBSLOGFILE} && cat ${SBSLOGFILE}"
@@ -57,6 +65,7 @@
"<build>$(EPOCROOT)/epoc32/include/internal/SymbianTraces/autogen/testTC_0x1000008d_TraceDefinitions.h</build>"
]
t.run("windows")
+ t.id = "112"
return t