Added test case for EPOCNESTEDEXCEPTIONS. wip
authorStefan Karlsson <stefan.karlsson@nokia.com>
Tue, 16 Mar 2010 15:27:06 +0000
branchwip
changeset 368 113d720d5a6c
parent 367 28419e56ee8a
child 369 1248e8f6a72d
Added test case for EPOCNESTEDEXCEPTIONS.
sbsv2/raptor/RELEASE-NOTES.txt
sbsv2/raptor/lib/flm/e32abiv2ani.flm
sbsv2/raptor/lib/flm/e32abiv2defaults.mk
sbsv2/raptor/lib/flm/e32abiv2dll.flm
sbsv2/raptor/lib/flm/e32abiv2exe.flm
sbsv2/raptor/lib/flm/e32abiv2exexp.flm
sbsv2/raptor/lib/flm/e32abiv2fsy.flm
sbsv2/raptor/lib/flm/e32abiv2implib.flm
sbsv2/raptor/lib/flm/e32abiv2lib.flm
sbsv2/raptor/lib/flm/e32abiv2none.flm
sbsv2/raptor/lib/flm/e32abiv2pdl.flm
sbsv2/raptor/lib/flm/e32abiv2pdll.flm
sbsv2/raptor/lib/flm/e32abiv2plugin.flm
sbsv2/raptor/lib/flm/e32abiv2stddll.flm
sbsv2/raptor/lib/flm/e32abiv2stdexe.flm
sbsv2/raptor/lib/flm/e32abiv2stdlib.flm
sbsv2/raptor/lib/flm/e32abiv2textnotifier2.flm
sbsv2/raptor/python/mmpparser.py
sbsv2/raptor/python/raptor_meta.py
sbsv2/raptor/test/smoke_suite/mmp_keywords.py
sbsv2/raptor/test/smoke_suite/test_resources/mmp/epocnestedexceptions/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/mmp/epocnestedexceptions/test.cpp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/epocnestedexceptions/test.mmp
--- a/sbsv2/raptor/RELEASE-NOTES.txt	Mon Mar 15 11:38:03 2010 +0000
+++ b/sbsv2/raptor/RELEASE-NOTES.txt	Tue Mar 16 15:27:06 2010 +0000
@@ -3,12 +3,12 @@
 next version
 
 New Features:
-- Add support for FEATUREVARIANTSAFE in BV builds
+- Add support for FEATUREVARIANTSAFE in BV builds.
 - Add support for Cygwin 1.7.
 - New support for cross-compiling win32 tools on Linux.  
   To enable it, use "sbs -c tools2.win32 -c tools2" on Linux
 - New prototype support for reading System Definition v3 files
-- Add support for MMP keyword EPOCNESTEDEXCEPTIONS
+- Add support for MMP keyword EPOCNESTEDEXCEPTIONS.
 
 
 version 2.12.4
--- a/sbsv2/raptor/lib/flm/e32abiv2ani.flm	Mon Mar 15 11:38:03 2010 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2ani.flm	Tue Mar 16 15:27:06 2010 +0000
@@ -36,6 +36,7 @@
 endif
 
 LINKER_STUB_LIBRARY:=$(STATIC_RUNTIME_DIR)/edllstub.lib
+STATIC_RUNTIME_LIB:=$(USER_STATIC_RUNTIME_LIB)
 CANIGNORENONCALLABLE:=1
 
 # Fixed export TARGETTYPEs should only reference a .def file if an explicit DEFFILE statement is present in the .mmp file
--- a/sbsv2/raptor/lib/flm/e32abiv2defaults.mk	Mon Mar 15 11:38:03 2010 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2defaults.mk	Tue Mar 16 15:27:06 2010 +0000
@@ -31,15 +31,11 @@
 POSTLINKDEFFILE:=
 POSTLINKFILETYPE:=
 POSTLINKTARGETTYPE:=
+STATIC_RUNTIME_LIB:=
 SUPPORT_FREEZE:=
 NOHIDEALL:=
 DEFAULT_NEWLIB:=$(DEFAULT_SYMBIAN_NEWLIB)
 
