sbsv2/raptor/test/smoke_suite/featurevariants.py
changeset 3 e1eecf4d390d
child 5 593a8820b912
equal deleted inserted replaced
1:be27ed110b50 3:e1eecf4d390d
       
     1 #
       
     2 # Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
       
     3 # All rights reserved.
       
     4 # This component and the accompanying materials are made available
       
     5 # under the terms of the License "Eclipse Public License v1.0"
       
     6 # which accompanies this distribution, and is available
       
     7 # at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 #
       
     9 # Initial Contributors:
       
    10 # Nokia Corporation - initial contribution.
       
    11 #
       
    12 # Contributors:
       
    13 #
       
    14 # Description: 
       
    15 #
       
    16 
       
    17 from raptor_tests import SmokeTest
       
    18 
       
    19 def run():
       
    20 	t = SmokeTest()
       
    21 	
       
    22 	# tests for building feature variants
       
    23 	t.id = "56"
       
    24 	t.name = "featurevariants"
       
    25 	t.usebash = True
       
    26 	t.command = "sbs -b smoke_suite/test_resources/bv/bld.inf -c armv5 " + \
       
    27                 "-c armv5.test_bv_1 -c armv5.test_bv_2 -c armv5.test_bv_3 " + \
       
    28                 "--configpath=test/smoke_suite/test_resources/bv -f-"
       
    29 	t.targets = [
       
    30 		# prebuilt files
       
    31 		"$(EPOCROOT)/epoc32/release/armv5/udeb/dummy.lib",
       
    32 		"$(EPOCROOT)/epoc32/release/armv5/urel/dummy.lib",
       
    33 		"$(EPOCROOT)/epoc32/release/armv5/udeb/debfake.lib",
       
    34 		"$(EPOCROOT)/epoc32/release/armv5/urel/relfake.lib",
       
    35 		
       
    36 		# built files
       
    37 		"$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll_invariant.dll",
       
    38 		"$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll_invariant.dll.map",
       
    39 		"$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll_invariant.dll.sym",
       
    40 		"$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll_invariant.dll",
       
    41 		"$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll_invariant.dll.map",
       
    42 		"$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll_invariant.dll.sym",
       
    43 
       
    44 		"$(EPOCROOT)/epoc32/release/armv5.one/udeb/createstaticdll_variant1.dll",
       
    45 		"$(EPOCROOT)/epoc32/release/armv5.one/udeb/createstaticdll_variant1.dll.map",
       
    46 		"$(EPOCROOT)/epoc32/release/armv5.one/udeb/createstaticdll_variant1.dll.vmap",
       
    47 		"$(EPOCROOT)/epoc32/release/armv5.one/udeb/createstaticdll_variant2.dll",
       
    48 		"$(EPOCROOT)/epoc32/release/armv5.one/udeb/createstaticdll_variant2.dll.map",
       
    49 		"$(EPOCROOT)/epoc32/release/armv5.one/udeb/createstaticdll_variant2.dll.vmap",
       
    50 		"$(EPOCROOT)/epoc32/release/armv5.one/udeb/createexe_variant3.exe.vmap",
       
    51 
       
    52 		"$(EPOCROOT)/epoc32/release/armv5.one/urel/createstaticdll_variant1.dll",
       
    53 		"$(EPOCROOT)/epoc32/release/armv5.one/urel/createstaticdll_variant1.dll.map",
       
    54 		"$(EPOCROOT)/epoc32/release/armv5.one/urel/createstaticdll_variant1.dll.vmap",
       
    55 		"$(EPOCROOT)/epoc32/release/armv5.one/urel/createstaticdll_variant2.dll",
       
    56 		"$(EPOCROOT)/epoc32/release/armv5.one/urel/createstaticdll_variant2.dll.map",
       
    57 		"$(EPOCROOT)/epoc32/release/armv5.one/urel/createstaticdll_variant2.dll.vmap",
       
    58 		"$(EPOCROOT)/epoc32/release/armv5.one/urel/createexe_variant3.exe.vmap",
       
    59 
       
    60 		"$(EPOCROOT)/epoc32/release/armv5.two/udeb/createstaticdll_variant1.dll",
       
    61 		"$(EPOCROOT)/epoc32/release/armv5.two/udeb/createstaticdll_variant1.dll.map",
       
    62 		"$(EPOCROOT)/epoc32/release/armv5.two/udeb/createstaticdll_variant1.dll.vmap",
       
    63 		"$(EPOCROOT)/epoc32/release/armv5.two/udeb/createstaticdll_variant2.dll",
       
    64 		"$(EPOCROOT)/epoc32/release/armv5.two/udeb/createstaticdll_variant2.dll.map",
       
    65 		"$(EPOCROOT)/epoc32/release/armv5.two/udeb/createstaticdll_variant2.dll.vmap",
       
    66 		"$(EPOCROOT)/epoc32/release/armv5.two/udeb/createexe_variant3.exe.vmap",
       
    67 		
       
    68 		"$(EPOCROOT)/epoc32/release/armv5.two/urel/createstaticdll_variant1.dll",
       
    69 		"$(EPOCROOT)/epoc32/release/armv5.two/urel/createstaticdll_variant1.dll.map",
       
    70 		"$(EPOCROOT)/epoc32/release/armv5.two/urel/createstaticdll_variant1.dll.vmap",
       
    71 		"$(EPOCROOT)/epoc32/release/armv5.two/urel/createstaticdll_variant2.dll",
       
    72 		"$(EPOCROOT)/epoc32/release/armv5.two/urel/createstaticdll_variant2.dll.map",
       
    73 		"$(EPOCROOT)/epoc32/release/armv5.two/urel/createstaticdll_variant2.dll.vmap",
       
    74 		"$(EPOCROOT)/epoc32/release/armv5.two/urel/createexe_variant3.exe.vmap",
       
    75 
       
    76 		"$(EPOCROOT)/epoc32/release/armv5.three/udeb/createstaticdll_variant1.dll",
       
    77 		"$(EPOCROOT)/epoc32/release/armv5.three/udeb/createstaticdll_variant1.dll.map",
       
    78 		"$(EPOCROOT)/epoc32/release/armv5.three/udeb/createstaticdll_variant1.dll.vmap",
       
    79 		"$(EPOCROOT)/epoc32/release/armv5.three/udeb/createstaticdll_variant2.dll",
       
    80 		"$(EPOCROOT)/epoc32/release/armv5.three/udeb/createstaticdll_variant2.dll.map",
       
    81 		"$(EPOCROOT)/epoc32/release/armv5.three/udeb/createstaticdll_variant2.dll.vmap",
       
    82 		"$(EPOCROOT)/epoc32/release/armv5.three/udeb/createexe_variant3.exe.vmap",
       
    83 		
       
    84 		"$(EPOCROOT)/epoc32/release/armv5.three/urel/createstaticdll_variant1.dll",
       
    85 		"$(EPOCROOT)/epoc32/release/armv5.three/urel/createstaticdll_variant1.dll.map",
       
    86 		"$(EPOCROOT)/epoc32/release/armv5.three/urel/createstaticdll_variant1.dll.vmap",
       
    87 		"$(EPOCROOT)/epoc32/release/armv5.three/urel/createstaticdll_variant2.dll",
       
    88 		"$(EPOCROOT)/epoc32/release/armv5.three/urel/createstaticdll_variant2.dll.map",
       
    89 		"$(EPOCROOT)/epoc32/release/armv5.three/urel/createstaticdll_variant2.dll.vmap",
       
    90 		"$(EPOCROOT)/epoc32/release/armv5.three/urel/createexe_variant3.exe.vmap",
       
    91 
       
    92 		"$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll_invariant.dso",
       
    93 		"$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll_invariant{000a0000}.dso",
       
    94 		"$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll_variant1.dso",
       
    95 		"$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll_variant1{000a0000}.dso",
       
    96 		"$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll_variant2.dso",
       
    97 		"$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll_variant2{000a0000}.dso",
       
    98 
       
    99 		"$(EPOCROOT)/epoc32/data/z/resource/apps/dummy_var1.rsc",
       
   100 		"$(EPOCROOT)/epoc32/include/dummy_var1.rsg",
       
   101 		"$(EPOCROOT)/epoc32/data/z/resource/apps/dummy_var2.rsc",
       
   102 		"$(EPOCROOT)/epoc32/include/dummy_var2.rsg",
       
   103 		"$(EPOCROOT)/epoc32/data/z/resource/apps/dummy_var3.rsc",
       
   104 		"$(EPOCROOT)/epoc32/include/dummy_var3.rsg",
       
   105 		"$(EPOCROOT)/epoc32/data/z/resource/apps/dummy_inv.rsc",
       
   106 		"$(EPOCROOT)/epoc32/include/dummy_inv.rsg"
       
   107 		]
       
   108 	t.addbuildtargets('smoke_suite/test_resources/bv/bld.inf', [
       
   109 		"createstaticdll_invariant_dll/armv5/udeb/CreateStaticDLL_invariant.o",
       
   110 		"createstaticdll_invariant_dll/armv5/udeb/CreateStaticDLL_invariant.o.d",
       
   111 		"createstaticdll_invariant_dll/armv5/udeb/createstaticdll_invariant_udeb_objects.via",
       
   112 		"createstaticdll_invariant_dll/armv5/udeb/createstaticdll_invariant{000a0000}.def",
       
   113 		"createstaticdll_invariant_dll/armv5/udeb/createstaticdll_invariant{000a0000}.dso",
       
   114 		"createstaticdll_invariant_dll/armv5/urel/CreateStaticDLL_invariant.o",
       
   115 		"createstaticdll_invariant_dll/armv5/urel/CreateStaticDLL_invariant.o.d",
       
   116 		"createstaticdll_invariant_dll/armv5/urel/createstaticdll_invariant_urel_objects.via",
       
   117 		"createstaticdll_invariant_dll/armv5/urel/createstaticdll_invariant{000a0000}.def",
       
   118 		"createstaticdll_invariant_dll/armv5/urel/createstaticdll_invariant{000a0000}.dso",
       
   119 		
       
   120 		"dummy_inv_dll/dummy_inv__resource_apps_sc.rpp",
       
   121 		"dummy_inv_dll/dummy_inv__resource_apps_sc.rpp.d",
       
   122 		"dummy_var1_dll/dummy_var1__resource_apps_sc.rpp",
       
   123 		"dummy_var1_dll/dummy_var1__resource_apps_sc.rpp.d",
       
   124 		"dummy_var2_dll/dummy_var2__resource_apps_sc.rpp",
       
   125 		"dummy_var2_dll/dummy_var2__resource_apps_sc.rpp.d",
       
   126 		"dummy_var3_exe/dummy_var3__resource_apps_sc.rpp",
       
   127 		"dummy_var3_exe/dummy_var3__resource_apps_sc.rpp.d",
       
   128 		
       
   129 		
       
   130 		"createstaticdll_variant1_dll/armv5.one/udeb/CreateStaticDLL_variant1.o",
       
   131 		"createstaticdll_variant1_dll/armv5.one/udeb/CreateStaticDLL_variant1.o.d",
       
   132 		"createstaticdll_variant1_dll/armv5.one/udeb/createstaticdll_variant1_udeb_objects.via",
       
   133 		"createstaticdll_variant1_dll/armv5.one/udeb/createstaticdll_variant1{000a0000}.def",
       
   134 		"createstaticdll_variant1_dll/armv5.one/udeb/createstaticdll_variant1{000a0000}.dso",
       
   135 		"createstaticdll_variant1_dll/armv5.one/urel/CreateStaticDLL_variant1.o",
       
   136 		"createstaticdll_variant1_dll/armv5.one/urel/CreateStaticDLL_variant1.o.d",
       
   137 		"createstaticdll_variant1_dll/armv5.one/urel/createstaticdll_variant1_urel_objects.via",
       
   138 		"createstaticdll_variant1_dll/armv5.one/urel/createstaticdll_variant1{000a0000}.def",
       
   139 		"createstaticdll_variant1_dll/armv5.one/urel/createstaticdll_variant1{000a0000}.dso",
       
   140 		
       
   141 		"createstaticdll_variant2_dll/armv5.one/udeb/CreateStaticDLL_variant2.o",
       
   142 		"createstaticdll_variant2_dll/armv5.one/udeb/CreateStaticDLL_variant2.o.d",
       
   143 		"createstaticdll_variant2_dll/armv5.one/udeb/createstaticdll_variant2_udeb_objects.via",
       
   144 		"createstaticdll_variant2_dll/armv5.one/udeb/createstaticdll_variant2{000a0000}.def",
       
   145 		"createstaticdll_variant2_dll/armv5.one/udeb/createstaticdll_variant2{000a0000}.dso",
       
   146 		"createstaticdll_variant2_dll/armv5.one/urel/CreateStaticDLL_variant2.o",
       
   147 		"createstaticdll_variant2_dll/armv5.one/urel/CreateStaticDLL_variant2.o.d",
       
   148 		"createstaticdll_variant2_dll/armv5.one/urel/createstaticdll_variant2_urel_objects.via",
       
   149 		"createstaticdll_variant2_dll/armv5.one/urel/createstaticdll_variant2{000a0000}.def",
       
   150 		"createstaticdll_variant2_dll/armv5.one/urel/createstaticdll_variant2{000a0000}.dso",
       
   151 		
       
   152 		"createexe_variant3_exe/armv5.one/udeb/CreateEXE_variant3.o",
       
   153 		"createexe_variant3_exe/armv5.one/udeb/CreateEXE_variant3.o.d",
       
   154 		"createexe_variant3_exe/armv5.one/udeb/createexe_variant3_udeb_objects.via",
       
   155 		"createexe_variant3_exe/armv5.one/urel/CreateEXE_variant3.o",
       
   156 		"createexe_variant3_exe/armv5.one/urel/CreateEXE_variant3.o.d",
       
   157 		"createexe_variant3_exe/armv5.one/urel/createexe_variant3_urel_objects.via",
       
   158 		
       
   159 		
       
   160 		"createstaticdll_variant1_dll/armv5.two/udeb/CreateStaticDLL_variant1.o",
       
   161 		"createstaticdll_variant1_dll/armv5.two/udeb/CreateStaticDLL_variant1.o.d",
       
   162 		"createstaticdll_variant1_dll/armv5.two/udeb/createstaticdll_variant1_udeb_objects.via",
       
   163 		"createstaticdll_variant1_dll/armv5.two/udeb/createstaticdll_variant1{000a0000}.def",
       
   164 		"createstaticdll_variant1_dll/armv5.two/udeb/createstaticdll_variant1{000a0000}.dso",
       
   165 		"createstaticdll_variant1_dll/armv5.two/urel/CreateStaticDLL_variant1.o",
       
   166 		"createstaticdll_variant1_dll/armv5.two/urel/CreateStaticDLL_variant1.o.d",
       
   167 		"createstaticdll_variant1_dll/armv5.two/urel/createstaticdll_variant1_urel_objects.via",
       
   168 		"createstaticdll_variant1_dll/armv5.two/urel/createstaticdll_variant1{000a0000}.def",
       
   169 		"createstaticdll_variant1_dll/armv5.two/urel/createstaticdll_variant1{000a0000}.dso",
       
   170 		
       
   171 		"createstaticdll_variant2_dll/armv5.two/udeb/CreateStaticDLL_variant2.o",
       
   172 		"createstaticdll_variant2_dll/armv5.two/udeb/CreateStaticDLL_variant2.o.d",
       
   173 		"createstaticdll_variant2_dll/armv5.two/udeb/createstaticdll_variant2_udeb_objects.via",
       
   174 		"createstaticdll_variant2_dll/armv5.two/udeb/createstaticdll_variant2{000a0000}.def",
       
   175 		"createstaticdll_variant2_dll/armv5.two/udeb/createstaticdll_variant2{000a0000}.dso",
       
   176 		"createstaticdll_variant2_dll/armv5.two/urel/CreateStaticDLL_variant2.o",
       
   177 		"createstaticdll_variant2_dll/armv5.two/urel/CreateStaticDLL_variant2.o.d",
       
   178 		"createstaticdll_variant2_dll/armv5.two/urel/createstaticdll_variant2_urel_objects.via",
       
   179 		"createstaticdll_variant2_dll/armv5.two/urel/createstaticdll_variant2{000a0000}.def",
       
   180 		"createstaticdll_variant2_dll/armv5.two/urel/createstaticdll_variant2{000a0000}.dso",
       
   181 		
       
   182 		"createexe_variant3_exe/armv5.two/udeb/CreateEXE_variant3.o",
       
   183 		"createexe_variant3_exe/armv5.two/udeb/CreateEXE_variant3.o.d",
       
   184 		"createexe_variant3_exe/armv5.two/udeb/createexe_variant3_udeb_objects.via",
       
   185 		"createexe_variant3_exe/armv5.two/urel/CreateEXE_variant3.o",
       
   186 		"createexe_variant3_exe/armv5.two/urel/CreateEXE_variant3.o.d",
       
   187 		"createexe_variant3_exe/armv5.two/urel/createexe_variant3_urel_objects.via",
       
   188 		
       
   189 		
       
   190 		"createstaticdll_variant1_dll/armv5.three/udeb/CreateStaticDLL_variant1.o",
       
   191 		"createstaticdll_variant1_dll/armv5.three/udeb/CreateStaticDLL_variant1.o.d",
       
   192 		"createstaticdll_variant1_dll/armv5.three/udeb/createstaticdll_variant1_udeb_objects.via",
       
   193 		"createstaticdll_variant1_dll/armv5.three/udeb/createstaticdll_variant1{000a0000}.def",
       
   194 		"createstaticdll_variant1_dll/armv5.three/udeb/createstaticdll_variant1{000a0000}.dso",
       
   195 		"createstaticdll_variant1_dll/armv5.three/urel/CreateStaticDLL_variant1.o",
       
   196 		"createstaticdll_variant1_dll/armv5.three/urel/CreateStaticDLL_variant1.o.d",
       
   197 		"createstaticdll_variant1_dll/armv5.three/urel/createstaticdll_variant1_urel_objects.via",
       
   198 		"createstaticdll_variant1_dll/armv5.three/urel/createstaticdll_variant1{000a0000}.def",
       
   199 		"createstaticdll_variant1_dll/armv5.three/urel/createstaticdll_variant1{000a0000}.dso",
       
   200 		
       
   201 		"createstaticdll_variant2_dll/armv5.three/udeb/CreateStaticDLL_variant2.o",
       
   202 		"createstaticdll_variant2_dll/armv5.three/udeb/CreateStaticDLL_variant2.o.d",
       
   203 		"createstaticdll_variant2_dll/armv5.three/udeb/createstaticdll_variant2_udeb_objects.via",
       
   204 		"createstaticdll_variant2_dll/armv5.three/udeb/createstaticdll_variant2{000a0000}.def",
       
   205 		"createstaticdll_variant2_dll/armv5.three/udeb/createstaticdll_variant2{000a0000}.dso",
       
   206 		"createstaticdll_variant2_dll/armv5.three/urel/CreateStaticDLL_variant2.o",
       
   207 		"createstaticdll_variant2_dll/armv5.three/urel/CreateStaticDLL_variant2.o.d",
       
   208 		"createstaticdll_variant2_dll/armv5.three/urel/createstaticdll_variant2_urel_objects.via",
       
   209 		"createstaticdll_variant2_dll/armv5.three/urel/createstaticdll_variant2{000a0000}.def",
       
   210 		"createstaticdll_variant2_dll/armv5.three/urel/createstaticdll_variant2{000a0000}.dso",
       
   211 		
       
   212 		"createexe_variant3_exe/armv5.three/udeb/CreateEXE_variant3.o",
       
   213 		"createexe_variant3_exe/armv5.three/udeb/CreateEXE_variant3.o.d",
       
   214 		"createexe_variant3_exe/armv5.three/udeb/createexe_variant3_udeb_objects.via",
       
   215 		"createexe_variant3_exe/armv5.three/urel/CreateEXE_variant3.o",
       
   216 		"createexe_variant3_exe/armv5.three/urel/CreateEXE_variant3.o.d",
       
   217 		"createexe_variant3_exe/armv5.three/urel/createexe_variant3_urel_objects.via"
       
   218 	])
       
   219 	# Test that static libs are linked from the invariant place.
       
   220 	t.mustmatch = [
       
   221 		"armlink.*epoc32/release/armv5/urel/bv_static_lib.lib",
       
   222 		"armlink.*epoc32/release/armv5/udeb/bv_static_lib.lib"
       
   223 	]
       
   224 	t.run()
       
   225 	
       
   226 	
       
   227 	# tests for the createvmap script
       
   228 	createvmap = "python $(SBS_HOME)/bin/createvmap.py"
       
   229 	vmapfile = "$(EPOCROOT)/epoc32/build/test.vmap"
       
   230 	vmap = " -o " + vmapfile
       
   231 	bvcpp = " -c $(SBS_HOME)/$(HOSTPLATFORM_DIR)/bv/bin/cpp"
       
   232 	if t.onWindows:
       
   233 		bvcpp += ".exe"
       
   234 
       
   235 	bvdata = "$(SBS_HOME)/test/smoke_suite/test_resources/bv"
       
   236 	
       
   237 	preinc = " -p " + bvdata + "/var1/var1.h"
       
   238 	listA = " -f " + bvdata + "/listA.txt"
       
   239 	listB = " -f " + bvdata + "/listB.txt"
       
   240 	listC = " -f " + bvdata + "/listC.txt"
       
   241 	srcWith = " -s " + bvdata + "/with_macros.cpp"
       
   242 	srcWithout = " -s " + bvdata + "/without_macros.cpp"
       
   243 	badSrc = " -s " + bvdata + "/with_errors.cpp"
       
   244 
       
   245 	t.id = "56a"
       
   246 	t.name = "createvmap exits with an error"
       
   247 	t.usebash = True
       
   248 	t.command = createvmap
       
   249 	t.returncode = 1
       
   250 	t.targets = []
       
   251 	t.mustmatch = []
       
   252 	t.run()
       
   253 
       
   254 	
       
   255 	t.id = "56b"
       
   256 	t.name = "createvmap shows cpp errors"
       
   257 	t.usebash = True
       
   258 	t.command = createvmap + vmap + bvcpp + preinc + listA + badSrc
       
   259 	t.returncode = 1
       
   260 	t.targets = []
       
   261 	t.mustmatch = ["#error this code is broken"]
       
   262 	t.run()
       
   263 	
       
   264 	
       
   265 	t.id = "56c"
       
   266 	t.name = "createvmap errors on missing feature list"
       
   267 	t.usebash = True
       
   268 	t.command = createvmap + vmap + bvcpp + preinc + listC + srcWith
       
   269 	t.returncode = 1
       
   270 	t.targets = []
       
   271 	t.mustmatch = ["The feature list '.*listC.txt' does not exist"]
       
   272 	t.run()
       
   273 	
       
   274 	
       
   275 	t.id = "56d"
       
   276 	t.name = "createvmap warns on featureless code"
       
   277 	t.usebash = True
       
   278 	t.command = createvmap + vmap + bvcpp + preinc + listA + srcWithout
       
   279 	t.returncode = 0
       
   280 	t.targets = [vmapfile]
       
   281 	t.mustmatch = ["warning: No feature macros were found in the source"]
       
   282 	t.run()
       
   283 	
       
   284 	
       
   285 	t.id = "56e"
       
   286 	t.name = "createvmap creates the right vmap file"
       
   287 	t.usebash = True
       
   288 	t.command = createvmap + vmap + bvcpp + preinc + listA + listB + srcWith + srcWithout + " && cat " + vmapfile
       
   289 	t.returncode = 0
       
   290 	t.targets = [vmapfile]
       
   291 	t.mustmatch = ["A_1=defined", "B_1000=undefined"]
       
   292 	t.run()
       
   293 	
       
   294 	
       
   295 	# print the overall result
       
   296 	t.id = "56"
       
   297 	t.name = "featurevariants"
       
   298 	t.print_result()
       
   299 	return t