sbsv2/raptor/test/smoke_suite/mmp_keywords.py
changeset 13 c327db0664bb
child 28 b8fa7dfeeaa1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/mmp_keywords.py	Mon May 17 20:20:32 2010 +0100
@@ -0,0 +1,313 @@
+#
+# 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: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.description = "This testcase tests all mmp keywords including new implementation of 'paged/unpaged code/data'"
+	t.usebash = True
+	
+	t.id = "75a"
+	t.name = "mmp_1"
+	t.command = "sbs -b smoke_suite/test_resources/mmp/mmp1/group/bld.inf -c armv5 -f-"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/shutdownsrv.dll",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/shutdownsrv.dll.map",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/shutdownsrv.dll",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/shutdownsrv.dll.map",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/exportlibrary_shutdownsrv.dso",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/exportlibrary_shutdownsrv{000a0000}.dso",
+	]
+	t.addbuildtargets("smoke_suite/test_resources/mmp/mmp1/group/bld.inf", [
+		"shutdownsrv_dll/armv5/udeb/shutdownsrv.o",
+		"shutdownsrv_dll/armv5/urel/shutdownsrv.o",
+		"shutdownsrv_dll/armv5/udeb/shutdownsrvpatchdata.o",
+		"shutdownsrv_dll/armv5/urel/shutdownsrvpatchdata.o",
+		"shutdownsrv_dll/armv5/udeb/shutdowntimer.o",
+		"shutdownsrv_dll/armv5/urel/shutdowntimer.o"
+		])
+	t.mustmatch = [
+		".*elf2e32.*(--defaultpaged|--codepaging=default.*--datapaging=default).*",
+		".*armlink.*--verbose.*"
+	]
+	t.run()
+
+	t.id = "75b"
+	t.name = "mmp_2"
+	t.command = "sbs -b smoke_suite/test_resources/mmp/mmp2/group/bld.inf -c armv5 -f-"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/imageprocessorperf.lib",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/imageprocessorperf.lib"		
+	]
+	t.addbuildtargets("smoke_suite/test_resources/mmp/mmp2/group/bld.inf", [
+		"imageprocessorperf_lib/armv5/udeb/ColorConverter.o",
+		"imageprocessorperf_lib/armv5/urel/ColorConverter.o",
+		"imageprocessorperf_lib/armv5/udeb/ImageProcessor.o",
+		"imageprocessorperf_lib/armv5/urel/ImageProcessor.o"
+		])
+	t.mustmatch = [
+		".*armcc.*-O0.*-g.*--cpu 6.*-Otime.*",
+		".*armcc.*-O3.*--cpu 6.*-Otime.*",
+		".*OPTION ARMASM has no effect.*",
+		".*OPTION_REPLACE ARMASM has no effect.*"
+	]
+	t.mustnotmatch = [
+		".*armcc.*--export_all_vtbl.*"
+	]
+	t.warnings = 2
+	t.run()
+	
+	t.id = "75c"
+	t.name = "mmp_3"
+	t.command = "sbs -b smoke_suite/test_resources/mmp/mmp3/bld.inf -c armv5 -c winscw -f-"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/tbm.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/tbm.exe.map",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/tbm.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/tbm.exe.map",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/t_oom.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/t_oom.exe.map",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/t_oom.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/t_oom.exe.map",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/dfpaeabi_vfpv2.dll",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/dfpaeabi_vfpv2.dll.map",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/dfpaeabi_vfpv2.dll",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/dfpaeabi_vfpv2.dll.map",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/t_oom.exe",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/t_oom.exe.map",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/t_oom.exe"
+		]
+	t.addbuildtargets("smoke_suite/test_resources/mmp/mmp3/bld.inf", [
+		"tbm_exe/armv5/udeb/tbm.o",
+		"tbm_exe/armv5/urel/tbm.o",
+		"t_oom_exe/armv5/udeb/t_oom.o",
+		"t_oom_exe/armv5/urel/t_oom.o",
+		"dfpaeabi_vfpv2_dll/armv5/udeb/dfpaeabi.o",
+		"dfpaeabi_vfpv2_dll/armv5/urel/dfpaeabi.o",
+		"t_oom_exe/winscw/udeb/t_oom.o",
+		"t_oom_exe/winscw/udeb/t_oom_UID_.o",
+		"t_oom_exe/winscw/urel/t_oom.o",
+		"t_oom_exe/winscw/urel/t_oom_UID_.o"
+		])
+	t.mustmatch = [
+		".*armlink.*udeb/eexe.lib.*-o.*armv5/udeb/t_oom.exe.sym.*euser.dso.*efsrv.dso.*estor.dso.*euser.dso.*",
+		".*armlink.*urel/eexe.lib.*-o.*armv5/urel/t_oom.exe.sym.*euser.dso.*efsrv.dso.*euser.dso.*",
+		".*mwldsym2.*udeb/eexe.lib.*euser.lib.*efsrv.lib.*estor.lib.*euser.lib.*-o.*winscw/udeb/t_oom.exe.*",
+		".*mwldsym2.*urel/eexe.lib.*euser.lib.*efsrv.lib.*euser.lib.*-o.*winscw/urel/t_oom.exe.*"
+		]
+	t.mustnotmatch = []
+	t.warnings = 0
+	t.run()
+	
+	t.id = "75d"
+	t.name = "mmp_4"
+	t.command = "sbs -b smoke_suite/test_resources/mmp/mmp4/group/bld.inf -c winscw"
+	t.targets = [			
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/d_newldd.ldd",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/d_newldd.ldd",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/d_lddturnaroundtimertest.ldd",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/d_lddturnaroundtimertest.ldd",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/d_lddturnaroundtimertest.ldd.map",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/t_sharedio3.exe",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/t_sharedio3.exe",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/t_sharedio3.exe.map",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/t_rbuf.exe",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/t_rbuf.exe",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/t_rbuf.exe.map"
+		]
+	t.addbuildtargets("smoke_suite/test_resources/mmp/mmp4/group/bld.inf", [
+		"d_newldd_ldd/winscw/udeb/d_newldd.o",
+		"d_newldd_ldd/winscw/udeb/d_newldd.UID.CPP",
+		"d_newldd_ldd/winscw/udeb/d_newldd_UID_.o",
+		"d_newldd_ldd/winscw/urel/d_newldd.o",
+		"d_newldd_ldd/winscw/urel/d_newldd.UID.CPP",
+		"d_newldd_ldd/winscw/urel/d_newldd_UID_.o",
+		"d_newldd_ldd/winscw/udeb/t_new_classes.o",
+		"d_newldd_ldd/winscw/urel/t_new_classes.o",
+		"d_lddturnaroundtimertest_ldd/winscw/udeb/d_lddturnaroundtimertest.o",
+		"d_lddturnaroundtimertest_ldd/winscw/udeb/d_lddturnaroundtimertest.UID.CPP",
+		"d_lddturnaroundtimertest_ldd/winscw/udeb/d_lddturnaroundtimertest_UID_.o",
+		"d_lddturnaroundtimertest_ldd/winscw/urel/d_lddturnaroundtimertest.o",
+		"d_lddturnaroundtimertest_ldd/winscw/urel/d_lddturnaroundtimertest.UID.CPP",
+		"d_lddturnaroundtimertest_ldd/winscw/urel/d_lddturnaroundtimertest_UID_.o",
+		"t_sharedio3_exe/winscw/udeb/t_sharedio.o",
+		"t_sharedio3_exe/winscw/udeb/t_sharedio3.UID.CPP",
+		"t_sharedio3_exe/winscw/udeb/t_sharedio3_UID_.o",
+		"t_sharedio3_exe/winscw/urel/t_sharedio.o",
+		"t_sharedio3_exe/winscw/urel/t_sharedio3.UID.CPP",
+		"t_sharedio3_exe/winscw/urel/t_sharedio3_UID_.o",
+		"t_rbuf_exe/winscw/udeb/t_rbuf.o",
+		"t_rbuf_exe/winscw/udeb/t_rbuf.UID.CPP",
+		"t_rbuf_exe/winscw/udeb/t_rbuf_UID_.o",
+		"t_rbuf_exe/winscw/urel/t_rbuf.o",
+		"t_rbuf_exe/winscw/urel/t_rbuf.UID.CPP",
+		"t_rbuf_exe/winscw/urel/t_rbuf_UID_.o"
+		])
+	t.mustmatch = []
+	t.run()
+	
+	# Test keywords: version, firstlib, nocompresstarget
+	t.id = "75e"
+	t.name = "mmp_5"
+	t.command = "sbs -b smoke_suite/test_resources/mmp/mmp5/bld.inf -c armv5"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/fuzzv5.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/fuzzv5.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/fuzzlib.lib",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/fuzzlib.lib"
+		]
+	t.addbuildtargets("smoke_suite/test_resources/mmp/mmp5/bld.inf", [
+		"fuzzv5_exe/armv5/udeb/fuzzv5.o",
+		"fuzzv5_exe/armv5/urel/fuzzv5.o",
+		"fuzzlib_lib/armv5/udeb/uc_exe_.cpp",
+		"fuzzlib_lib/armv5/urel/uc_exe_.cpp",
+		"fuzzlib_lib/armv5/udeb/uc_exe_.o",
+		"fuzzlib_lib/armv5/urel/uc_exe_.o",
+		])
+	t.run()
+
+	t.id = "75f"
+	t.name = "mmp_6"
+	t.command = "sbs -b smoke_suite/test_resources/mmp/mmp6_7/bld.inf -c armv5 -k -p diagsuppress.mmp -f-"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/diagsuppress_test.dll",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/diagsuppress_test.dll",
+		]
+	t.mustmatch = [
+					"--diag_suppress 6780",
+					"--diag_suppress 6331"
+					]
+	t.run()
+	
+	t.id = "75g"
+	t.name = "mmp_7"
+	t.command = "sbs -b smoke_suite/test_resources/mmp/mmp6_7/bld.inf -c armv5 -k -p diagsuppress_noarmlibs.mmp -f-"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/urel/diagsuppress_noarmlibs_test.dll",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/diagsuppress_noarmlibs_test.dll"
+		]
+	t.mustmatch = ["--diag_suppress 6331"]
+	t.mustnotmatch = ["--diag_suppress 6780"]
+	t.run()
+
+	# Test keyword: version
+	t.id = "75h"
+	t.name = "mmp_8"
+	t.command = "sbs -b smoke_suite/test_resources/mmp/mmp8/bld.inf"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/urel/test_mmp_version.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/test_mmp_version.exe",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/test_mmp_version.exe",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/test_mmp_version.exe"
+		]
+	t.mustmatch = []
+	t.mustnotmatch = []
+	t.warnings = 2
+	t.run()
+
+	# Test keyword: armfpu softvfp|vfpv2
+	# Both armv5 RVCT (9a+b) and GCCE (10) builds, as they differ in behaviour.
+	t.id = "75i"
+	t.name = "mmp_9a"
+	t.command = "sbs -b $(SBS_HOME)/test/smoke_suite/test_resources/mmp/mmp9_10/bld.inf -p armfpu_soft.mmp -c armv5_urel -f-"			
+	t.targets = []
+	t.mustmatch = ["--fpu softvfp", "--fpu=softvfp"]
+	t.mustnotmatch = ["--fpu vfpv2", "--fpu=vfpv2"]
+	t.warnings = 0
+	t.run()
+		
+	t.id = "75j"
+	t.name = "mmp_9b"
+	t.command = "sbs -b $(SBS_HOME)/test/smoke_suite/test_resources/mmp/mmp9_10/bld.inf -c armv5_urel REALLYCLEAN &&" \
+			+ " sbs -b $(SBS_HOME)/test/smoke_suite/test_resources/mmp/mmp9_10/bld.inf -p armfpu_vfpv2.mmp -c armv5_urel -f-"
+
+	t.mustmatch = ["--fpu vfpv2", "--fpu=vfpv2"]
+	t.mustnotmatch = ["--fpu softvfp", "--fpu=softvfp"]	
+	t.run()
+	
+	t.id = "75k"
+	t.name = "mmp_10"
+	t.command = "sbs -b $(SBS_HOME)/test/smoke_suite/test_resources/mmp/mmp9_10/bld.inf  -c armv5_urel_gcce4_3_2 REALLYCLEAN &&" \
+			+ " sbs -b $(SBS_HOME)/test/smoke_suite/test_resources/mmp/mmp9_10/bld.inf -c armv5_urel_gcce4_3_2 -f-"
+	t.countmatch = [
+		["-mfloat-abi=soft", 2],
+		["--fpu=softvfp", 2]
+	]
+	t.mustmatch = []
+	t.mustnotmatch = ["--fpu=vfpv2"]
+	t.run()
+	
+	# Test keywords: compresstarget, nocompresstarget, bytepaircompresstarget, inflatecompresstarget
+	t.id = "75l"
+	t.name = "mmp_11"
+	t.command = "sbs -b $(SBS_HOME)/test/smoke_suite/test_resources/mmp/mmp11/bld.inf -c armv5_urel -f-"
+	t.mustmatch_singleline = [
+		"elf2e32.*--output.*\/compress\.exe.*--compressionmethod=inflate",
+		"elf2e32.*--output.*\/nocompress\.exe.*--uncompressed",
+		"elf2e32.*--output.*\/bytepaircompress\.exe.*--compressionmethod=bytepair",
+		"elf2e32.*--output.*\/inflatecompress\.exe.*--compressionmethod=inflate",
+		"elf2e32.*--output.*\/combinedcompress\.exe.*--compressionmethod=bytepair",		
+		"COMPRESSTARGET keyword in .*combinedcompresstarget.mmp overrides earlier use of NOCOMPRESSTARGET",
+		"INFLATECOMPRESSTARGET keyword in .*combinedcompresstarget.mmp overrides earlier use of COMPRESSTARGET",
+		"BYTEPAIRCOMPRESSTARGET keyword in .*combinedcompresstarget.mmp overrides earlier use of INFLATECOMPRESSTARGET"
+	]
+	t.countmatch = []
+	t.mustnotmatch = []
+	t.warnings = 3
+	t.run()
+
+	# Test keyword: APPLY
+	t.id = "75m"
+	t.name = "apply"
+	t.command = "sbs -b smoke_suite/test_resources/mmp/apply/bld.inf -f- -k --configpath=test/config"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/urel/test_mmp_apply.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/test_mmp_apply.exe",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/test_mmp_apply.exe",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/test_mmp_apply.exe"
+		]
+	t.mustmatch_singleline = ["-DAPPLYTESTEXPORTEDVAR",
+	                          "-DAPPLYTESTAPPENDCDEFS"]
+	t.countmatch = [["<error.*APPLY unknown variant 'no_such_var'", 2]]
+	t.errors = 2 # no_such_var for armv5 and winscw
+	t.warnings = 0
+	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()
+	return t