--- /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