-ifeq ($(EPOCNESTEDEXCEPTIONS),)
-STATIC_RUNTIME_LIB:=$(USER_STATIC_RUNTIME_LIB)
-else
-STATIC_RUNTIME_LIB:=$(USER_STATIC_RUNTIME_LIB_NESTED_EXCEPTIONS)
-endif
 
 # Reset these variables as they change for every single target type
 # LINKER_ENTRYPOINT_ADORNMENT will be blank for GCCE; for RVCT it will look like "(uc_exe_.o)"
--- a/sbsv2/raptor/lib/flm/e32abiv2dll.flm	Mon Mar 15 11:38:03 2010 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2dll.flm	Tue Mar 16 15:27:06 2010 +0000
@@ -35,6 +35,7 @@
 endif
 
 LINKER_STUB_LIBRARY:=$(STATIC_RUNTIME_DIR)/edllstub.lib
+STATIC_RUNTIME_LIB:=$(USER_STATIC_RUNTIME_LIB)
 
 
 # Default Postlinker settings
--- a/sbsv2/raptor/lib/flm/e32abiv2exe.flm	Mon Mar 15 11:38:03 2010 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2exe.flm	Tue Mar 16 15:27:06 2010 +0000
@@ -34,6 +34,12 @@
 LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_SETTING) $(LINKER_ENTRYPOINT_LIBDEP)
 endif
 
+ifeq ($(EPOCNESTEDEXCEPTIONS),)
+  STATIC_RUNTIME_LIB:=$(USER_STATIC_RUNTIME_LIB)
+else
+  STATIC_RUNTIME_LIB:=$(USER_STATIC_RUNTIME_LIB_NESTED_EXCEPTIONS)
+endif
+
 $(call vsave,CDEFS)
 CDEFS:=$(CDEFS) __EXE__
 include $(FLMHOME)/e32abiv2.flm
--- a/sbsv2/raptor/lib/flm/e32abiv2exexp.flm	Mon Mar 15 11:38:03 2010 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2exexp.flm	Tue Mar 16 15:27:06 2010 +0000
@@ -30,6 +30,7 @@
 $(call vsave,CDEFS)
 # Determine what kind of entrypoint option to set
 FIRSTLIB_OBJECTFILE=uc_exe_.o
+STATIC_RUNTIME_LIB:=$(USER_STATIC_RUNTIME_LIB)
 
 ifeq ($(FIRSTLIB),)
 FIRSTLIB:=eexe.lib
--- a/sbsv2/raptor/lib/flm/e32abiv2fsy.flm	Mon Mar 15 11:38:03 2010 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2fsy.flm	Tue Mar 16 15:27:06 2010 +0000
@@ -46,6 +46,7 @@
 endif
 
 UID2:=100039df
+STATIC_RUNTIME_LIB:=$(USER_STATIC_RUNTIME_LIB)
 CANIGNORENONCALLABLE:=1
 
 
--- a/sbsv2/raptor/lib/flm/e32abiv2implib.flm	Mon Mar 15 11:38:03 2010 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2implib.flm	Tue Mar 16 15:27:06 2010 +0000
@@ -32,7 +32,6 @@
 REQUESTEDTARGETEXT:=dll
 # if there is a LINKAS variable then this won't matter
 
-STATIC_RUNTIME_LIB:=
 
 # We are appending to CDEFS but we don't want this to affect
 # other invocations so we are going to save it on a stack
--- a/sbsv2/raptor/lib/flm/e32abiv2lib.flm	Mon Mar 15 11:38:03 2010 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2lib.flm	Tue Mar 16 15:27:06 2010 +0000
@@ -25,8 +25,6 @@
 
 POSTLINKFILETYPE:=lib
 MULTIFILE_ENABLED:=
-STATIC_RUNTIME_LIB:=
-
 include $(FLMHOME)/e32abiv2.flm
 
 else
