def run(): t = SmokeTest() t.name = "resource_once" t.description = "Ensure we only generate the resource header once even when there are many languages. Make sure that the right language (96) is used for the headerfile." t.command = "sbs -b smoke_suite/test_resources/resource/group/simple.inf -c winscw_udeb -m ${SBSMAKEFILE} -f ${SBSLOGFILE}; XX=$?; cat ${SBSLOGFILE}; exit $XX" t.usebash = True t.targets = [ "$(EPOCROOT)/epoc32/include/testresource.hrh", "$(EPOCROOT)/epoc32/include/testresource_badef.rh", "$(EPOCROOT)/epoc32/data/z/resource/testresource/testresource.rsc", "$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/testresource/testresource.rsc", "$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/testresource/testresource.rsc", "$(EPOCROOT)/epoc32/data/z/resource/testresource/testresource.r37", "$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/testresource/testresource.r37", "$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/testresource/testresource.r37", "$(EPOCROOT)/epoc32/data/z/resource/testresource/testresource.r94", "$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/testresource/testresource.r94", "$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/testresource/testresource.r94", "$(EPOCROOT)/epoc32/data/z/resource/testresource/testresource.r96", "$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/testresource/testresource.r96", "$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/testresource/testresource.r96", "$(EPOCROOT)/epoc32/include/testresource.rsg", "$(EPOCROOT)/epoc32/release/winscw/udeb/testresource.exe" ] t.countmatch = [["rcomp.*-h.*rsg.*r96",1], # must see r96 once ["rcomp.*-h.*rsg",1]] # must not see any other language t.run() t.print_result() return t
def run(): t = SmokeTest() t.name = "resource_once" t.description = "Ensure we only generate the resource header once even when there are many languages. Make sure that the right language (96) is used for the headerfile." t.command = "sbs -b smoke_suite/test_resources/resource/group/simple.inf -c winscw_udeb -m ${SBSMAKEFILE} -f ${SBSLOGFILE}; XX=$?; cat ${SBSLOGFILE}; exit $XX" t.usebash = True t.targets = [ "$(EPOCROOT)/epoc32/include/testresource.hrh", "$(EPOCROOT)/epoc32/include/testresource_badef.rh", "$(EPOCROOT)/epoc32/data/z/resource/testresource/testresource.rsc", "$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/testresource/testresource.rsc", "$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/testresource/testresource.rsc", "$(EPOCROOT)/epoc32/data/z/resource/testresource/testresource.r37", "$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/testresource/testresource.r37", "$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/testresource/testresource.r37", "$(EPOCROOT)/epoc32/data/z/resource/testresource/testresource.r94", "$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/testresource/testresource.r94", "$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/testresource/testresource.r94", "$(EPOCROOT)/epoc32/data/z/resource/testresource/testresource.r96", "$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/testresource/testresource.r96", "$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/testresource/testresource.r96", "$(EPOCROOT)/epoc32/include/testresource.rsg", "$(EPOCROOT)/epoc32/release/winscw/udeb/testresource.exe" ] t.countmatch = [ ["rcomp.*-h.*rsg.*r96", 1], # must see r96 once ["rcomp.*-h.*rsg", 1] ] # must not see any other language t.run() t.print_result() return t
def run(): t = SmokeTest() t.description = "Tests against log files to ensure it 'does the right thing'" t.id = "87a" t.name = "terminal_filter_tests_log" t.command = "$(SBS_HOME)/test/smoke_suite/test_resources/refilter/testfilterterminal" t.countmatch = [ # One of each type of error occurs early in the 'sbs' call where there # is a recipe inside another recipe. Then the errors occur in the # opposite order where are 2 closing tags next to each other before 2 # opening tags appear next to each other [ "sbs: error: Opening recipe tag found before closing recipe tag for previous recipe:", 2 ], ["Discarding previous recipe \(Possible logfile corruption\)", 2], ["sbs: error: Closing recipe tag found before opening recipe tag:", 2], ["Unable to print recipe data \(Possible logfile corruption\)", 2] ] t.errors = 4 t.run() t.id = "87b" t.name = "terminal_filter_tests_configs" t.command = "sbs -b smoke_suite/test_resources/simple/bld.inf" t.countmatch = [] t.errors = 0 t.mustmatch_singleline = [ "built 'armv5_urel'", "built 'armv5_udeb'", "built 'winscw_urel'", "built 'winscw_udeb'" ] t.run() t.id = "87" t.name = "terminal_filter_tests" t.print_result() return t
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() 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/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/platform/symbiantraces/autogen/testTC_0x1000008d_TraceDefinitions.h" ] t.run() t.id = "114c" t.name = "tracecompiler_incremental_rebuild" t.command = "sleep 1; 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() t.id = "114" t.name = "tracecompiler_incremental" return t
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() 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/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/platform/symbiantraces/autogen/testTC_0x1000008d_TraceDefinitions.h" ] t.run() t.id = "114c" t.name = "tracecompiler_incremental_rebuild" t.command = "sleep 1; 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() t.id = "114" t.name = "tracecompiler_incremental" return t
def run(): t = SmokeTest() t.description = "Tests against log files to ensure it 'does the right thing'" t.id = "87a" t.name = "terminal_filter_tests_log" t.command = "$(SBS_HOME)/test/smoke_suite/test_resources/refilter/testfilterterminal" t.countmatch = [ # One of each type of error occurs early in the 'sbs' call where there # is a recipe inside another recipe. Then the errors occur in the # opposite order where are 2 closing tags next to each other before 2 # opening tags appear next to each other ["sbs: error: Opening recipe tag found before closing recipe tag for previous recipe:", 2], ["Discarding previous recipe \(Possible logfile corruption\)", 2], ["sbs: error: Closing recipe tag found before opening recipe tag:", 2], ["Unable to print recipe data \(Possible logfile corruption\)", 2] ] t.errors = 4 t.run() t.id = "87b" t.name = "terminal_filter_tests_configs" t.command = "sbs -b smoke_suite/test_resources/simple/bld.inf" t.countmatch = [] t.errors = 0 t.mustmatch_singleline = ["built 'armv5_urel'", "built 'armv5_udeb'", "built 'winscw_urel'", "built 'winscw_udeb'" ] t.run() t.id = "87" t.name = "terminal_filter_tests" t.print_result() return t
def run(): t = SmokeTest() t.name = "planb" t.description = "Basic planb test of the makefile mechanism." t.usebash = True t.command = "sbs -b smoke_suite/test_resources/planb/bld.inf -f-" t.countmatch = [ ["\+ echo bitmap-all", 4], # 2 platforms * 2 variants ["\+ echo resource-all", 4], ["\+ echo target-all", 4], ["\+ echo bitmap-no_var_dep", 2], # 2 platforms ["\+ echo resource-no_var_dep", 2], ["\+ echo target-no_var_dep", 2], ["\+ echo bitmap-no_plat_dep", 1], # 1 build ["\+ echo resource-no_plat_dep", 1], ["\+ echo target-no_plat_dep", 1], ] t.run() return t
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 softvfp\+", "--fpu=vfpv2", "--fpu=softvfp\+"] 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 = "75ja" t.name = "mmp_9c" 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_soft+vfpv2.mmp\" -c armv5_urel -f-" t.mustmatch = ["--fpu softvfp\+vfpv2", "--fpu=vfpv2"] t.mustnotmatch = ["--fpu vfpv2", "--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", 3], ["--fpu=softvfp", 3] # gcce doesn't vary according to ARMFPU currently ] t.mustmatch = [] t.mustnotmatch = ["--fpu=vfpv2", "--fpu=softvfp\+"] 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_udeb -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 = 1 t.targets = [] t.run() # Test keyword: DOCUMENT t.id = "75o" t.name = "mmp_keyword_document" # Note: in t.command, the makefile is cat'd through sed to remove the .DEFAULT double-colon rule's <warning> tag to ensure that t.run succeeds. t.command = "sbs -b smoke_suite/test_resources/mmp/mmp1/group/bld.inf -c armv5 reallyclean; " + \ "sbs -b smoke_suite/test_resources/mmp/mmp1/group/bld.inf --no-depend-generate -c armv5_urel -m ${SBSMAKEFILE}; " + \ "cat ${SBSMAKEFILE}_all.default" t.mustmatch_singleline = ["DOCUMENT:=.*test/smoke_suite/test_resources/mmp/mmp1/src/file01\.txt\\s+.*test/smoke_suite/test_resources/mmp/mmp1/src/file02\.txt"] t.mustnotmatch = [] t.countmatch = [] t.errors = 0 t.warnings = 0 t.returncode = 0 t.targets = [] t.run() t.id = "75" t.name = "mmp_keywords" t.print_result() return t
def run(): t = SmokeTest() t.name = "unfrozen" t.description = "Test EXPORTUNFROZEN forced import library generation with both completely unfrozen and part-frozen examples" t.command = "sbs -b smoke_suite/test_resources/unfrozen/bld.inf -k -c winscw -c armv5 CLEAN" \ " && sbs -b smoke_suite/test_resources/unfrozen/bld.inf -k -c winscw -c armv5" t.targets = [ "$(EPOCROOT)/epoc32/release/armv5/lib/unfrozensymbols.dso", "$(EPOCROOT)/epoc32/release/armv5/lib/unfrozensymbols{000a0000}.dso", "$(EPOCROOT)/epoc32/release/armv5/urel/unfrozensymbols.dll", "$(EPOCROOT)/epoc32/release/armv5/urel/unfrozensymbols.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/urel/unfrozensymbols.dll.map", "$(EPOCROOT)/epoc32/release/armv5/lib/unfrozensymbols2.dso", "$(EPOCROOT)/epoc32/release/armv5/lib/unfrozensymbols2{000a0000}.dso", "$(EPOCROOT)/epoc32/release/armv5/urel/unfrozensymbols2.dll", "$(EPOCROOT)/epoc32/release/armv5/urel/unfrozensymbols2.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/urel/unfrozensymbols2.dll.map", "$(EPOCROOT)/epoc32/release/armv5/urel/unfrozensymbols3.dll", "$(EPOCROOT)/epoc32/release/armv5/urel/unfrozensymbols3.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/urel/unfrozensymbols3.dll.map", "$(EPOCROOT)/epoc32/release/armv5/urel/test_unfrozen.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/test_unfrozen.exe.sym", "$(EPOCROOT)/epoc32/release/armv5/urel/test_unfrozen.exe.map", "$(EPOCROOT)/epoc32/release/winscw/urel/unfrozensymbols.dll", "$(EPOCROOT)/epoc32/release/winscw/urel/unfrozensymbols.dll.map", "$(EPOCROOT)/epoc32/release/winscw/urel/unfrozensymbols2.dll", "$(EPOCROOT)/epoc32/release/winscw/urel/unfrozensymbols2.dll.map", "$(EPOCROOT)/epoc32/release/winscw/urel/unfrozensymbols3.dll", "$(EPOCROOT)/epoc32/release/winscw/urel/unfrozensymbols3.dll.map", "$(EPOCROOT)/epoc32/release/winscw/urel/test_unfrozen.exe", "$(EPOCROOT)/epoc32/release/winscw/urel/test_unfrozen.exe.map", "$(EPOCROOT)/epoc32/release/armv5/udeb/unfrozensymbols.dll", "$(EPOCROOT)/epoc32/release/armv5/udeb/unfrozensymbols.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/udeb/unfrozensymbols.dll.map", "$(EPOCROOT)/epoc32/release/armv5/udeb/unfrozensymbols2.dll", "$(EPOCROOT)/epoc32/release/armv5/udeb/unfrozensymbols2.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/udeb/unfrozensymbols2.dll.map", "$(EPOCROOT)/epoc32/release/armv5/udeb/unfrozensymbols3.dll", "$(EPOCROOT)/epoc32/release/armv5/udeb/unfrozensymbols3.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/udeb/unfrozensymbols3.dll.map", "$(EPOCROOT)/epoc32/release/armv5/udeb/test_unfrozen.exe", "$(EPOCROOT)/epoc32/release/armv5/udeb/test_unfrozen.exe.sym", "$(EPOCROOT)/epoc32/release/armv5/udeb/test_unfrozen.exe.map", "$(EPOCROOT)/epoc32/release/winscw/udeb/unfrozensymbols.dll", "$(EPOCROOT)/epoc32/release/winscw/udeb/unfrozensymbols.lib", "$(EPOCROOT)/epoc32/release/winscw/udeb/unfrozensymbols2.dll", "$(EPOCROOT)/epoc32/release/winscw/udeb/unfrozensymbols2.lib", "$(EPOCROOT)/epoc32/release/winscw/udeb/unfrozensymbols3.dll", "$(EPOCROOT)/epoc32/release/winscw/udeb/test_unfrozen.exe" ] t.addbuildtargets('smoke_suite/test_resources/unfrozen/bld.inf', [ "unfrozensymbols_dll/armv5/urel/unfrozensymbols{000a0000}.def", "unfrozensymbols_dll/armv5/urel/unfrozensymbols{000a0000}.dso", "unfrozensymbols_dll/armv5/urel/unfrozensymbols_urel_objects.via", "unfrozensymbols_dll/armv5/urel/unfrozensymbols.o.d", "unfrozensymbols_dll/armv5/urel/unfrozensymbols.o", "unfrozensymbols2_dll/armv5/urel/unfrozensymbols2{000a0000}.def", "unfrozensymbols2_dll/armv5/urel/unfrozensymbols2{000a0000}.dso", "unfrozensymbols2_dll/armv5/urel/unfrozensymbols2_urel_objects.via", "unfrozensymbols3_dll/armv5/urel/unfrozensymbols3{000a0000}.def", "unfrozensymbols3_dll/armv5/urel/unfrozensymbols3{000a0000}.dso", "unfrozensymbols3_dll/armv5/urel/unfrozensymbols3_urel_objects.via", "unfrozensymbols2_dll/armv5/urel/unfrozensymbols.o.d", "unfrozensymbols2_dll/armv5/urel/unfrozensymbols.o", "unfrozensymbols3_dll/armv5/urel/unfrozensymbols.o.d", "unfrozensymbols3_dll/armv5/urel/unfrozensymbols.o", "test_unfrozen_/armv5/urel/test_unfrozen_urel_objects.via", "test_unfrozen_/armv5/urel/test.o.d", "test_unfrozen_/armv5/urel/test.o", "unfrozensymbols_dll/winscw/urel/unfrozensymbols.UID.CPP", "unfrozensymbols_dll/winscw/urel/unfrozensymbols.o", "unfrozensymbols_dll/winscw/urel/unfrozensymbols_UID_.o", "unfrozensymbols_dll/winscw/urel/unfrozensymbols.dep", "unfrozensymbols_dll/winscw/urel/unfrozensymbols_UID_.dep", "unfrozensymbols_dll/winscw/urel/unfrozensymbols.o.d", "unfrozensymbols_dll/winscw/urel/unfrozensymbols_UID_.o.d", "unfrozensymbols_dll/winscw/urel/unfrozensymbols.lib", "unfrozensymbols_dll/winscw/urel/unfrozensymbols.inf", "unfrozensymbols_dll/winscw/urel/unfrozensymbols.dll", "unfrozensymbols_dll/winscw/urel/unfrozensymbols.def", "unfrozensymbols2_dll/winscw/urel/unfrozensymbols2.UID.CPP", "unfrozensymbols2_dll/winscw/urel/unfrozensymbols.o", "unfrozensymbols2_dll/winscw/urel/unfrozensymbols2_UID_.o", "unfrozensymbols2_dll/winscw/urel/unfrozensymbols.dep", "unfrozensymbols2_dll/winscw/urel/unfrozensymbols2_UID_.dep", "unfrozensymbols2_dll/winscw/urel/unfrozensymbols.o.d", "unfrozensymbols2_dll/winscw/urel/unfrozensymbols2_UID_.o.d", "unfrozensymbols2_dll/winscw/urel/unfrozensymbols2.lib", "unfrozensymbols2_dll/winscw/urel/unfrozensymbols2.inf", "unfrozensymbols2_dll/winscw/urel/unfrozensymbols2.dll", "unfrozensymbols2_dll/winscw/urel/unfrozensymbols2.def", "unfrozensymbols3_dll/winscw/urel/unfrozensymbols3.UID.CPP", "unfrozensymbols3_dll/winscw/urel/unfrozensymbols.o", "unfrozensymbols3_dll/winscw/urel/unfrozensymbols3_UID_.o", "unfrozensymbols3_dll/winscw/urel/unfrozensymbols.dep", "unfrozensymbols3_dll/winscw/urel/unfrozensymbols3_UID_.dep", "unfrozensymbols3_dll/winscw/urel/unfrozensymbols.o.d", "unfrozensymbols3_dll/winscw/urel/unfrozensymbols3_UID_.o.d", "unfrozensymbols3_dll/winscw/urel/unfrozensymbols3.lib", "unfrozensymbols3_dll/winscw/urel/unfrozensymbols3.inf", "unfrozensymbols3_dll/winscw/urel/unfrozensymbols3.dll", "unfrozensymbols3_dll/winscw/urel/unfrozensymbols3.def", "test_unfrozen_/winscw/urel/test_unfrozen.UID.CPP", "test_unfrozen_/winscw/urel/test.o", "test_unfrozen_/winscw/urel/test_unfrozen_UID_.o", "test_unfrozen_/winscw/urel/test.dep", "test_unfrozen_/winscw/urel/test_unfrozen_UID_.dep", "test_unfrozen_/winscw/urel/test.o.d", "test_unfrozen_/winscw/urel/test_unfrozen_UID_.o.d", "unfrozensymbols_dll/armv5/udeb/unfrozensymbols{000a0000}.def", "unfrozensymbols_dll/armv5/udeb/unfrozensymbols{000a0000}.dso", "unfrozensymbols_dll/armv5/udeb/unfrozensymbols_udeb_objects.via", "unfrozensymbols_dll/armv5/udeb/unfrozensymbols.o.d", "unfrozensymbols_dll/armv5/udeb/unfrozensymbols.o", "unfrozensymbols_dll/armv5/udeb/unfrozensymbols.o", "unfrozensymbols2_dll/armv5/udeb/unfrozensymbols2{000a0000}.def", "unfrozensymbols2_dll/armv5/udeb/unfrozensymbols2{000a0000}.dso", "unfrozensymbols2_dll/armv5/udeb/unfrozensymbols2_udeb_objects.via", "unfrozensymbols2_dll/armv5/udeb/unfrozensymbols.o.d", "unfrozensymbols2_dll/armv5/udeb/unfrozensymbols.o", "unfrozensymbols2_dll/armv5/udeb/unfrozensymbols.o", "unfrozensymbols3_dll/armv5/udeb/unfrozensymbols3{000a0000}.def", "unfrozensymbols3_dll/armv5/udeb/unfrozensymbols3{000a0000}.dso", "unfrozensymbols3_dll/armv5/udeb/unfrozensymbols3_udeb_objects.via", "unfrozensymbols3_dll/armv5/udeb/unfrozensymbols.o.d", "unfrozensymbols3_dll/armv5/udeb/unfrozensymbols.o", "unfrozensymbols3_dll/armv5/udeb/unfrozensymbols.o", "test_unfrozen_/armv5/udeb/test_unfrozen_udeb_objects.via", "test_unfrozen_/armv5/udeb/test.o.d", "test_unfrozen_/armv5/udeb/test.o", "unfrozensymbols_dll/winscw/udeb/unfrozensymbols.UID.CPP", "unfrozensymbols_dll/winscw/udeb/unfrozensymbols.o", "unfrozensymbols_dll/winscw/udeb/unfrozensymbols_UID_.o", "unfrozensymbols_dll/winscw/udeb/unfrozensymbols.dep", "unfrozensymbols_dll/winscw/udeb/unfrozensymbols_UID_.dep", "unfrozensymbols_dll/winscw/udeb/unfrozensymbols.o.d", "unfrozensymbols_dll/winscw/udeb/unfrozensymbols_UID_.o.d", "unfrozensymbols_dll/winscw/udeb/unfrozensymbols.lib", "unfrozensymbols_dll/winscw/udeb/unfrozensymbols.inf", "unfrozensymbols_dll/winscw/udeb/unfrozensymbols.dll", "unfrozensymbols_dll/winscw/udeb/unfrozensymbols.def", "unfrozensymbols2_dll/winscw/udeb/unfrozensymbols2.UID.CPP", "unfrozensymbols2_dll/winscw/udeb/unfrozensymbols.o", "unfrozensymbols2_dll/winscw/udeb/unfrozensymbols2_UID_.o", "unfrozensymbols2_dll/winscw/udeb/unfrozensymbols.dep", "unfrozensymbols2_dll/winscw/udeb/unfrozensymbols2_UID_.dep", "unfrozensymbols2_dll/winscw/udeb/unfrozensymbols.o.d", "unfrozensymbols2_dll/winscw/udeb/unfrozensymbols2_UID_.o.d", "unfrozensymbols2_dll/winscw/udeb/unfrozensymbols2.lib", "unfrozensymbols2_dll/winscw/udeb/unfrozensymbols2.inf", "unfrozensymbols2_dll/winscw/udeb/unfrozensymbols2.dll", "unfrozensymbols2_dll/winscw/udeb/unfrozensymbols2.def", "unfrozensymbols3_dll/winscw/udeb/unfrozensymbols3.UID.CPP", "unfrozensymbols3_dll/winscw/udeb/unfrozensymbols.o", "unfrozensymbols3_dll/winscw/udeb/unfrozensymbols3_UID_.o", "unfrozensymbols3_dll/winscw/udeb/unfrozensymbols.dep", "unfrozensymbols3_dll/winscw/udeb/unfrozensymbols3_UID_.dep", "unfrozensymbols3_dll/winscw/udeb/unfrozensymbols.o.d", "unfrozensymbols3_dll/winscw/udeb/unfrozensymbols3_UID_.o.d", "unfrozensymbols3_dll/winscw/udeb/unfrozensymbols3.lib", "unfrozensymbols3_dll/winscw/udeb/unfrozensymbols3.inf", "unfrozensymbols3_dll/winscw/udeb/unfrozensymbols3.dll", "unfrozensymbols3_dll/winscw/udeb/unfrozensymbols3.def", "test_unfrozen_/winscw/udeb/test_unfrozen.UID.CPP", "test_unfrozen_/winscw/udeb/test.o", "test_unfrozen_/winscw/udeb/test_unfrozen_UID_.o", "test_unfrozen_/winscw/udeb/test.dep", "test_unfrozen_/winscw/udeb/test_unfrozen_UID_.dep", "test_unfrozen_/winscw/udeb/test.o.d", "test_unfrozen_/winscw/udeb/test_unfrozen_UID_.o.d" ]) # Match both ARMV5 (elf2e32) and WINSCW (makedef) unfrozen export warnings and confirm the number found. Format: # Elf2e32: Warning: New Symbol _ZN10CMessenger5NewLCER12CConsoleBaseRK7TDesC16 found, export(s) not yet Frozen # F:/path/epocroot/epoc32/build/unfrozen/c_939fe933110ed5aa/unfrozensymbols_dll/winscw/udeb/unfrozensymbols.def(3) : ?NewLC@CMessenger@@SAPAV1@AAVCConsoleBase@@ABVTDesC16@@@Z @1 # More matches are expected with elf2e32 due to extra build impedimenta in EABI builds. t.countmatch = [ [".*Elf2e32: Warning: New Symbol .* found, export\(s\) not yet Frozen.*", 26], [".*\.def\(\d\) : .*@\d.*", 18] ] t.mustmatch_singleline = [ "Import library generation suppressed as frozen .def file not present: .*smoke_suite/test_resources/bwins/unfrozensymbols3u.def", "Import library generation suppressed as frozen .def file not present: .*smoke_suite/test_resources/eabi/unfrozensymbols3u.def" ] t.warnings = 8 # ABIv1 .lib files are not generated on Linux t.run() return t
def run(): result = SmokeTest.PASS t = SmokeTest() t.name = "exe_armv5_winscw_single_file_baseline_build" # Build component t.command = "sbs -b smoke_suite/test_resources/simple_gui/Bld.inf -c armv5 -c winscw" t.addbuildtargets('smoke_suite/test_resources/simple_gui/Bld.inf', [ "helloworld_exe/helloworld.mbm_bmconvcommands", "HelloWorld_exe/HelloWorld_HelloWorld.rsc", "HelloWorld_exe/HelloWorld_HelloWorld.rsc.rpp", "HelloWorld_exe/HelloWorld_HelloWorld.rsc.d", "helloworld_exe/armv5/udeb/HelloWorld_Application.o", "helloworld_exe/armv5/udeb/HelloWorld_Application.o.d", "helloworld_exe/armv5/udeb/HelloWorld_AppUi.o", "helloworld_exe/armv5/udeb/HelloWorld_AppUi.o.d", "helloworld_exe/armv5/udeb/HelloWorld_AppView.o", "helloworld_exe/armv5/udeb/HelloWorld_AppView.o.d", "helloworld_exe/armv5/udeb/HelloWorld_Document.o", "helloworld_exe/armv5/udeb/HelloWorld_Document.o.d", "helloworld_exe/armv5/udeb/HelloWorld_Main.o", "helloworld_exe/armv5/udeb/HelloWorld_Main.o.d", "helloworld_exe/armv5/udeb/helloworld_udeb_objects.via", "helloworld_exe/armv5/urel/HelloWorld_Application.o", "helloworld_exe/armv5/urel/HelloWorld_Application.o.d", "helloworld_exe/armv5/urel/HelloWorld_AppUi.o", "helloworld_exe/armv5/urel/HelloWorld_AppUi.o.d", "helloworld_exe/armv5/urel/HelloWorld_AppView.o", "helloworld_exe/armv5/urel/HelloWorld_AppView.o.d", "helloworld_exe/armv5/urel/HelloWorld_Document.o", "helloworld_exe/armv5/urel/HelloWorld_Document.o.d", "helloworld_exe/armv5/urel/HelloWorld_Main.o", "helloworld_exe/armv5/urel/HelloWorld_Main.o.d", "helloworld_exe/armv5/urel/helloworld_urel_objects.via", "helloworld_exe/winscw/udeb/helloworld.UID.CPP", "helloworld_exe/winscw/udeb/HelloWorld_Application.dep", "helloworld_exe/winscw/udeb/HelloWorld_Application.o", "helloworld_exe/winscw/udeb/HelloWorld_Application.o.d", "helloworld_exe/winscw/udeb/HelloWorld_AppUi.dep", "helloworld_exe/winscw/udeb/HelloWorld_AppUi.o", "helloworld_exe/winscw/udeb/HelloWorld_AppUi.o.d", "helloworld_exe/winscw/udeb/HelloWorld_AppView.dep", "helloworld_exe/winscw/udeb/HelloWorld_AppView.o", "helloworld_exe/winscw/udeb/HelloWorld_AppView.o.d", "helloworld_exe/winscw/udeb/HelloWorld_Document.dep", "helloworld_exe/winscw/udeb/HelloWorld_Document.o", "helloworld_exe/winscw/udeb/HelloWorld_Document.o.d", "helloworld_exe/winscw/udeb/HelloWorld_Main.dep", "helloworld_exe/winscw/udeb/HelloWorld_Main.o", "helloworld_exe/winscw/udeb/HelloWorld_Main.o.d", "helloworld_exe/winscw/udeb/helloworld_udeb_objects.lrf", "helloworld_exe/winscw/udeb/helloworld_UID_.dep", "helloworld_exe/winscw/udeb/helloworld_UID_.o", "helloworld_exe/winscw/udeb/helloworld_UID_.o.d", "helloworld_exe/winscw/urel/helloworld.UID.CPP", "helloworld_exe/winscw/urel/HelloWorld_Application.dep", "helloworld_exe/winscw/urel/HelloWorld_Application.o", "helloworld_exe/winscw/urel/HelloWorld_Application.o.d", "helloworld_exe/winscw/urel/HelloWorld_AppUi.dep", "helloworld_exe/winscw/urel/HelloWorld_AppUi.o", "helloworld_exe/winscw/urel/HelloWorld_AppUi.o.d", "helloworld_exe/winscw/urel/HelloWorld_AppView.dep", "helloworld_exe/winscw/urel/HelloWorld_AppView.o", "helloworld_exe/winscw/urel/HelloWorld_AppView.o.d", "helloworld_exe/winscw/urel/HelloWorld_Document.dep", "helloworld_exe/winscw/urel/HelloWorld_Document.o", "helloworld_exe/winscw/urel/HelloWorld_Document.o.d", "helloworld_exe/winscw/urel/HelloWorld_Main.dep", "helloworld_exe/winscw/urel/HelloWorld_Main.o", "helloworld_exe/winscw/urel/HelloWorld_Main.o.d", "helloworld_exe/winscw/urel/helloworld_UID_.dep", "helloworld_exe/winscw/urel/helloworld_UID_.o", "helloworld_exe/winscw/urel/helloworld_UID_.o.d", "helloworld_exe/winscw/urel/helloworld_urel_objects.lrf", "HelloWorld_reg_exe/HelloWorld_reg_HelloWorld_reg.rsc", "HelloWorld_reg_exe/HelloWorld_reg_HelloWorld_reg.rsc.rpp", "HelloWorld_reg_exe/HelloWorld_reg_HelloWorld_reg.rsc.d" ]) t.run() # Ensure we don't clean up from the previous build in any subsequent runs t.addbuildtargets('smoke_suite/test_resources/simple_gui/Bld.inf', []) t.targets = [] t.usebash = True # Touch both a straight source and a resource file and confirm we can recompile in isolation without additional impact t.name = "exe_armv5_winscw_single_file_touch_rebuild" t.command = """ sleep 1 touch smoke_suite/test_resources/simple_gui/HelloWorld_Document.cpp touch smoke_suite/test_resources/simple_gui/HelloWorld.rss sbs -f - --source-target=smoke_suite/test_resources/simple_gui/HelloWorld_Document.cpp --source-target=smoke_suite/test_resources/simple_gui/HelloWorld.rss -b smoke_suite/test_resources/simple_gui/Bld.inf""" t.countmatch = [[".*recipe name='resource(dependencies|compile)'", 2], [".*recipe name='compile'.*", 2], [".*recipe name='win32compile2object'.*", 2]] t.mustnotmatch = [".*recipe name='(win32simplelink|postlink|link)'.*"] t.run() # Attempt separate source and resource file compile where nothing should be done t.name = "exe_armv5_winscw_single_file_notouch_rebuild" t.command = "sbs -f - --source-target=smoke_suite/test_resources/simple_gui/HelloWorld_Document.cpp --source-target=smoke_suite/test_resources/simple_gui/HelloWorld.rss -b smoke_suite/test_resources/simple_gui/Bld.inf" t.mustmatch = [] t.countmatch = [[".*make.*Nothing to be done for.*SOURCETARGET_.*", 10]] t.mustnotmatch = [ ".*recipe name='(resourcecompile|win32compile2object|compile|win32simplelink|postlink|link)'.*" ] t.run() t.name = "exe_armv5_winscw_single_file" t.description = """Builds a component and tests single file compilation for straight source and resource files""" t.print_result() return t
def run(): t = SmokeTest() t.description = "This testcase tests all mmp keywords including new implementation of 'paged/unpaged code/data'" t.usebash = True t.name = "mmp_paging_keywords" 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.name = "mmp_option_armcc_and_armasm" 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.name = "mmp_option_gcce_linkeroption_gcce" t.command = "sbs -b smoke_suite/test_resources/mmp/options/bld.inf -c arm.v5.urel.gcce4_4_1.release_gcce -f-" t.targets = [ "$(EPOCROOT)/epoc32/release/gcce/urel/test.exe", ] t.mustmatch = [] t.mustmatch_singleline = [ ".*g\+\+.*-c.*-O3.*-fvisibility-inlines-hidden.*", ".*g\+\+.* -Wl,--verbose -Wl,-pie .*" ] t.mustnotmatch = [ ".*g\+\+.*-c.* -Wl,--verbose -Wl,-pie .*" ] t.warnings = 0 t.run() # LINKEROPTION CW can impact DLL (and variants), EXE and LIB TARGETTYPEs in different ways # We ensure we have enough build coverage to cover all linker calls constructed in the win32 FLM t.name = "mmp_option_cw_linkeroption_cw" t.command = "sbs -b smoke_suite/test_resources/mmp/options/bld.inf -c winscw_urel -f-" t.targets = [ "$(EPOCROOT)/epoc32/release/winscw/urel/test.exe", ] t.mustmatch = [] t.mustmatch_singleline = [] t.countmatch = [ [".*mwccsym2.*-relax_pointers.*-O2", 5], [".*mwldsym2.*-zerobss.*-export none", 2], [".*mwldsym2.*-zerobss.*-fold all", 2] ] t.warnings = 0 t.run() t.countmatch = [] t.name = "mmp_debuglibrary" 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.name = "mmp_basedefault" 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.name = "mmp_version_firstlib_nocompresstarget" 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.name = "mmp_diagsuppress_armlibs" 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.name = "mmp_diagsuppress_no_armlibs" 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.name = "mmp_version_keyword" 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 and GCCE builds are covered, as they differ in behaviour. t.name = "mmp_armfpu_softvfp_rvct" 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 softvfp\+", "--fpu=vfpv2", "--fpu=softvfp\+"] t.warnings = 0 t.run() t.name = "mmp_armfpu_vfpv2_rvct" 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.name = "mmp_armfpu_softvfp+vfpv2_rvct" 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_soft+vfpv2.mmp\" -c armv5_urel -f-" t.mustmatch = ["--fpu softvfp\+vfpv2", "--fpu=vfpv2"] t.mustnotmatch = ["--fpu vfpv2", "--fpu softvfp ", "--fpu=softvfp"] t.run() t.name = "mmp_armfpu_softvfp+vfpv2_gcce" 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", 3], ["--fpu=softvfp", 3] # gcce doesn't vary according to ARMFPU currently ] t.mustmatch = [] t.mustnotmatch = ["--fpu=vfpv2", "--fpu=softvfp\+"] t.run() t.name = "mmp_armfpu_softvfp+vfpv3_rvct" t.command = "sbs -b $(SBS_HOME)/test/smoke_suite/test_resources/mmp/mmp9_10/bld2.inf -c arm.v5.urel.rvct4_0 REALLYCLEAN &&" \ + " sbs -b $(SBS_HOME)/test/smoke_suite/test_resources/mmp/mmp9_10/bld2.inf -c arm.v5.urel.rvct4_0 -f- --mo=-n" t.countmatch = [ ["elf2e32.*--fpu=vfpv3", 1], ["armcc.*--fpu.softvfp\+vfpv3", 1] ] t.mustmatch = [] t.mustnotmatch = ["--fpu=vfpv2", "--fpu=softvfp\+"] t.run() t.name = "mmp_armfpu_softvfp+vfpv3_gcce" t.command = "sbs -b $(SBS_HOME)/test/smoke_suite/test_resources/mmp/mmp9_10/bld2.inf -c armv5_urel_gcce4_4_1 REALLYCLEAN &&" \ + " sbs -b $(SBS_HOME)/test/smoke_suite/test_resources/mmp/mmp9_10/bld2.inf -c armv5_urel_gcce4_4_1 -f- --mo=-n" t.countmatch = [ ["g\+\+.*-mfloat-abi=soft", 1], ["elf2e32.*--fpu=softvfp", 1] # gcce doesn't vary according to ARMFPU currently ] t.mustmatch = [] t.mustnotmatch = ["--fpu=vfpv2", "--fpu=softvfp\+"] t.run() # Test keywords: compresstarget, nocompresstarget, bytepaircompresstarget, inflatecompresstarget t.name = "mmp_byte_compression_target_keywords" 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.name = "mmp_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", "-DSINGLE=1", "-DDOUBLE"] t.countmatch = [["<error.*APPLY unknown variant 'no_such_var'", 2], ["<error.*MACRO names cannot start with a digit '2'", 2]] t.errors = 2 # no_such_var for armv5 and winscw t.errors += 2 # macro '2' error for armv5 and winscw t.warnings = 0 t.returncode = 1 t.run() # Test keyword: EPOCNESTEDEXCEPTIONS t.name = "mmp_epocnestedexceptions" t.command = "sbs -b smoke_suite/test_resources/mmp/epocnestedexceptions/bld.inf -c armv5_udeb -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 = 1 t.targets = [] t.run() # Test keyword: DOCUMENT t.name = "mmp_keyword_document" # Note: in t.command, the makefile is cat'd through sed to remove the .DEFAULT double-colon rule's <warning> tag to ensure that t.run succeeds. t.command = "sbs -b smoke_suite/test_resources/mmp/mmp1/group/bld.inf -c armv5 reallyclean; " + \ "sbs -b smoke_suite/test_resources/mmp/mmp1/group/bld.inf --no-depend-generate -c armv5_urel -m ${SBSMAKEFILE}; " + \ "cat ${SBSMAKEFILE}_all.default" t.mustmatch_singleline = ["DOCUMENT:=.*test/smoke_suite/test_resources/mmp/mmp1/src/file01\.txt\\s+.*test/smoke_suite/test_resources/mmp/mmp1/src/file02\.txt"] t.mustnotmatch = [] t.countmatch = [] t.errors = 0 t.warnings = 0 t.returncode = 0 t.targets = [] t.run() t.name = "mmp_keywords" t.print_result() return t
def run(): t = SmokeTest() t.id = "48" t.name = "sysdef_layers" t.usebash = True t.description = "Test system_definition.xml layer processing and log reporting" t.command = 'sbs -f- -s smoke_suite/test_resources/sysdef/system_definition_order_layer_test.xml ' + \ '-l "Metadata Export" -l "Build Generated Source" -l "Component with Layer Dependencies" -o' t.targets = [ "$(SBS_HOME)/test/smoke_suite/test_resources/sysdef/build_gen_source/exported.inf", "$(SBS_HOME)/test/smoke_suite/test_resources/sysdef/build_gen_source/exported.mmh", "$(EPOCROOT)/epoc32/data/z/resource/apps/helloworld.mbm", "$(EPOCROOT)/epoc32/data/z/private/10003a3f/apps/helloworld_reg.rsc", "$(EPOCROOT)/epoc32/data/z/resource/apps/helloworld.rsc", "$(EPOCROOT)/epoc32/include/helloworld.rsg", "$(EPOCROOT)/epoc32/release/armv5/udeb/helloworld.exe", "$(EPOCROOT)/epoc32/release/armv5/udeb/helloworld.exe.sym", "$(EPOCROOT)/epoc32/release/armv5/udeb/helloworld.exe.map", "$(EPOCROOT)/epoc32/release/armv5/urel/helloworld.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/helloworld.exe.sym", "$(EPOCROOT)/epoc32/release/armv5/urel/helloworld.exe.map", "$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/apps/helloworld.mbm", "$(EPOCROOT)/epoc32/release/winscw/udeb/helloworld.exe", "$(EPOCROOT)/epoc32/release/winscw/udeb/z/private/10003a3f/apps/helloworld_reg.rsc", "$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/apps/helloworld.rsc", "$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/apps/helloworld.mbm", "$(EPOCROOT)/epoc32/release/winscw/urel/helloworld.exe", "$(EPOCROOT)/epoc32/release/winscw/urel/helloworld.exe.map", "$(EPOCROOT)/epoc32/release/winscw/urel/z/private/10003a3f/apps/helloworld_reg.rsc", "$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/apps/helloworld.rsc", ] t.addbuildtargets('smoke_suite/test_resources/sysdef/build_gen_source/bld.inf', [ "helloworld_/helloworld_HelloWorld.rsc.rpp" ]) t.addbuildtargets('smoke_suite/test_resources/sysdef/dependent/bld.inf', [ "helloworld_exe/armv5/udeb/HelloWorld_Application.o", "helloworld_exe/armv5/udeb/HelloWorld_AppUi.o", "helloworld_exe/armv5/udeb/HelloWorld_AppView.o", "helloworld_exe/armv5/udeb/HelloWorld_Document.o", "helloworld_exe/armv5/udeb/HelloWorld_Main.o", "helloworld_exe/armv5/urel/HelloWorld_Application.o", "helloworld_exe/armv5/urel/HelloWorld_AppUi.o", "helloworld_exe/armv5/urel/HelloWorld_AppView.o", "helloworld_exe/armv5/urel/HelloWorld_Document.o", "helloworld_exe/armv5/urel/HelloWorld_Main.o", "helloworld_exe/winscw/udeb/HelloWorld_Application.o", "helloworld_exe/winscw/udeb/HelloWorld_AppUi.o", "helloworld_exe/winscw/udeb/HelloWorld_AppView.o", "helloworld_exe/winscw/udeb/HelloWorld_Document.o", "helloworld_exe/winscw/udeb/HelloWorld_Main.o", "helloworld_exe/winscw/udeb/helloworld.UID.CPP", "helloworld_exe/winscw/udeb/helloworld_UID_.o", "helloworld_exe/winscw/urel/HelloWorld_Application.o", "helloworld_exe/winscw/urel/HelloWorld_AppUi.o", "helloworld_exe/winscw/urel/HelloWorld_AppView.o", "helloworld_exe/winscw/urel/HelloWorld_Document.o", "helloworld_exe/winscw/urel/HelloWorld_Main.o", "helloworld_exe/winscw/urel/helloworld.UID.CPP", "helloworld_exe/winscw/urel/helloworld_UID_.o", "helloworld_reg_exe/helloworld_reg_HelloWorld_reg.rsc.rpp" ]) t.countmatch = [ ["<recipe .*layer='Component with Layer Dependencies' component='dependent'.*>", 33], ["<recipe .*layer='Build Generated Source' component='build generated source'.*>", 3] ] t.run() return t
def run(): t = SmokeTest() t.name = "whatlog_cache" t.description = """Test sbsv2cache.py cache file generation using Raptor .whatlog variant output. This is currently a Windows only activity due to CBR tools restrictions.""" t.usebash = True if 'SBS_PYTHON' in os.environ: pythonRun = "$(SBS_PYTHON)" else: pythonRun = "$(SBS_HOME)/win32/python27/python.exe" # Build something using the .whatlog variant. Take the build log and give it to sbsv2cache.py, deducing # the location of the generated cache file from the verbose output. If generated, dump the cache file to # STDOUT so we can validate the content in this test script. Clean up when finished. t.command = """sbs -b smoke_suite/test_resources/simple_gui/Bld.inf -f ${{SBSLOGFILE}} -m ${{SBSMAKEFILE}} -c armv5.whatlog -c winscw.whatlog CACHEFILE=`{0} $SBS_HOME/bin/sbsv2cache.py -v -s -o $EPOCROOT/epoc32/build/abldcache -l $SBSLOGFILE | sed -n \'s#Creating: ##p\'` if [ -n \"${{CACHEFILE:+x}}\" ]; then cat $CACHEFILE fi rm -r $EPOCROOT/epoc32/build/abldcache""".format(pythonRun) t.targets = [ "$(EPOCROOT)/epoc32/data/z/resource/apps/helloworld.mbm", "$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/apps/helloworld.mbm", "$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/apps/helloworld.mbm", "$(EPOCROOT)/epoc32/include/HelloWorld.rsg", "$(EPOCROOT)/epoc32/data/z/resource/apps/HelloWorld.rsc", "$(EPOCROOT)/epoc32/data/z/private/10003a3f/apps/HelloWorld_reg.rsc", "$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/apps/HelloWorld.rsc", "$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/apps/HelloWorld.rsc", "$(EPOCROOT)/epoc32/release/winscw/udeb/z/private/10003a3f/apps/HelloWorld_reg.rsc", "$(EPOCROOT)/epoc32/release/winscw/urel/z/private/10003a3f/apps/HelloWorld_reg.rsc", "$(EPOCROOT)/epoc32/release/armv5/udeb/helloworld.exe", "$(EPOCROOT)/epoc32/release/armv5/udeb/helloworld.exe.map", "$(EPOCROOT)/epoc32/release/winscw/udeb/helloworld.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/helloworld.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/helloworld.exe.map", "$(EPOCROOT)/epoc32/release/winscw/urel/helloworld.exe", "$(EPOCROOT)/epoc32/release/winscw/urel/helloworld.exe.map" ] t.addbuildtargets('smoke_suite/test_resources/simple_gui/Bld.inf', [ "helloworld_exe/helloworld.mbm_bmconvcommands", "HelloWorld_exe/HelloWorld_HelloWorld.rsc.rpp", "HelloWorld_exe/HelloWorld_HelloWorld.rsc.d", "helloworld_exe/armv5/udeb/HelloWorld_Application.o", "helloworld_exe/armv5/udeb/HelloWorld_Application.o.d", "helloworld_exe/armv5/udeb/HelloWorld_AppUi.o", "helloworld_exe/armv5/udeb/HelloWorld_AppUi.o.d", "helloworld_exe/armv5/udeb/HelloWorld_AppView.o", "helloworld_exe/armv5/udeb/HelloWorld_AppView.o.d", "helloworld_exe/armv5/udeb/HelloWorld_Document.o", "helloworld_exe/armv5/udeb/HelloWorld_Document.o.d", "helloworld_exe/armv5/udeb/HelloWorld_Main.o", "helloworld_exe/armv5/udeb/HelloWorld_Main.o.d", "helloworld_exe/armv5/udeb/helloworld_udeb_objects.via", "helloworld_exe/armv5/urel/HelloWorld_Application.o", "helloworld_exe/armv5/urel/HelloWorld_Application.o.d", "helloworld_exe/armv5/urel/HelloWorld_AppUi.o", "helloworld_exe/armv5/urel/HelloWorld_AppUi.o.d", "helloworld_exe/armv5/urel/HelloWorld_AppView.o", "helloworld_exe/armv5/urel/HelloWorld_AppView.o.d", "helloworld_exe/armv5/urel/HelloWorld_Document.o", "helloworld_exe/armv5/urel/HelloWorld_Document.o.d", "helloworld_exe/armv5/urel/HelloWorld_Main.o", "helloworld_exe/armv5/urel/HelloWorld_Main.o.d", "helloworld_exe/armv5/urel/helloworld_urel_objects.via", "helloworld_exe/winscw/udeb/helloworld.UID.CPP", "helloworld_exe/winscw/udeb/HelloWorld_Application.dep", "helloworld_exe/winscw/udeb/HelloWorld_Application.o", "helloworld_exe/winscw/udeb/HelloWorld_Application.o.d", "helloworld_exe/winscw/udeb/HelloWorld_AppUi.dep", "helloworld_exe/winscw/udeb/HelloWorld_AppUi.o", "helloworld_exe/winscw/udeb/HelloWorld_AppUi.o.d", "helloworld_exe/winscw/udeb/HelloWorld_AppView.dep", "helloworld_exe/winscw/udeb/HelloWorld_AppView.o", "helloworld_exe/winscw/udeb/HelloWorld_AppView.o.d", "helloworld_exe/winscw/udeb/HelloWorld_Document.dep", "helloworld_exe/winscw/udeb/HelloWorld_Document.o", "helloworld_exe/winscw/udeb/HelloWorld_Document.o.d", "helloworld_exe/winscw/udeb/HelloWorld_Main.dep", "helloworld_exe/winscw/udeb/HelloWorld_Main.o", "helloworld_exe/winscw/udeb/HelloWorld_Main.o.d", "helloworld_exe/winscw/udeb/helloworld_UID_.dep", "helloworld_exe/winscw/udeb/helloworld_UID_.o", "helloworld_exe/winscw/udeb/helloworld_UID_.o.d", "helloworld_exe/winscw/urel/helloworld.UID.CPP", "helloworld_exe/winscw/urel/HelloWorld_Application.dep", "helloworld_exe/winscw/urel/HelloWorld_Application.o", "helloworld_exe/winscw/urel/HelloWorld_Application.o.d", "helloworld_exe/winscw/urel/HelloWorld_AppUi.dep", "helloworld_exe/winscw/urel/HelloWorld_AppUi.o", "helloworld_exe/winscw/urel/HelloWorld_AppUi.o.d", "helloworld_exe/winscw/urel/HelloWorld_AppView.dep", "helloworld_exe/winscw/urel/HelloWorld_AppView.o", "helloworld_exe/winscw/urel/HelloWorld_AppView.o.d", "helloworld_exe/winscw/urel/HelloWorld_Document.dep", "helloworld_exe/winscw/urel/HelloWorld_Document.o", "helloworld_exe/winscw/urel/HelloWorld_Document.o.d", "helloworld_exe/winscw/urel/HelloWorld_Main.dep", "helloworld_exe/winscw/urel/HelloWorld_Main.o", "helloworld_exe/winscw/urel/HelloWorld_Main.o.d", "helloworld_exe/winscw/urel/helloworld_UID_.dep", "helloworld_exe/winscw/urel/helloworld_UID_.o", "helloworld_exe/winscw/urel/helloworld_UID_.o.d", "HelloWorld_reg_exe/HelloWorld_reg_HelloWorld_reg.rsc.d" ]) t.countmatch = [ ["\$self->{abldcache}->{.*\\\\test\\\\smoke_suite\\\\test_resources\\\\simple_gui target (armv5|winscw) (udeb|urel) -what\'} =", 4], [".*\'.*\\\\\\\\epoc32\\\\\\\\data\\\\\\\\z\\\\\\\\private\\\\\\\\10003a3f\\\\\\\\apps\\\\\\\\HelloWorld_reg.rsc\'", 4], [".*\'.*\\\\\\\\epoc32\\\\\\\\data\\\\\\\\z\\\\\\\\resource\\\\\\\\apps\\\\\\\\helloworld.mbm\'", 4], [".*\'.*\\\\\\\\epoc32\\\\\\\\data\\\\\\\\z\\\\\\\\resource\\\\\\\\apps\\\\\\\\HelloWorld.rsc\'", 4], [".*\'.*\\\\\\\\epoc32\\\\\\\\include\\\\\\\\HelloWorld.rsg\'", 4], [".*\'.*\\\\\\\\epoc32\\\\\\\\release\\\\\\\\(armv5|winscw)\\\\\\\\(udeb|urel)\\\\\\\\helloworld.exe\'",4], [".*\'.*\\\\\\\\epoc32\\\\\\\\release\\\\\\\\(armv5|winscw)\\\\\\\\(udeb|urel)\\\\\\\\helloworld.exe.map\'", 3], [".*\'.*\\\\\\\\epoc32\\\\\\\\release\\\\\\\\winscw\\\\\\\\(udeb|urel)\\\\\\\\z\\\\\\\\private\\\\\\\\10003a3f\\\\\\\\apps\\\\\\\\HelloWorld_reg.rsc\'", 2], [".*\'.*\\\\\\\\epoc32\\\\\\\\release\\\\\\\\winscw\\\\\\\\(udeb|urel)\\\\\\\\z\\\\\\\\resource\\\\\\\\apps\\\\\\\\helloworld.mbm\'", 2], [".*\'.*\\\\\\\\epoc32\\\\\\\\release\\\\\\\\winscw\\\\\\\\(udeb|urel)\\\\\\\\z\\\\\\\\resource\\\\\\\\apps\\\\\\\\HelloWorld.rsc\'", 2], ["\$self->{abldcache}->{\'plats\'} =", 1], [".*\'ARMV5\'", 1], [".*\'WINSCW\'", 1] ] t.run("windows") return t
def run(): result = SmokeTest.PASS t = SmokeTest() t.name = "exe_armv5_winscw_single_file_baseline_build" # Build component t.id = "0089a" t.command = "sbs -b smoke_suite/test_resources/simple_gui/Bld.inf -c armv5 -c winscw" t.addbuildtargets('smoke_suite/test_resources/simple_gui/Bld.inf', [ "helloworld_exe/helloworld.mbm_bmconvcommands", "helloworld_exe/helloworld_HelloWorld.rsc.rpp", "helloworld_exe/helloworld_HelloWorld.rsc.d", "helloworld_exe/armv5/udeb/HelloWorld_Application.o", "helloworld_exe/armv5/udeb/HelloWorld_Application.o.d", "helloworld_exe/armv5/udeb/HelloWorld_AppUi.o", "helloworld_exe/armv5/udeb/HelloWorld_AppUi.o.d", "helloworld_exe/armv5/udeb/HelloWorld_AppView.o", "helloworld_exe/armv5/udeb/HelloWorld_AppView.o.d", "helloworld_exe/armv5/udeb/HelloWorld_Document.o", "helloworld_exe/armv5/udeb/HelloWorld_Document.o.d", "helloworld_exe/armv5/udeb/HelloWorld_Main.o", "helloworld_exe/armv5/udeb/HelloWorld_Main.o.d", "helloworld_exe/armv5/udeb/helloworld_udeb_objects.via", "helloworld_exe/armv5/urel/HelloWorld_Application.o", "helloworld_exe/armv5/urel/HelloWorld_Application.o.d", "helloworld_exe/armv5/urel/HelloWorld_AppUi.o", "helloworld_exe/armv5/urel/HelloWorld_AppUi.o.d", "helloworld_exe/armv5/urel/HelloWorld_AppView.o", "helloworld_exe/armv5/urel/HelloWorld_AppView.o.d", "helloworld_exe/armv5/urel/HelloWorld_Document.o", "helloworld_exe/armv5/urel/HelloWorld_Document.o.d", "helloworld_exe/armv5/urel/HelloWorld_Main.o", "helloworld_exe/armv5/urel/HelloWorld_Main.o.d", "helloworld_exe/armv5/urel/helloworld_urel_objects.via", "helloworld_exe/winscw/udeb/helloworld.UID.CPP", "helloworld_exe/winscw/udeb/HelloWorld_Application.dep", "helloworld_exe/winscw/udeb/HelloWorld_Application.o", "helloworld_exe/winscw/udeb/HelloWorld_Application.o.d", "helloworld_exe/winscw/udeb/HelloWorld_AppUi.dep", "helloworld_exe/winscw/udeb/HelloWorld_AppUi.o", "helloworld_exe/winscw/udeb/HelloWorld_AppUi.o.d", "helloworld_exe/winscw/udeb/HelloWorld_AppView.dep", "helloworld_exe/winscw/udeb/HelloWorld_AppView.o", "helloworld_exe/winscw/udeb/HelloWorld_AppView.o.d", "helloworld_exe/winscw/udeb/HelloWorld_Document.dep", "helloworld_exe/winscw/udeb/HelloWorld_Document.o", "helloworld_exe/winscw/udeb/HelloWorld_Document.o.d", "helloworld_exe/winscw/udeb/HelloWorld_Main.dep", "helloworld_exe/winscw/udeb/HelloWorld_Main.o", "helloworld_exe/winscw/udeb/HelloWorld_Main.o.d", "helloworld_exe/winscw/udeb/helloworld_udeb_objects.lrf", "helloworld_exe/winscw/udeb/helloworld_UID_.dep", "helloworld_exe/winscw/udeb/helloworld_UID_.o", "helloworld_exe/winscw/udeb/helloworld_UID_.o.d", "helloworld_exe/winscw/urel/helloworld.UID.CPP", "helloworld_exe/winscw/urel/HelloWorld_Application.dep", "helloworld_exe/winscw/urel/HelloWorld_Application.o", "helloworld_exe/winscw/urel/HelloWorld_Application.o.d", "helloworld_exe/winscw/urel/HelloWorld_AppUi.dep", "helloworld_exe/winscw/urel/HelloWorld_AppUi.o", "helloworld_exe/winscw/urel/HelloWorld_AppUi.o.d", "helloworld_exe/winscw/urel/HelloWorld_AppView.dep", "helloworld_exe/winscw/urel/HelloWorld_AppView.o", "helloworld_exe/winscw/urel/HelloWorld_AppView.o.d", "helloworld_exe/winscw/urel/HelloWorld_Document.dep", "helloworld_exe/winscw/urel/HelloWorld_Document.o", "helloworld_exe/winscw/urel/HelloWorld_Document.o.d", "helloworld_exe/winscw/urel/HelloWorld_Main.dep", "helloworld_exe/winscw/urel/HelloWorld_Main.o", "helloworld_exe/winscw/urel/HelloWorld_Main.o.d", "helloworld_exe/winscw/urel/helloworld_UID_.dep", "helloworld_exe/winscw/urel/helloworld_UID_.o", "helloworld_exe/winscw/urel/helloworld_UID_.o.d", "helloworld_exe/winscw/urel/helloworld_urel_objects.lrf", "helloworld_reg_exe/helloworld_reg_HelloWorld_reg.rsc.rpp", "helloworld_reg_exe/helloworld_reg_HelloWorld_reg.rsc.d" ]) t.run() if t.result == SmokeTest.FAIL: result = SmokeTest.FAIL # Ensure we don't clean up from the previous build in any subsequent runs t.addbuildtargets('smoke_suite/test_resources/simple_gui/Bld.inf', []) t.targets = [] t.usebash = True # Touch both a straight source and a resource file and confirm we can recompile in isolation without additional impact t.id = "0089b" t.name = "exe_armv5_winscw_single_file_touch_rebuild" t.command = """ sleep 1 touch smoke_suite/test_resources/simple_gui/HelloWorld_Document.cpp touch smoke_suite/test_resources/simple_gui/HelloWorld.rss sbs -f - --source-target=smoke_suite/test_resources/simple_gui/HelloWorld_Document.cpp --source-target=smoke_suite/test_resources/simple_gui/HelloWorld.rss -b smoke_suite/test_resources/simple_gui/Bld.inf""" t.countmatch = [ [".*recipe name='resource(dependencies|compile)'", 2], [".*recipe name='compile'.*", 2], [".*recipe name='win32compile2object'.*", 2] ] t.mustnotmatch = [ ".*recipe name='(win32simplelink|postlink|link)'.*" ] t.run() if t.result == SmokeTest.FAIL: result = SmokeTest.FAIL # Attempt separate source and resource file compile where nothing should be done t.id = "0089c" t.name = "exe_armv5_winscw_single_file_notouch_rebuild" t.command = "sbs -f - --source-target=smoke_suite/test_resources/simple_gui/HelloWorld_Document.cpp --source-target=smoke_suite/test_resources/simple_gui/HelloWorld.rss -b smoke_suite/test_resources/simple_gui/Bld.inf" t.mustmatch = [] t.countmatch = [ [".*make.*Nothing to be done for.*SOURCETARGET_.*", 10] ] t.mustnotmatch = [ ".*recipe name='(resourcecompile|win32compile2object|compile|win32simplelink|postlink|link)'.*" ] t.run() if t.result == SmokeTest.FAIL: result = SmokeTest.FAIL t.id = "89" t.name = "exe_armv5_winscw_single_file" t.description = """Builds a component and tests single file compilation for straight source and resource files""" t.result = result t.print_result() return t
def run(): t = SmokeTest() t.name = "unfrozen" t.description = "Test EXPORTUNFROZEN forced import library generation with both completely unfrozen and part-frozen examples" t.command = "sbs -b smoke_suite/test_resources/unfrozen/bld.inf -k -c winscw -c armv5 CLEAN" \ " && sbs -b smoke_suite/test_resources/unfrozen/bld.inf -k -c winscw -c armv5" t.targets = [ "$(EPOCROOT)/epoc32/release/armv5/lib/unfrozensymbols.dso", "$(EPOCROOT)/epoc32/release/armv5/lib/unfrozensymbols{000a0000}.dso", "$(EPOCROOT)/epoc32/release/armv5/urel/unfrozensymbols.dll", "$(EPOCROOT)/epoc32/release/armv5/urel/unfrozensymbols.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/urel/unfrozensymbols.dll.map", "$(EPOCROOT)/epoc32/release/armv5/lib/unfrozensymbols2.dso", "$(EPOCROOT)/epoc32/release/armv5/lib/unfrozensymbols2{000a0000}.dso", "$(EPOCROOT)/epoc32/release/armv5/urel/unfrozensymbols2.dll", "$(EPOCROOT)/epoc32/release/armv5/urel/unfrozensymbols2.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/urel/unfrozensymbols2.dll.map", "$(EPOCROOT)/epoc32/release/armv5/urel/unfrozensymbols3.dll", "$(EPOCROOT)/epoc32/release/armv5/urel/unfrozensymbols3.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/urel/unfrozensymbols3.dll.map", "$(EPOCROOT)/epoc32/release/armv5/urel/test_unfrozen.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/test_unfrozen.exe.sym", "$(EPOCROOT)/epoc32/release/armv5/urel/test_unfrozen.exe.map", "$(EPOCROOT)/epoc32/release/winscw/urel/unfrozensymbols.dll", "$(EPOCROOT)/epoc32/release/winscw/urel/unfrozensymbols.dll.map", "$(EPOCROOT)/epoc32/release/winscw/urel/unfrozensymbols2.dll", "$(EPOCROOT)/epoc32/release/winscw/urel/unfrozensymbols2.dll.map", "$(EPOCROOT)/epoc32/release/winscw/urel/unfrozensymbols3.dll", "$(EPOCROOT)/epoc32/release/winscw/urel/unfrozensymbols3.dll.map", "$(EPOCROOT)/epoc32/release/winscw/urel/test_unfrozen.exe", "$(EPOCROOT)/epoc32/release/winscw/urel/test_unfrozen.exe.map", "$(EPOCROOT)/epoc32/release/armv5/udeb/unfrozensymbols.dll", "$(EPOCROOT)/epoc32/release/armv5/udeb/unfrozensymbols.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/udeb/unfrozensymbols.dll.map", "$(EPOCROOT)/epoc32/release/armv5/udeb/unfrozensymbols2.dll", "$(EPOCROOT)/epoc32/release/armv5/udeb/unfrozensymbols2.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/udeb/unfrozensymbols2.dll.map", "$(EPOCROOT)/epoc32/release/armv5/udeb/unfrozensymbols3.dll", "$(EPOCROOT)/epoc32/release/armv5/udeb/unfrozensymbols3.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/udeb/unfrozensymbols3.dll.map", "$(EPOCROOT)/epoc32/release/armv5/udeb/test_unfrozen.exe", "$(EPOCROOT)/epoc32/release/armv5/udeb/test_unfrozen.exe.sym", "$(EPOCROOT)/epoc32/release/armv5/udeb/test_unfrozen.exe.map", "$(EPOCROOT)/epoc32/release/winscw/udeb/unfrozensymbols.dll", "$(EPOCROOT)/epoc32/release/winscw/udeb/unfrozensymbols.lib", "$(EPOCROOT)/epoc32/release/winscw/udeb/unfrozensymbols2.dll", "$(EPOCROOT)/epoc32/release/winscw/udeb/unfrozensymbols2.lib", "$(EPOCROOT)/epoc32/release/winscw/udeb/unfrozensymbols3.dll", "$(EPOCROOT)/epoc32/release/winscw/udeb/test_unfrozen.exe" ] t.addbuildtargets('smoke_suite/test_resources/unfrozen/bld.inf', [ "unfrozensymbols_dll/armv5/urel/unfrozensymbols{000a0000}.def", "unfrozensymbols_dll/armv5/urel/unfrozensymbols{000a0000}.dso", "unfrozensymbols_dll/armv5/urel/unfrozensymbols_urel_objects.via", "unfrozensymbols_dll/armv5/urel/unfrozensymbols.o.d", "unfrozensymbols_dll/armv5/urel/unfrozensymbols.o", "unfrozensymbols2_dll/armv5/urel/unfrozensymbols2{000a0000}.def", "unfrozensymbols2_dll/armv5/urel/unfrozensymbols2{000a0000}.dso", "unfrozensymbols2_dll/armv5/urel/unfrozensymbols2_urel_objects.via", "unfrozensymbols3_dll/armv5/urel/unfrozensymbols3{000a0000}.def", "unfrozensymbols3_dll/armv5/urel/unfrozensymbols3{000a0000}.dso", "unfrozensymbols3_dll/armv5/urel/unfrozensymbols3_urel_objects.via", "unfrozensymbols2_dll/armv5/urel/unfrozensymbols.o.d", "unfrozensymbols2_dll/armv5/urel/unfrozensymbols.o", "unfrozensymbols3_dll/armv5/urel/unfrozensymbols.o.d", "unfrozensymbols3_dll/armv5/urel/unfrozensymbols.o", "test_unfrozen_/armv5/urel/test_unfrozen_urel_objects.via", "test_unfrozen_/armv5/urel/test.o.d", "test_unfrozen_/armv5/urel/test.o", "unfrozensymbols_dll/winscw/urel/unfrozensymbols.UID.CPP", "unfrozensymbols_dll/winscw/urel/unfrozensymbols.o", "unfrozensymbols_dll/winscw/urel/unfrozensymbols_UID_.o", "unfrozensymbols_dll/winscw/urel/unfrozensymbols.dep", "unfrozensymbols_dll/winscw/urel/unfrozensymbols_UID_.dep", "unfrozensymbols_dll/winscw/urel/unfrozensymbols.o.d", "unfrozensymbols_dll/winscw/urel/unfrozensymbols_UID_.o.d", "unfrozensymbols_dll/winscw/urel/unfrozensymbols.lib", "unfrozensymbols_dll/winscw/urel/unfrozensymbols.inf", "unfrozensymbols_dll/winscw/urel/unfrozensymbols.dll", "unfrozensymbols_dll/winscw/urel/unfrozensymbols.def", "unfrozensymbols2_dll/winscw/urel/unfrozensymbols2.UID.CPP", "unfrozensymbols2_dll/winscw/urel/unfrozensymbols.o", "unfrozensymbols2_dll/winscw/urel/unfrozensymbols2_UID_.o", "unfrozensymbols2_dll/winscw/urel/unfrozensymbols.dep", "unfrozensymbols2_dll/winscw/urel/unfrozensymbols2_UID_.dep", "unfrozensymbols2_dll/winscw/urel/unfrozensymbols.o.d", "unfrozensymbols2_dll/winscw/urel/unfrozensymbols2_UID_.o.d", "unfrozensymbols2_dll/winscw/urel/unfrozensymbols2.lib", "unfrozensymbols2_dll/winscw/urel/unfrozensymbols2.inf", "unfrozensymbols2_dll/winscw/urel/unfrozensymbols2.dll", "unfrozensymbols2_dll/winscw/urel/unfrozensymbols2.def", "unfrozensymbols3_dll/winscw/urel/unfrozensymbols3.UID.CPP", "unfrozensymbols3_dll/winscw/urel/unfrozensymbols.o", "unfrozensymbols3_dll/winscw/urel/unfrozensymbols3_UID_.o", "unfrozensymbols3_dll/winscw/urel/unfrozensymbols.dep", "unfrozensymbols3_dll/winscw/urel/unfrozensymbols3_UID_.dep", "unfrozensymbols3_dll/winscw/urel/unfrozensymbols.o.d", "unfrozensymbols3_dll/winscw/urel/unfrozensymbols3_UID_.o.d", "unfrozensymbols3_dll/winscw/urel/unfrozensymbols3.lib", "unfrozensymbols3_dll/winscw/urel/unfrozensymbols3.inf", "unfrozensymbols3_dll/winscw/urel/unfrozensymbols3.dll", "unfrozensymbols3_dll/winscw/urel/unfrozensymbols3.def", "test_unfrozen_/winscw/urel/test_unfrozen.UID.CPP", "test_unfrozen_/winscw/urel/test.o", "test_unfrozen_/winscw/urel/test_unfrozen_UID_.o", "test_unfrozen_/winscw/urel/test.dep", "test_unfrozen_/winscw/urel/test_unfrozen_UID_.dep", "test_unfrozen_/winscw/urel/test.o.d", "test_unfrozen_/winscw/urel/test_unfrozen_UID_.o.d", "unfrozensymbols_dll/armv5/udeb/unfrozensymbols{000a0000}.def", "unfrozensymbols_dll/armv5/udeb/unfrozensymbols{000a0000}.dso", "unfrozensymbols_dll/armv5/udeb/unfrozensymbols_udeb_objects.via", "unfrozensymbols_dll/armv5/udeb/unfrozensymbols.o.d", "unfrozensymbols_dll/armv5/udeb/unfrozensymbols.o", "unfrozensymbols_dll/armv5/udeb/unfrozensymbols.o", "unfrozensymbols2_dll/armv5/udeb/unfrozensymbols2{000a0000}.def", "unfrozensymbols2_dll/armv5/udeb/unfrozensymbols2{000a0000}.dso", "unfrozensymbols2_dll/armv5/udeb/unfrozensymbols2_udeb_objects.via", "unfrozensymbols2_dll/armv5/udeb/unfrozensymbols.o.d", "unfrozensymbols2_dll/armv5/udeb/unfrozensymbols.o", "unfrozensymbols2_dll/armv5/udeb/unfrozensymbols.o", "unfrozensymbols3_dll/armv5/udeb/unfrozensymbols3{000a0000}.def", "unfrozensymbols3_dll/armv5/udeb/unfrozensymbols3{000a0000}.dso", "unfrozensymbols3_dll/armv5/udeb/unfrozensymbols3_udeb_objects.via", "unfrozensymbols3_dll/armv5/udeb/unfrozensymbols.o.d", "unfrozensymbols3_dll/armv5/udeb/unfrozensymbols.o", "unfrozensymbols3_dll/armv5/udeb/unfrozensymbols.o", "test_unfrozen_/armv5/udeb/test_unfrozen_udeb_objects.via", "test_unfrozen_/armv5/udeb/test.o.d", "test_unfrozen_/armv5/udeb/test.o", "unfrozensymbols_dll/winscw/udeb/unfrozensymbols.UID.CPP", "unfrozensymbols_dll/winscw/udeb/unfrozensymbols.o", "unfrozensymbols_dll/winscw/udeb/unfrozensymbols_UID_.o", "unfrozensymbols_dll/winscw/udeb/unfrozensymbols.dep", "unfrozensymbols_dll/winscw/udeb/unfrozensymbols_UID_.dep", "unfrozensymbols_dll/winscw/udeb/unfrozensymbols.o.d", "unfrozensymbols_dll/winscw/udeb/unfrozensymbols_UID_.o.d", "unfrozensymbols_dll/winscw/udeb/unfrozensymbols.lib", "unfrozensymbols_dll/winscw/udeb/unfrozensymbols.inf", "unfrozensymbols_dll/winscw/udeb/unfrozensymbols.dll", "unfrozensymbols_dll/winscw/udeb/unfrozensymbols.def", "unfrozensymbols2_dll/winscw/udeb/unfrozensymbols2.UID.CPP", "unfrozensymbols2_dll/winscw/udeb/unfrozensymbols.o", "unfrozensymbols2_dll/winscw/udeb/unfrozensymbols2_UID_.o", "unfrozensymbols2_dll/winscw/udeb/unfrozensymbols.dep", "unfrozensymbols2_dll/winscw/udeb/unfrozensymbols2_UID_.dep", "unfrozensymbols2_dll/winscw/udeb/unfrozensymbols.o.d", "unfrozensymbols2_dll/winscw/udeb/unfrozensymbols2_UID_.o.d", "unfrozensymbols2_dll/winscw/udeb/unfrozensymbols2.lib", "unfrozensymbols2_dll/winscw/udeb/unfrozensymbols2.inf", "unfrozensymbols2_dll/winscw/udeb/unfrozensymbols2.dll", "unfrozensymbols2_dll/winscw/udeb/unfrozensymbols2.def", "unfrozensymbols3_dll/winscw/udeb/unfrozensymbols3.UID.CPP", "unfrozensymbols3_dll/winscw/udeb/unfrozensymbols.o", "unfrozensymbols3_dll/winscw/udeb/unfrozensymbols3_UID_.o", "unfrozensymbols3_dll/winscw/udeb/unfrozensymbols.dep", "unfrozensymbols3_dll/winscw/udeb/unfrozensymbols3_UID_.dep", "unfrozensymbols3_dll/winscw/udeb/unfrozensymbols.o.d", "unfrozensymbols3_dll/winscw/udeb/unfrozensymbols3_UID_.o.d", "unfrozensymbols3_dll/winscw/udeb/unfrozensymbols3.lib", "unfrozensymbols3_dll/winscw/udeb/unfrozensymbols3.inf", "unfrozensymbols3_dll/winscw/udeb/unfrozensymbols3.dll", "unfrozensymbols3_dll/winscw/udeb/unfrozensymbols3.def", "test_unfrozen_/winscw/udeb/test_unfrozen.UID.CPP", "test_unfrozen_/winscw/udeb/test.o", "test_unfrozen_/winscw/udeb/test_unfrozen_UID_.o", "test_unfrozen_/winscw/udeb/test.dep", "test_unfrozen_/winscw/udeb/test_unfrozen_UID_.dep", "test_unfrozen_/winscw/udeb/test.o.d", "test_unfrozen_/winscw/udeb/test_unfrozen_UID_.o.d" ]) # Match both ARMV5 (elf2e32) and WINSCW (makedef) unfrozen export warnings and confirm the number found. Format: # Elf2e32: Warning: New Symbol _ZN10CMessenger5NewLCER12CConsoleBaseRK7TDesC16 found, export(s) not yet Frozen # F:/path/epocroot/epoc32/build/unfrozen/c_939fe933110ed5aa/unfrozensymbols_dll/winscw/udeb/unfrozensymbols.def(3) : ?NewLC@CMessenger@@SAPAV1@AAVCConsoleBase@@ABVTDesC16@@@Z @1 # More matches are expected with elf2e32 due to extra build impedimenta in EABI builds. t.countmatch = [[ ".*Elf2e32: Warning: New Symbol .* found, export\(s\) not yet Frozen.*", 26 ], [".*\.def\(\d\) : .*@\d.*", 18]] t.mustmatch_singleline = [ "Import library generation suppressed as frozen .def file not present: .*smoke_suite/test_resources/bwins/unfrozensymbols3u.def", "Import library generation suppressed as frozen .def file not present: .*smoke_suite/test_resources/eabi/unfrozensymbols3u.def" ] t.warnings = 8 # ABIv1 .lib files are not generated on Linux t.run() return t