--- a/sbsv2/raptor/lib/flm/e32abiv2none.flm	Mon Mar 15 11:38:03 2010 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2none.flm	Tue Mar 16 15:27:06 2010 +0000
@@ -20,7 +20,6 @@
 include $(FLMHOME)/e32abiv2defaults.mk
 POSTLINKTARGETTYPE:=NONE
 POSTLINKFILETYPE:=none
-STATIC_RUNTIME_LIB:=
 
 
 # We are appending to CDEFS but we don't want this to affect
--- a/sbsv2/raptor/lib/flm/e32abiv2pdl.flm	Mon Mar 15 11:38:03 2010 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2pdl.flm	Tue Mar 16 15:27:06 2010 +0000
@@ -35,6 +35,7 @@
 endif
 
 LINKER_STUB_LIBRARY:=$(STATIC_RUNTIME_DIR)/edllstub.lib
+STATIC_RUNTIME_LIB:=$(USER_STATIC_RUNTIME_LIB)
 CANIGNORENONCALLABLE:=1
 
 # Fixed export TARGETTYPEs should only reference a .def file if an explicit DEFFILE statement is present in the .mmp file
--- a/sbsv2/raptor/lib/flm/e32abiv2pdll.flm	Mon Mar 15 11:38:03 2010 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2pdll.flm	Tue Mar 16 15:27:06 2010 +0000
@@ -35,6 +35,8 @@
 endif
 
 LINKER_STUB_LIBRARY:=$(STATIC_RUNTIME_DIR)/edllstub.lib
+STATIC_RUNTIME_LIB:=$(USER_STATIC_RUNTIME_LIB)
+
 
 # Default Postlinker settings
 CANHAVEEXPORTS:=1
--- a/sbsv2/raptor/lib/flm/e32abiv2plugin.flm	Mon Mar 15 11:38:03 2010 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2plugin.flm	Tue Mar 16 15:27:06 2010 +0000
@@ -28,6 +28,7 @@
 endif
 
 LINKER_STUB_LIBRARY:=$(STATIC_RUNTIME_DIR)/edllstub.lib
+STATIC_RUNTIME_LIB:=$(USER_STATIC_RUNTIME_LIB)
 
 # Default Postlinker settings
 CANHAVEEXPORTS:=1
--- a/sbsv2/raptor/lib/flm/e32abiv2stddll.flm	Mon Mar 15 11:38:03 2010 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2stddll.flm	Tue Mar 16 15:27:06 2010 +0000
@@ -37,6 +37,7 @@
 endif
 
 LINKER_STUB_LIBRARY:=$(STATIC_RUNTIME_DIR)/edllstub.lib
+STATIC_RUNTIME_LIB:=$(USER_STATIC_RUNTIME_LIB)
 LIBRARY:=$(LIBRARY) euser.dso
 
 
--- a/sbsv2/raptor/lib/flm/e32abiv2stdexe.flm	Mon Mar 15 11:38:03 2010 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2stdexe.flm	Tue Mar 16 15:27:06 2010 +0000
@@ -35,6 +35,12 @@
 LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_SETTING) $(LINKER_ENTRYPOINT_LIBDEP)
 endif
 
+ifeq ($(EPOCNESTEDEXCEPTIONS),)
+  STATIC_RUNTIME_LIB:=$(USER_STATIC_RUNTIME_LIB)
+else
+  STATIC_RUNTIME_LIB:=$(USER_STATIC_RUNTIME_LIB_NESTED_EXCEPTIONS)
+endif
+
 NAMEDSYMLKUP:=1
 LIBRARY:=$(LIBRARY) euser.dso
 
--- a/sbsv2/raptor/lib/flm/e32abiv2stdlib.flm	Mon Mar 15 11:38:03 2010 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2stdlib.flm	Tue Mar 16 15:27:06 2010 +0000
@@ -25,8 +25,6 @@
 
 NOHIDEALL:=1
 
-STATIC_RUNTIME_LIB:=
-
 include $(FLMHOME)/e32abiv2.flm
 
 else
--- a/sbsv2/raptor/lib/flm/e32abiv2textnotifier2.flm	Mon Mar 15 11:38:03 2010 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2textnotifier2.flm	Tue Mar 16 15:27:06 2010 +0000
@@ -35,6 +35,7 @@
 endif
 
 LINKER_STUB_LIBRARY:=$(STATIC_RUNTIME_DIR)/edllstub.lib
+STATIC_RUNTIME_LIB:=$(USER_STATIC_RUNTIME_LIB)
 CANIGNORENONCALLABLE:=1
 
 # Fixed export TARGETTYPEs should only reference a .def file if an explicit DEFFILE statement is present in the .mmp file
--- a/sbsv2/raptor/python/mmpparser.py	Mon Mar 15 11:38:03 2010 +0000
+++ b/sbsv2/raptor/python/mmpparser.py	Tue Mar 16 15:27:06 2010 +0000
@@ -143,6 +143,7 @@
 			CaselessKeyword('EPOCALLOWDLLDATA') ^ \
 			CaselessKeyword('EPOCCALLDLLENTRYPOINTS') ^ \
 			CaselessKeyword('EPOCFIXEDPROCESS') ^ \
+			CaselessKeyword('EPOCNESTEDEXCEPTIONS') ^ \
 			CaselessKeyword('EXPORTUNFROZEN') ^ \
 			CaselessKeyword('FEATUREVARIANT') ^ \
 			CaselessKeyword('BYTEPAIRCOMPRESSTARGET') ^ \
--- a/sbsv2/raptor/python/raptor_meta.py	Mon Mar 15 11:38:03 2010 +0000
+++ b/sbsv2/raptor/python/raptor_meta.py	Tue Mar 16 15:27:06 2010 +0000
@@ -2968,7 +2968,7 @@
 			self.__Raptor.PrintXML("<zipmarker>" + markerfilename +	"</zipmarker>\n")
 			self.__Raptor.PrintXML("</clean>\n")
 
-		except IOError:
+		except IOError, e:
 			self.__Raptor.Warn("Problem while unzipping export %s to %s: %s",source,destination,str(e))
 
 		self.__Raptor.Info("Unzipped %d files from %s to %s", filecount, source, destination)
--- a/sbsv2/raptor/test/smoke_suite/mmp_keywords.py	Mon Mar 15 11:38:03 2010 +0000
+++ b/sbsv2/raptor/test/smoke_suite/mmp_keywords.py	Tue Mar 16 15:27:06 2010 +0000
@@ -288,6 +288,25 @@
 	t.returncode = 1
 	t.run()
 
+	# Test keyword: EPOCNESTEDEXCEPTIONS
+	t.id = "75n"
+	t.name = "epocnestedexceptions"
+	t.command = "sbs -b smoke_suite/test_resources/mmp/epocnestedexceptions/bld.inf -c armv5 -f-"
+
+	# When EPOCNESTEDEXCEPTIONS is specified in the MMP file, a different static
+	# run-time library should be used.
+	t.mustmatch_singleline = ["usrt_nx_\d_\d\.lib"]
+	t.mustnotmatch = ["usrt._.."]
+
+	t.countmatch = []
+
+	# The new static run-time libraries don't yet exist.
+	t.errors = 1
+	t.warnings = 2
+	t.targets = []
+
+	t.run()
+
 	t.id = "75"
 	t.name = "mmp_keywords"
 	t.print_result()
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/epocnestedexceptions/bld.inf	Tue Mar 16 15:27:06 2010 +0000
@@ -0,0 +1,3 @@
+PRJ_MMPFILES
+test.mmp
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/epocnestedexceptions/test.cpp	Tue Mar 16 15:27:06 2010 +0000
@@ -0,0 +1,7 @@
+#include <e32def.h>
+
+TInt E32Main()
+{
+	return 0;
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/epocnestedexceptions/test.mmp	Tue Mar 16 15:27:06 2010 +0000
@@ -0,0 +1,11 @@
+TARGET			test_mmp_epocnestedexceptions.exe
+TARGETTYPE		EXE
+
+LIBRARY			euser.lib
+
+SYSTEMINCLUDE   /epoc32/include
+
+SOURCE			test.cpp
+
+EPOCNESTEDEXCEPTIONS
+