def run(): t = SmokeTest() t.id = "71a" t.name = "implib_implicit_def" t.command = "sbs -b smoke_suite/test_resources/simple_implib/nodef/group/bld.inf" \ + " -p implib_implicit_def.mmp" t.targets = [ "$(EPOCROOT)/epoc32/release/armv5/lib/implib_implicit_def.dso", "$(EPOCROOT)/epoc32/release/armv5/lib/implib_implicit_def{000a0000}.dso", "$(EPOCROOT)/epoc32/release/winscw/udeb/implib_implicit_def.lib" ] t.run() t.id = "71b" t.name = "implib_no_def" t.command = "sbs -b smoke_suite/test_resources/simple_implib/nodef/group/bld.inf" \ + " -p implib_no_def.mmp" t.targets = [] t.mustmatch = [ "No DEF File for IMPLIB target type in" ] t.errors = 2 # 1 for winscw and 1 for armv5 t.returncode = 1 t.run() t.id = "71" t.name = "implib_nodef" t.print_result() return t
def run(): t = SmokeTest() # Should have returncode of 1 and output 1 error, but not cause a traceback t.returncode = 1 t.errors = 1 t.mustmatch = [ "sbs: error: Non-ASCII character in argument or command file" ] result = SmokeTest.PASS t.name = "non_ascii_argument" t.usebash = True # The dash in "-c" is an en dash, not a normal ASCII dash. t.command = r'set -x;sbs -b smoke_suite/test_resources/simple_dll/bld.inf `echo -e "\x96"`c armv5' t.run() if t.result == SmokeTest.FAIL: result = SmokeTest.FAIL t.name = "non_ascii_commandfile" t.command = "sbs --command=smoke_suite/test_resources/non_ascii/cmd.txt" t.run() if t.result == SmokeTest.FAIL: result = SmokeTest.FAIL t.name = "non_ascii" t.result = result t.print_result() return t
def run(): t = SmokeTest() t.description = "Check that ARM toolchain specific macros are used in both metadata and source processing." t.warnings = -1 toolchains = { 'rvct2_2': ['ARMCC', 'ARMCC_2', 'ARMCC_2_2', '__ARMCC__', '__ARMCC_2__', '__ARMCC_2_2__'], 'rvct4_0': ['ARMCC', 'ARMCC_4', 'ARMCC_4_0', '__ARMCC__', '__ARMCC_4__' , '__ARMCC_4_0__'], 'gcce4_3_2': ['GCCE', 'GCCE_4', 'GCCE_4_3', '__GCCE__', '__GCCE_4__' , '__GCCE_4_3__'], 'gcce4_3_3': ['GCCE', 'GCCE_4', 'GCCE_4_3', '__GCCE__', '__GCCE_4__' , '__GCCE_4_3__'], 'gcce4_4_1': ['GCCE', 'GCCE_4', 'GCCE_4_4', '__GCCE__', '__GCCE_4__' , '__GCCE_4_4__'], 'gcce4_5_1': ['GCCE', 'GCCE_4', 'GCCE_4_5', '__GCCE__', '__GCCE_4__' , '__GCCE_4_5__'] } rootname = "toolchain_macros_armv5_{0}_{1}" rootcommand = "sbs -b smoke_suite/test_resources/toolchain_macros/bld.inf -c arm.v5.urel." macromatch = ": #warning( directive:)? {0}( \[-Wcpp\])?(</warning>)?$" for toolchain in sorted(toolchains.keys()): t.name = rootname.format(toolchain, "clean") t.command = rootcommand + toolchain + " clean" t.mustmatch_singleline = [] t.run() t.name = rootname.format(toolchain, "build") t.command = rootcommand + toolchain mustmatch = [] for macro in toolchains[toolchain]: mustmatch.append(macromatch.format(macro)) t.mustmatch_singleline = mustmatch t.run() t.name = "toolchain_macros" t.print_result() return t
def run(): t = SmokeTest() t.name = "annofile2log_copy_from_log" t.description = "test workaround for log corruption from a make engine whose name begins with 'e'" command = 'cd smoke_suite/test_resources/annofile2log && ( FROMANNO="`mktemp`" ; bzip2 -dc {test_file_basename}.anno.bz2 ' \ ' | python testanno2log.py >"${{FROMANNO}}" && FROMSTDOUT="`mktemp`"; bzip2 -dc {test_file_basename}.stdout.bz2 > ' \ '"${{FROMSTDOUT}}" && diff -wB "${{FROMANNO}}" "${{FROMSTDOUT}}"; RET=$? ; rm "${{FROMANNO}}" "${{FROMSTDOUT}}"; exit $RET )' t.usebash = True t.errors = 0 t.returncode = 0 t.exceptions = 0 t.command = command.format(test_file_basename = "scrubbed_ncp_dfs_resource") t.run() t.name = "annofile2log_new_format_annofile" t.description = "test new format of annofile" t.usebash = True t.errors = 0 t.returncode = 0 t.exceptions = 0 t.command = command.format(test_file_basename = "scrubbed_ncp_dfs_resource_new") t.run() t.print_result() return t
def run(): t = SmokeTest() t.name = "annofile2log_copy_from_log" t.description = "test workaround for log corruption from a make engine whose name begins with 'e'" command = 'cd smoke_suite/test_resources/annofile2log && ( FROMANNO="`mktemp`" ; bzip2 -dc {test_file_basename}.anno.bz2 ' \ ' | python testanno2log.py >"${{FROMANNO}}" && FROMSTDOUT="`mktemp`"; bzip2 -dc {test_file_basename}.stdout.bz2 > ' \ '"${{FROMSTDOUT}}" && diff -wB "${{FROMANNO}}" "${{FROMSTDOUT}}"; RET=$? ; rm "${{FROMANNO}}" "${{FROMSTDOUT}}"; exit $RET )' t.usebash = True t.errors = 0 t.returncode = 0 t.exceptions = 0 t.command = command.format(test_file_basename="scrubbed_ncp_dfs_resource") t.run() t.name = "annofile2log_new_format_annofile" t.description = "test new format of annofile" t.usebash = True t.errors = 0 t.returncode = 0 t.exceptions = 0 t.command = command.format( test_file_basename="scrubbed_ncp_dfs_resource_new") t.run() t.print_result() return t
def run(): t = SmokeTest() # Should have returncode of 1 and output 1 error, but not cause a traceback t.returncode = 1 t.errors = 1 t.mustmatch = ["sbs: error: Non-ASCII character in argument or command file"] result = SmokeTest.PASS t.name = "non_ascii_argument" t.usebash = True # The dash in "-c" is an en dash, not a normal ASCII dash. t.command = r'set -x;sbs -b smoke_suite/test_resources/simple_dll/bld.inf `echo -e "\x96"`c armv5' t.run() if t.result == SmokeTest.FAIL: result = SmokeTest.FAIL t.name = "non_ascii_commandfile" t.command = "sbs --command=smoke_suite/test_resources/non_ascii/cmd.txt" t.run() if t.result == SmokeTest.FAIL: result = SmokeTest.FAIL t.name = "non_ascii" t.result = result t.print_result() return t
def run(): t = SmokeTest() command = "sbs -k -b smoke_suite/test_resources/simple/longcompiles.inf -c armv7_urel{variant} -c winscw_udeb{variant} -c arm.v5.urel.gcce4_4_1{variant}" talon_warning = ".*Command line length '\d+' exceeds the shell limit on this system of '\d+'. If this recipe is a compile, try using the '.use_compilation_command_file' variant to reduce overall command line length." targets = [ "$(EPOCROOT)/epoc32/release/armv7/urel/longcompiles.exe", "$(EPOCROOT)/epoc32/release/winscw/udeb/longcompiles.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/longcompiles.exe", ] t.name = "longcompile_no_command_file" t.description = """ Confirm OS-specific behaviour on massive compilation command lines. On Linux, all should be well, but on Windows the compile will fail together with a talon warning with some potentially useful advice. """ t.command = command.format(variant="") if t.onWindows: t.targets = [] t.mustmatch_singleline = [talon_warning] t.warnings = 24 t.errors = 1 t.returncode = 1 else: t.targets = targets t.mustnotmatch_singleline = [talon_warning] t.run() t.name = "longcompile_command_file" t.description = """ Confirm that a command file is used with the .use_compilation_command_file variant, and that the build succeeds on all host OS platforms. """ t.command = command.format(variant=".use_compilation_command_file") t.targets = targets t.addbuildtargets( "smoke_suite/test_resources/simple/longcompiles.inf", [ "longcompiles_exe/armv7/urel/cc.cmdfile", "longcompiles_exe/winscw/udeb/cc.cmdfile", "longcompiles_exe/armv5/urel/cc.cmdfile", ], ) t.mustmatch_singleline = [] t.mustnotmatch_singleline = [] t.warnings = 0 t.errors = 0 t.returncode = 0 t.run() t.name = "longcompiles" t.print_result() return t
def run(): t = SmokeTest() command = "sbs -k -b smoke_suite/test_resources/simple/longcompiles.inf -c armv7_urel{variant} -c winscw_udeb{variant} -c arm.v5.urel.gcce4_4_1{variant}" talon_warning = ".*Command line length '\d+' exceeds the shell limit on this system of '\d+'. If this recipe is a compile, try using the '.use_compilation_command_file' variant to reduce overall command line length." targets = [ "$(EPOCROOT)/epoc32/release/armv7/urel/longcompiles.exe", "$(EPOCROOT)/epoc32/release/winscw/udeb/longcompiles.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/longcompiles.exe" ] t.name = "longcompile_no_command_file" t.description = """ Confirm OS-specific behaviour on massive compilation command lines. On Linux, all should be well, but on Windows the compile will fail together with a talon warning with some potentially useful advice. """ t.command = command.format(variant="") if t.onWindows: t.targets = [] t.mustmatch_singleline = [talon_warning] t.warnings = 24 t.errors = 1 t.returncode = 1 else: t.targets = targets t.mustnotmatch_singleline = [talon_warning] t.run() t.name = "longcompile_command_file" t.description = """ Confirm that a command file is used with the .use_compilation_command_file variant, and that the build succeeds on all host OS platforms. """ t.command = command.format(variant=".use_compilation_command_file") t.targets = targets t.addbuildtargets('smoke_suite/test_resources/simple/longcompiles.inf', [ "longcompiles_exe/armv7/urel/cc.cmdfile", "longcompiles_exe/winscw/udeb/cc.cmdfile", "longcompiles_exe/armv5/urel/cc.cmdfile" ]) t.mustmatch_singleline = [] t.mustnotmatch_singleline = [] t.warnings = 0 t.errors = 0 t.returncode = 0 t.run() t.name = "longcompiles" t.print_result() return t
def run(): t = SmokeTest() t.description = "Trace Compiler Whatlog Clean" t.id = "112a" t.name = "tracecompiler_whatlog_clean" t.usebash = True t.command = "sbs -b smoke_suite/test_resources/tracecompiler/testTC/group/bld2.inf -c armv5.tracecompiler CLEAN" t.run() t = CheckWhatSmokeTest() t.description = "Trace Compiler Whatlog test" t.id = "112b" t.name = "tracecompiler_whatlog" t.usebash = True t.command = "sbs -b smoke_suite/test_resources/tracecompiler/testTC/group/bld2.inf -c armv5.tracecompiler -m ${SBSMAKEFILE} -f ${SBSLOGFILE} && cat ${SBSLOGFILE}" t.hostossensitive = False t.regexlinefilter = re.compile("^<(whatlog|export|build>|resource>|bitmap>)") t.targets = [ "$(EPOCROOT)/epoc32/release/armv5/lib/testTC.dso", "$(EPOCROOT)/epoc32/release/armv5/lib/testTC{000a0000}.dso", "$(EPOCROOT)/epoc32/release/armv5/udeb/testTC.dll", "$(EPOCROOT)/epoc32/release/armv5/udeb/testTC.dll.map", "$(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/test_TC_0x1000008d_Dictionary.xml", "$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/test_TC_0x1000008d_TraceDefinitions.h" ] t.stdout = [ "<whatlog bldinf='$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/testTC/group/bld2.inf' mmp='$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/testTC/group/test.TC.mmp' config='armv5_urel.tracecompiler'>", "<whatlog bldinf='$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/testTC/group/bld2.inf' mmp='$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/testTC/group/test.TC.mmp' config='armv5_udeb.tracecompiler'>", "<build>$(EPOCROOT)/epoc32/release/armv5/lib/testTC.dso</build>", "<build>$(EPOCROOT)/epoc32/release/armv5/lib/testTC{000a0000}.dso</build>", "<build>$(EPOCROOT)/epoc32/release/armv5/udeb/testTC.dll</build>", "<build>$(EPOCROOT)/epoc32/release/armv5/udeb/testTC.dll.map</build>", "<build>$(EPOCROOT)/epoc32/release/armv5/urel/testTC.dll</build>", "<build>$(EPOCROOT)/epoc32/release/armv5/urel/testTC.dll.map</build>", "<build>$(EPOCROOT)/epoc32/ost_dictionaries/test_TC_0x1000008d_Dictionary.xml</build>", "<build>$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/test_TC_0x1000008d_TraceDefinitions.h</build>" ] t.run("linux") if t.result == CheckWhatSmokeTest.SKIP: t.run("windows") t.id = "112" return t
def run(): t = SmokeTest() t.description = """Test the 'expgen' stage with different combinations of compiler (RVCT and GCC-E) and elf2e32 version (with and without --asm option).""" t.usebash = True bld_inf = "smoke_suite/test_resources/custom_dll/bld.inf" old_elf2e32 = "$(SBS_HOME)/test/smoke_suite/test_resources/custom_dll/elf2e32_old" if t.onWindows: old_elf2e32 += ".exe" # Command templates for using the new and the old version of elf2e32, # respectively. The new version supports the --asm option. new_cmd = "sbs -b " + bld_inf + " -c {0}" old_cmd = "SBS_ELF2E32=" + old_elf2e32 + " " + new_cmd t.targets = [ "$(EPOCROOT)/epoc32/release/armv5/lib/customdll.dso", "$(EPOCROOT)/epoc32/release/armv5/lib/customdll{000a0000}.dso", "$(EPOCROOT)/epoc32/release/armv5/udeb/customdll.dll", "$(EPOCROOT)/epoc32/release/armv5/udeb/customdll.dll.map", "$(EPOCROOT)/epoc32/release/armv5/urel/customdll.dll", "$(EPOCROOT)/epoc32/release/armv5/urel/customdll.dll.map" ] # This ensures that the "expgen" stage is executed for each call to run(). t.addbuildtargets(bld_inf, [ "customdll_dll/armv5/customdll{000a0000}.s", "customdll_dll/armv5/customdll{000a0000}.exp" ]) t.name = "custom_dll_rvct_new_elf2e32" t.command = new_cmd.format("armv5") t.run() t.name = "custom_dll_rvct_old_elf2e32" t.command = old_cmd.format("armv5") t.run() t.name = "custom_dll_gcce_new_elf2e32" t.command = new_cmd.format("gcce_armv5") t.run() t.name = "custom_dll" t.print_result() return t
def run(): t = SmokeTest() t.description = """Test the 'expgen' stage with different combinations of compiler (RVCT and GCC-E) and elf2e32 version (with and without --asm option).""" t.usebash = True bld_inf = "smoke_suite/test_resources/custom_dll/bld.inf" old_elf2e32 = "$(SBS_HOME)/test/smoke_suite/test_resources/custom_dll/elf2e32_old" if t.onWindows: old_elf2e32 += ".exe" # Command templates for using the new and the old version of elf2e32, # respectively. The new version supports the --asm option. new_cmd = "sbs -b " + bld_inf + " -c {0}" old_cmd = "SBS_ELF2E32=" + old_elf2e32 + " " + new_cmd t.targets = [ "$(EPOCROOT)/epoc32/release/armv5/lib/customdll.dso", "$(EPOCROOT)/epoc32/release/armv5/lib/customdll{000a0000}.dso", "$(EPOCROOT)/epoc32/release/armv5/udeb/customdll.dll", "$(EPOCROOT)/epoc32/release/armv5/udeb/customdll.dll.map", "$(EPOCROOT)/epoc32/release/armv5/urel/customdll.dll", "$(EPOCROOT)/epoc32/release/armv5/urel/customdll.dll.map" ] # This ensures that the "expgen" stage is executed for each call to run(). t.addbuildtargets(bld_inf, [ "customdll_dll/armv5/customdll{000a0000}.s", "customdll_dll/armv5/customdll{000a0000}.exp"]) t.name = "custom_dll_rvct_new_elf2e32" t.command = new_cmd.format("armv5") t.run() t.name = "custom_dll_rvct_old_elf2e32" t.command = old_cmd.format("armv5") t.run() t.name = "custom_dll_gcce_new_elf2e32" t.command = new_cmd.format("gcce_armv5") t.run() t.name = "custom_dll" t.print_result() return t
def run(): t = SmokeTest() t.name = "dll_x86" t.description = "Build a basic DLL TARGETTYPE for x86" t.command = "sbs -b smoke_suite/test_resources/simple_dll/bld.inf -c x86" t.targets = [ "$(EPOCROOT)/epoc32/release/x86/udeb/createstaticdll.dll", "$(EPOCROOT)/epoc32/release/x86/udeb/createstaticdll.dll.map", "$(EPOCROOT)/epoc32/release/x86/urel/createstaticdll.dll", "$(EPOCROOT)/epoc32/release/x86/urel/createstaticdll.dll.map", "$(EPOCROOT)/epoc32/release/x86/lib/createstaticdll.lib", "$(EPOCROOT)/epoc32/release/x86/lib/createstaticdll{000a0000}.lib" ] t.addbuildtargets('smoke_suite/test_resources/simple_dll/bld.inf', [ "createstaticdll_dll/x86/udeb/CreateStaticDLL.o", "createstaticdll_dll/x86/udeb/CreateStaticDLL.o.d", "createstaticdll_dll/x86/urel/CreateStaticDLL.o", "createstaticdll_dll/x86/urel/CreateStaticDLL.o.d", "createstaticdll_dll/x86/udeb/createstaticdll_udeb_objects.via", "createstaticdll_dll/x86/urel/createstaticdll_urel_objects.via", [ "createstaticdll_dll/x86/udeb/createstaticdll.prep", "createstaticdll_dll/x86/urel/createstaticdll.prep" ], [ "createstaticdll_dll/x86/udeb/createstaticdll.lib.exp", "createstaticdll_dll/x86/urel/createstaticdll.lib.exp" ] ]) t.run("windows") 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.id = "78" t.name = "dll_winscw_win32resource" t.description = """Test the construction of a custom WINSCW DLL containing Windows resources specified by win32_resource.""" t.command = "sbs -b smoke_suite/test_resources/simple_dll/win32resource/bld.inf -c winscw" t.targets = [ "$(EPOCROOT)/epoc32/release/winscw/udeb/createstaticdll.lib", "$(EPOCROOT)/epoc32/release/winscw/udeb/createstaticdll.dll", "$(EPOCROOT)/epoc32/release/winscw/urel/createstaticdll.dll", "$(EPOCROOT)/epoc32/release/winscw/urel/createstaticdll.dll.map" ] t.addbuildtargets( 'smoke_suite/test_resources/simple_dll/win32resource/bld.inf', [ "createstaticdll_dll/winscw/udeb/CreateStaticDLL.o", "createstaticdll_dll/winscw/udeb/createstaticdll.UID.CPP", "createstaticdll_dll/winscw/udeb/createstaticdll_UID_.o", "createstaticdll_dll/winscw/udeb/gui.res", "createstaticdll_dll/winscw/udeb/gui.res.d", "createstaticdll_dll/winscw/urel/CreateStaticDLL.o", "createstaticdll_dll/winscw/urel/createstaticdll.UID.CPP", "createstaticdll_dll/winscw/urel/createstaticdll_UID_.o", "createstaticdll_dll/winscw/urel/gui.res", "createstaticdll_dll/winscw/urel/gui.res.d", ]) t.run() return t
def run(): t = SmokeTest() t.name = "preprocess" t.usebash = True t.description = "Exercise the global PREPROCESS target" # Build component normally first for one config - resource generate .rsg files are #included in "straight" source # The PREPROCESS target does not resolve resource dependencies, but the test component is selected on the basis # that it will support the generation of resource .pre files in the future. addConfigs = "" addTargets = [] if t.onWindows: addConfigs = "-c x86_udeb" addTargets = [ "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_Application.cpp.x86.udeb.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_AppUi.cpp.x86.udeb.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_AppView.cpp.x86.udeb.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_Document.cpp.x86.udeb.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_Main.cpp.x86.udeb.helloworld.exe.pre" ] t.command = """ sbs -b smoke_suite/test_resources/simple_gui/Bld.inf -c armv5_urel && sbs -b smoke_suite/test_resources/simple_gui/Bld.inf -c armv5 -c winscw_urel -c armv7_udeb -c arm.v7.urel.gcce4_4_1 {0} preprocess """.format(addConfigs) t.targets = [ "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_Application.cpp.armv5.udeb.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_Application.cpp.armv5.urel.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_AppUi.cpp.armv5.udeb.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_AppUi.cpp.armv5.urel.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_AppView.cpp.armv5.udeb.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_AppView.cpp.armv5.urel.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_Document.cpp.armv5.udeb.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_Document.cpp.armv5.urel.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_Main.cpp.armv5.udeb.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_Main.cpp.armv5.urel.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_Application.cpp.winscw.urel.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_AppUi.cpp.winscw.urel.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_AppView.cpp.winscw.urel.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_Document.cpp.winscw.urel.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_Main.cpp.winscw.urel.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_Application.cpp.armv7.udeb.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_AppUi.cpp.armv7.udeb.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_AppView.cpp.armv7.udeb.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_Document.cpp.armv7.udeb.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_Main.cpp.armv7.udeb.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_Application.cpp.armv7.urel.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_AppUi.cpp.armv7.urel.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_AppView.cpp.armv7.urel.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_Document.cpp.armv7.urel.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_Main.cpp.armv7.urel.helloworld.exe.pre" ] + addTargets t.run() # Explicit clean-up due to the source tree nature of the generated files t.clean() return t
def run(): t = SmokeTest() t.id = "17" t.name = "armv7_asmtest" t.command = "sbs -b smoke_suite/test_resources/asmtest/bld.inf -c armv7" t.targets = [ "$(EPOCROOT)/epoc32/release/armv7/udeb/asmtest.exe", "$(EPOCROOT)/epoc32/release/armv7/udeb/asmtest.exe.sym", "$(EPOCROOT)/epoc32/release/armv7/udeb/asmtest.exe.map", "$(EPOCROOT)/epoc32/release/armv7/urel/asmtest.exe", "$(EPOCROOT)/epoc32/release/armv7/urel/asmtest.exe.sym", "$(EPOCROOT)/epoc32/release/armv7/urel/asmtest.exe.map" ] t.addbuildtargets('smoke_suite/test_resources/asmtest/bld.inf', [ "asmtest_/armv7/udeb/asmtest_udeb_objects.via", "asmtest_/armv7/udeb/testassembler.o.d", "asmtest_/armv7/udeb/testassembler.o", "asmtest_/armv7/udeb/testassembler.o", "asmtest_/armv7/udeb/testcia_.o", "asmtest_/armv7/udeb/testcia_.cpp", "asmtest_/armv7/udeb/testcia_.pre", "asmtest_/armv7/udeb/testcia_.pre.d", "asmtest_/armv7/udeb/testasm.o.d", "asmtest_/armv7/udeb/testasm.o", "asmtest_/armv7/urel/asmtest_urel_objects.via", "asmtest_/armv7/urel/testassembler.o.d", "asmtest_/armv7/urel/testassembler.o", "asmtest_/armv7/urel/testassembler.o", "asmtest_/armv7/urel/testcia_.o", "asmtest_/armv7/urel/testcia_.cpp", "asmtest_/armv7/urel/testcia_.pre", "asmtest_/armv7/urel/testcia_.pre.d", "asmtest_/armv7/urel/testasm.o.d", "asmtest_/armv7/urel/testasm.o" ]) t.run() return t
def run(): t = SmokeTest() t.name = "dll_armv5_smp" t.id = "63" t.command = "sbs -b smoke_suite/test_resources/simple_dll/bld.inf -c " + \ "armv5 -c armv5.smp" t.targets = [ "$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll.dso", "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll{000a0000}.dso", "$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll.dll", "$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll.dll", "$(EPOCROOT)/epoc32/release/armv5smp/udeb/createstaticdll.dll.sym", "$(EPOCROOT)/epoc32/release/armv5smp/urel/createstaticdll.dll.sym", "$(EPOCROOT)/epoc32/release/armv5smp/udeb/createstaticdll.dll", "$(EPOCROOT)/epoc32/release/armv5smp/urel/createstaticdll.dll" ] t.addbuildtargets('smoke_suite/test_resources/simple_dll/bld.inf', [ "createstaticdll_dll/armv5/udeb/CreateStaticDLL.o", "createstaticdll_dll/armv5/urel/CreateStaticDLL.o", "createstaticdll_dll/armv5smp/udeb/CreateStaticDLL.o", "createstaticdll_dll/armv5smp/urel/CreateStaticDLL.o" ]) t.run() return t
def run(): t = SmokeTest() t.usebash = True t.description = "Test that dependency crunching for resource dependency files produces expected output" t.id = "43562999" t.name = "depcrunch" t.command = "python $SBS_HOME/bin/depcrunch.py --extensions mbg,rsg --assume EPOCROOT < smoke_suite/test_resources/depcrunch/dep2.rpp.d" t.mustmatch_multiline = [ r"EPOCROOT/epoc32/build/resource/c_98665870f0168225/dependentresource_/dependentresource_dependentresource_sc.rpp: \\\n" + r" EPOCROOT/testresource1.mbg \\\n" + r" EPOCROOT/testresource2.rsg \\\n" + r" EPOCROOT/testresource3.rsg \\\n" + r" EPOCROOT/testresource4.mbg \\\n" + r" EPOCROOT/testresource5.rsg \\\n" + r" EPOCROOT/testresource6.mbg \\\n" + r" EPOCROOT/testresource7.rsg \\\n" + r" EPOCROOT/testresource8.mbg \\\n" + r" EPOCROOT/testresource9.rsg \n" ] t.run() t.print_result() return t
def run(): t = SmokeTest() t.name = "slim_debug" t.description = """Exercise the slim_debug variant, checking that command line arguments are applied selectively.""" t.usebash = True t.command = "sbs -b smoke_suite/test_resources/simple_dll/bld.inf -c armv5.slimdebug -f-" t.targets = [ "$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll.dso", "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll{000a0000}.dso", "$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll.dll", "$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll.dll" ] t.addbuildtargets('smoke_suite/test_resources/simple_dll/bld.inf', [ "createstaticdll_dll/armv5/udeb/CreateStaticDLL.o", "createstaticdll_dll/armv5/urel/CreateStaticDLL.o" ]) t.mustnotmatch_singleline = [ "\+.*armcc.*--no_debug_macros --remove_unneeded_entities.*--DNDEBUG" ] t.mustmatch_singleline = [ "\+.*armcc.*--no_debug_macros --remove_unneeded_entities.*-D_DEBUG" ] t.run() return t
def run(): t = SmokeTest() t.name = "slim_debug" t.description = """Exercise the slim_debug variant, checking that command line arguments are applied selectively.""" t.usebash = True t.command = "sbs -b smoke_suite/test_resources/simple_dll/bld.inf -c armv5.slimdebug -f-" t.targets = [ "$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll.dso", "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll{000a0000}.dso", "$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll.dll", "$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll.dll" ] t.addbuildtargets('smoke_suite/test_resources/simple_dll/bld.inf', [ "createstaticdll_dll/armv5/udeb/CreateStaticDLL.o", "createstaticdll_dll/armv5/urel/CreateStaticDLL.o" ]) t.mustnotmatch_singleline = ["\+.*armcc.*--no_debug_macros --remove_unneeded_entities.*--DNDEBUG"] t.mustmatch_singleline = ["\+.*armcc.*--no_debug_macros --remove_unneeded_entities.*-D_DEBUG"] t.run() 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.usebash = True t.description = "Test that dependency crunching for resource dependency files produces expected output" t.id = "43562999" t.name = "depcrunch" t.command = "python $SBS_HOME/bin/depcrunch.py --extensions mbg,rsg --assume EPOCROOT < smoke_suite/test_resources/depcrunch/dep2.rpp.d" t.mustmatch_multiline = [ r"EPOCROOT/epoc32/build/resource/c_98665870f0168225/dependentresource_/dependentresource_dependentresource_sc.rpp: \\\n"+ r" EPOCROOT/testresource1.mbg \\\n"+ r" EPOCROOT/testresource2.rsg \\\n"+ r" EPOCROOT/testresource3.rsg \\\n"+ r" EPOCROOT/testresource4.mbg \\\n"+ r" EPOCROOT/testresource5.rsg \\\n"+ r" EPOCROOT/testresource6.mbg \\\n"+ r" EPOCROOT/testresource7.rsg \\\n"+ r" EPOCROOT/testresource8.mbg \\\n"+ r" EPOCROOT/testresource9.rsg \n" ] t.run() t.print_result() return t
def run(): t = SmokeTest() t.id = "2" t.name = "exe_armv5_filtered" t.description = "Run exe_armv5 with a customised filter. Will create then" \ + " remove filter file" t.usebash = True t.command = "cp -f smoke_suite/test_resources/filter_test/testfilter.py ../python/plugins/testfilter.py " \ "&& chmod 600 ../python/plugins/testfilter.py " \ "&& sbs -b smoke_suite/test_resources/simple/bld.inf -c armv5 --filters=TestFilter " \ "&& rm -f ../python/plugins/testfilter.py*" t.targets = [ "$(EPOCROOT)/epoc32/release/armv5/udeb/test.exe", "$(EPOCROOT)/epoc32/release/armv5/udeb/test.exe.map", "$(EPOCROOT)/epoc32/release/armv5/urel/test.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/test.exe.map" ] t.addbuildtargets('smoke_suite/test_resources/simple/bld.inf', [ "test_/armv5/udeb/test.o", "test_/armv5/urel/test.o" ]) t.mustmatch = [ ".*Test Passed!.*" ] t.run() return t
def run(): t = SmokeTest() t.id = "71" t.name = "metadep" t.description = """Tests metadata dependency generation. Changes to bld.infs and mmps can be detected.""" t.usebash = True t.command = """export SBSLOGFILE SBSMAKEFILE; bash smoke_suite/test_resources/metadep.sh 2>&1""" t.targets = [] t.mustmatch_multiline = [ """.*Step 1 .*no warnings or errors.* sbs: build log in.* \+ sleep 1.* .*make -rf .*epoc32/build/metadata_all.mk.* .*make.*epoc32/build/metadata_all.mk. is up to date.* Step 2 .* .*RE-RUNNING SBS with previous parameters.* Step 3 .* .*RE-RUNNING SBS with previous parameters.* .*RE-RUNNING SBS with previous parameters.*""" ] t.mustnotmatch_multiline = [ """RE-RUNNING SBS with previous parameters.* RE-RUNNING SBS with previous parameters.* RE-RUNNING SBS with previous parameters.* RE-RUNNING SBS with previous parameters.*""" ] t.run() return t
def run(): t = SmokeTest() t.id = "78" t.name = "dll_winscw_win32resource" t.description = """Test the construction of a custom WINSCW DLL containing Windows resources specified by win32_resource.""" t.command = "sbs -b smoke_suite/test_resources/simple_dll/win32resource/bld.inf -c winscw" t.targets = [ "$(EPOCROOT)/epoc32/release/winscw/udeb/createstaticdll.lib", "$(EPOCROOT)/epoc32/release/winscw/udeb/createstaticdll.dll", "$(EPOCROOT)/epoc32/release/winscw/urel/createstaticdll.dll", "$(EPOCROOT)/epoc32/release/winscw/urel/createstaticdll.dll.map" ] t.addbuildtargets('smoke_suite/test_resources/simple_dll/win32resource/bld.inf', [ "createstaticdll_dll/winscw/udeb/CreateStaticDLL.o", "createstaticdll_dll/winscw/udeb/createstaticdll.UID.CPP", "createstaticdll_dll/winscw/udeb/createstaticdll_UID_.o", "createstaticdll_dll/winscw/udeb/gui.res", "createstaticdll_dll/winscw/udeb/gui.res.d", "createstaticdll_dll/winscw/urel/CreateStaticDLL.o", "createstaticdll_dll/winscw/urel/createstaticdll.UID.CPP", "createstaticdll_dll/winscw/urel/createstaticdll_UID_.o", "createstaticdll_dll/winscw/urel/gui.res", "createstaticdll_dll/winscw/urel/gui.res.d", ]) t.run() return t
def run(): t = SmokeTest() t.name = "dll_armv5_smp" t.id = "63" t.command = "sbs -b smoke_suite/test_resources/simple_dll/bld.inf -c " + \ "armv5 -c armv5.smp" t.targets = [ "$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll.dso", "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll{000a0000}.dso", "$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll.dll", "$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll.dll", "$(EPOCROOT)/epoc32/release/armv5smp/udeb/createstaticdll.dll.sym", "$(EPOCROOT)/epoc32/release/armv5smp/urel/createstaticdll.dll.sym", "$(EPOCROOT)/epoc32/release/armv5smp/udeb/createstaticdll.dll", "$(EPOCROOT)/epoc32/release/armv5smp/urel/createstaticdll.dll" ] t.addbuildtargets('smoke_suite/test_resources/simple_dll/bld.inf', [ "createstaticdll_dll/armv5/udeb/CreateStaticDLL.o", "createstaticdll_dll/armv5/urel/CreateStaticDLL.o", "createstaticdll_dll/armv5smp/udeb/CreateStaticDLL.o", "createstaticdll_dll/armv5smp/urel/CreateStaticDLL.o" ]) t.run() return t
def run(): t = SmokeTest() t.name = "make_engine_filenames" t.description = "Can we pass the makefilename and stage name to emake options like --annofile etc?" t.mustmatch = [ ".*Executing.*emake.*historyfile=.*default\.history.*", ".*Executing.*emake.*annofile=.*\.default\.anno.*" ] t.mustnotmatch = [ ".*Executing.*emake.*historyfile=.*#STAGE#\.history.*", ".*Executing.*emake.*annofile=#MAKEFILE#\.anno.*" ] t.usebash = True t.errors = 1 t.returncode = 1 base_command = "sbs generate -b smoke_suite/test_resources/simple/bld.inf -f-" t.command = base_command + " -e emake --mo=--emake-annofile=#MAKEFILE#.anno --mo=--emake-historyfile=$(EPOCROOT)/epoc32/build/#STAGE#.history -k NOTARGET" t.run() t.print_result() return t
def run(): t = SmokeTest() t.id = "31" t.name = "listing" t.command = "sbs -b smoke_suite/test_resources/simple/bld.inf -c armv5 " + \ "-c winscw -k listing" t.targets = [ "$(SBS_HOME)/test/smoke_suite/test_resources/simple/test.armv5.urel.test.exe.lst", "$(SBS_HOME)/test/smoke_suite/test_resources/simple/test.armv5.udeb.test.exe.lst", "$(SBS_HOME)/test/smoke_suite/test_resources/simple/test.WINSCW.lst", "$(SBS_HOME)/test/smoke_suite/test_resources/simple/test1.armv5.urel.test.exe.lst", "$(SBS_HOME)/test/smoke_suite/test_resources/simple/test1.armv5.udeb.test.exe.lst", "$(SBS_HOME)/test/smoke_suite/test_resources/simple/test1.WINSCW.lst", "$(SBS_HOME)/test/smoke_suite/test_resources/simple/test2.armv5.urel.test.exe.lst", "$(SBS_HOME)/test/smoke_suite/test_resources/simple/test2.armv5.udeb.test.exe.lst", "$(SBS_HOME)/test/smoke_suite/test_resources/simple/test2.WINSCW.lst", "$(SBS_HOME)/test/smoke_suite/test_resources/simple/test3.armv5.urel.test.exe.lst", "$(SBS_HOME)/test/smoke_suite/test_resources/simple/test3.armv5.udeb.test.exe.lst", "$(SBS_HOME)/test/smoke_suite/test_resources/simple/test3.WINSCW.lst", "$(SBS_HOME)/test/smoke_suite/test_resources/simple/test4.armv5.urel.test.exe.lst", "$(SBS_HOME)/test/smoke_suite/test_resources/simple/test4.armv5.udeb.test.exe.lst", "$(SBS_HOME)/test/smoke_suite/test_resources/simple/test4.WINSCW.lst", "$(SBS_HOME)/test/smoke_suite/test_resources/simple/test5.armv5.urel.test.exe.lst", "$(SBS_HOME)/test/smoke_suite/test_resources/simple/test5.armv5.udeb.test.exe.lst", "$(SBS_HOME)/test/smoke_suite/test_resources/simple/test5.WINSCW.lst", "$(SBS_HOME)/test/smoke_suite/test_resources/simple/test6.armv5.urel.test.exe.lst", "$(SBS_HOME)/test/smoke_suite/test_resources/simple/test6.armv5.udeb.test.exe.lst", "$(SBS_HOME)/test/smoke_suite/test_resources/simple/test6.WINSCW.lst" ] t.run() return t
def run(): t = SmokeTest() t.id = "31" t.name = "listing" t.command = "sbs -b smoke_suite/test_resources/simple/bld.inf -c armv5 " + \ "-c winscw -k listing" t.targets = [ "$(SBS_HOME)/test/smoke_suite/test_resources/simple/test.armv5.urel.test.exe.lst", "$(SBS_HOME)/test/smoke_suite/test_resources/simple/test.armv5.udeb.test.exe.lst", "$(SBS_HOME)/test/smoke_suite/test_resources/simple/test.WINSCW.lst", "$(SBS_HOME)/test/smoke_suite/test_resources/simple/test1.armv5.urel.test.exe.lst", "$(SBS_HOME)/test/smoke_suite/test_resources/simple/test1.armv5.udeb.test.exe.lst", "$(SBS_HOME)/test/smoke_suite/test_resources/simple/test1.WINSCW.lst", "$(SBS_HOME)/test/smoke_suite/test_resources/simple/test2.armv5.urel.test.exe.lst", "$(SBS_HOME)/test/smoke_suite/test_resources/simple/test2.armv5.udeb.test.exe.lst", "$(SBS_HOME)/test/smoke_suite/test_resources/simple/test2.WINSCW.lst", "$(SBS_HOME)/test/smoke_suite/test_resources/simple/test3.armv5.urel.test.exe.lst", "$(SBS_HOME)/test/smoke_suite/test_resources/simple/test3.armv5.udeb.test.exe.lst", "$(SBS_HOME)/test/smoke_suite/test_resources/simple/test3.WINSCW.lst", "$(SBS_HOME)/test/smoke_suite/test_resources/simple/test4.armv5.urel.test.exe.lst", "$(SBS_HOME)/test/smoke_suite/test_resources/simple/test4.armv5.udeb.test.exe.lst", "$(SBS_HOME)/test/smoke_suite/test_resources/simple/test4.WINSCW.lst", "$(SBS_HOME)/test/smoke_suite/test_resources/simple/test5.armv5.urel.test.exe.lst", "$(SBS_HOME)/test/smoke_suite/test_resources/simple/test5.armv5.udeb.test.exe.lst", "$(SBS_HOME)/test/smoke_suite/test_resources/simple/test5.WINSCW.lst", "$(SBS_HOME)/test/smoke_suite/test_resources/simple/test6.armv5.urel.test.exe.lst", "$(SBS_HOME)/test/smoke_suite/test_resources/simple/test6.armv5.udeb.test.exe.lst", "$(SBS_HOME)/test/smoke_suite/test_resources/simple/test6.WINSCW.lst" ] t.run() return t
def run(): t = SmokeTest() t.id = "71" t.name = "metadep" t.description = """Tests metadata dependency generation. Changes to bld.infs and mmps can be detected.""" t.usebash = True t.command = """export SBSLOGFILE SBSMAKEFILE; bash smoke_suite/test_resources/metadep.sh 2>&1""" t.targets = [ ] t.mustmatch_multiline = [ """.*Step 1 .*no warnings or errors.* sbs: build log in.* \+ sleep 1.* .*make -rf .*epoc32/build/metadata_all.mk.* .*make.*epoc32/build/metadata_all.mk. is up to date.* Step 2 .* .*RE-RUNNING SBS with previous parameters.* Step 3 .* .*RE-RUNNING SBS with previous parameters.* .*RE-RUNNING SBS with previous parameters.*""" ] t.mustnotmatch_multiline = [ """RE-RUNNING SBS with previous parameters.* RE-RUNNING SBS with previous parameters.* RE-RUNNING SBS with previous parameters.* RE-RUNNING SBS with previous parameters.*""" ] t.run() return t
def run(): t = SmokeTest() t.id = "0096" t.name = "kdll_armv5" t.usebash = 1 t.command = "sbs -b smoke_suite/test_resources/simple_kdll/bld.inf -c armv5_urel -f-" t.targets = [ "$(EPOCROOT)/epoc32/release/armv5/urel/test_kdll.dll", "$(EPOCROOT)/epoc32/release/armv5/urel/test_kdll.dll.map", "$(EPOCROOT)/epoc32/release/armv5/urel/test_kdll.dll.sym" ] t.mustmatch = [ r".*\bksrt\d_\d\.lib\b.*", r".*\bekll\.lib\b.*" ] t.mustnotmatch = [ r".*usrt.*", r".*scppnwdl.*" ] t.run() return t
def run(): t = SmokeTest() t.id = "2" t.name = "exe_armv5_filtered" t.description = "Run exe_armv5 with a customised filter. Will create then" \ + " remove filter file" t.usebash = True t.command = "cp -f smoke_suite/test_resources/filter_test/testfilter.py ../raptor/plugins/testfilter.py " \ "&& chmod 600 ../raptor/plugins/testfilter.py " \ "&& sbs -b smoke_suite/test_resources/simple/bld.inf -c armv5 --filters=TestFilter " \ "&& rm -f ../raptor/plugins/testfilter.py*" t.targets = [ "$(EPOCROOT)/epoc32/release/armv5/udeb/test.exe", "$(EPOCROOT)/epoc32/release/armv5/udeb/test.exe.map", "$(EPOCROOT)/epoc32/release/armv5/urel/test.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/test.exe.map" ] t.addbuildtargets('smoke_suite/test_resources/simple/bld.inf', [ "test_/armv5/udeb/test.o", "test_/armv5/urel/test.o" ]) t.mustmatch = [ ".*Test Passed!.*" ] t.run() return t
def run(): t = SmokeTest() t.name = "dll_x86" t.description = "Build a basic DLL TARGETTYPE for x86" t.command = "sbs -b smoke_suite/test_resources/simple_dll/bld.inf -c x86" t.targets = [ "$(EPOCROOT)/epoc32/release/x86/udeb/createstaticdll.dll", "$(EPOCROOT)/epoc32/release/x86/udeb/createstaticdll.dll.map", "$(EPOCROOT)/epoc32/release/x86/urel/createstaticdll.dll", "$(EPOCROOT)/epoc32/release/x86/urel/createstaticdll.dll.map", "$(EPOCROOT)/epoc32/release/x86/lib/createstaticdll.lib", "$(EPOCROOT)/epoc32/release/x86/lib/createstaticdll{000a0000}.lib" ] t.addbuildtargets('smoke_suite/test_resources/simple_dll/bld.inf', [ "createstaticdll_dll/x86/udeb/CreateStaticDLL.o", "createstaticdll_dll/x86/udeb/CreateStaticDLL.o.d", "createstaticdll_dll/x86/urel/CreateStaticDLL.o", "createstaticdll_dll/x86/urel/CreateStaticDLL.o.d", "createstaticdll_dll/x86/udeb/createstaticdll_udeb_objects.via", "createstaticdll_dll/x86/urel/createstaticdll_urel_objects.via", ["createstaticdll_dll/x86/udeb/createstaticdll.prep", "createstaticdll_dll/x86/urel/createstaticdll.prep"], ["createstaticdll_dll/x86/udeb/createstaticdll.lib.exp", "createstaticdll_dll/x86/urel/createstaticdll.lib.exp"] ]) t.run("windows") return t
def run(): t = SmokeTest() t.id = "33" t.name = "exe_winscw" t.usebash = True t.command = "sbs -b smoke_suite/test_resources/simple/bld.inf -c winscw -m ${SBSMAKEFILE} -f ${SBSLOGFILE}; grep -E \"mwldsym2\" ${SBSLOGFILE}" t.targets = [ "$(EPOCROOT)/epoc32/release/winscw/udeb/test.exe", "$(EPOCROOT)/epoc32/release/winscw/urel/test.exe", "$(EPOCROOT)/epoc32/release/winscw/urel/test.exe.map" ] t.addbuildtargets('smoke_suite/test_resources/simple/bld.inf', [ "test_/winscw/udeb/test.o", "test_/winscw/udeb/test_.o", "test_/winscw/udeb/test_UID_.o", "test_/winscw/udeb/test.UID.CPP", "test_/winscw/urel/test.o", "test_/winscw/urel/test_.o", "test_/winscw/urel/test_UID_.o", "test_/winscw/urel/test.UID.CPP" ]) # Check that the default operator new library is used t.mustmatch = [ '.*mwldsym2.*scppnwdl.lib.*test.exe.*' ] t.run() return t
def run(): t = SmokeTest() t.name = "preprocess" t.usebash = True t.description = "Exercise the global PREPROCESS target" # Build component normally first for one config - resource generate .rsg files are #included in "straight" source # The PREPROCESS target does not resolve resource dependencies, but the test component is selected on the basis # that it will support the generation of resource .pre files in the future. addConfigs = "" addTargets = [] if t.onWindows: addConfigs = "-c x86_udeb" addTargets = [ "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_Application.cpp.x86.udeb.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_AppUi.cpp.x86.udeb.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_AppView.cpp.x86.udeb.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_Document.cpp.x86.udeb.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_Main.cpp.x86.udeb.helloworld.exe.pre" ] t.command = """ sbs -b smoke_suite/test_resources/simple_gui/Bld.inf -c armv5_urel && sbs -b smoke_suite/test_resources/simple_gui/Bld.inf -c armv5 -c winscw_urel -c armv7_udeb -c arm.v7.urel.gcce4_4_1 {0} preprocess """.format(addConfigs) t.targets = [ "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_Application.cpp.armv5.udeb.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_Application.cpp.armv5.urel.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_AppUi.cpp.armv5.udeb.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_AppUi.cpp.armv5.urel.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_AppView.cpp.armv5.udeb.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_AppView.cpp.armv5.urel.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_Document.cpp.armv5.udeb.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_Document.cpp.armv5.urel.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_Main.cpp.armv5.udeb.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_Main.cpp.armv5.urel.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_Application.cpp.winscw.urel.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_AppUi.cpp.winscw.urel.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_AppView.cpp.winscw.urel.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_Document.cpp.winscw.urel.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_Main.cpp.winscw.urel.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_Application.cpp.armv7.udeb.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_AppUi.cpp.armv7.udeb.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_AppView.cpp.armv7.udeb.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_Document.cpp.armv7.udeb.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_Main.cpp.armv7.udeb.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_Application.cpp.armv7.urel.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_AppUi.cpp.armv7.urel.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_AppView.cpp.armv7.urel.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_Document.cpp.armv7.urel.helloworld.exe.pre", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/HelloWorld_Main.cpp.armv7.urel.helloworld.exe.pre" ] + addTargets t.run() # Explicit clean-up due to the source tree nature of the generated files t.clean() return t
def run(): t = SmokeTest() t.description = "test mmpkeyword: traces" t.id = "108a" t.name = "traces_mmpkeyword" t.command = "sbs -b smoke_suite/test_resources/tracecompiler/traceon/group/bld.inf -c armv5.tracecompiler" t.targets = [ "$(EPOCROOT)/epoc32/release/armv5/udeb/traceon.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/traceon.exe", "$(EPOCROOT)/epoc32/release/armv5/udeb/traces_keyword.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/traces_keyword.exe", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/traceon/traces/traceon_exe/traceonTraces.h", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/traceon/traces/traces_keyword_exe/traces_keywordTraces.h", "$(EPOCROOT)/epoc32/ost_dictionaries/traceon_exe_0x11100010_Dictionary.xml", "$(EPOCROOT)/epoc32/ost_dictionaries/traces_keyword_exe_0x11100011_Dictionary.xml", "$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/traceon_exe_0x11100010_TraceDefinitions.h", "$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/traces_keyword_exe_0x11100011_TraceDefinitions.h" ] t.addbuildtargets( 'smoke_suite/test_resources/tracecompiler/traceon/group/bld.inf', [ "traceon_exe/armv5/udeb/traceon.o", "traceon_exe/armv5/urel/traceon.o", "traceon_exe/tracecompile_traceon_exe_11100010.done", "traces_keyword_exe/armv5/udeb/traces_keyword.o", "traces_keyword_exe/armv5/urel/traces_keyword.o", "traces_keyword_exe/tracecompile_traces_keyword_exe_11100011.done", ]) t.run() t.id = "108" t.name = "tracecompiler_new" return t
def run(): commonbuildfiles = [ "createstaticdll_dll/armv5/urel/CreateStaticDLL.o", "createstaticdll_dll/armv5/urel/CreateStaticDLL.o.d", "createstaticdll_dll/winscw/urel/CreateStaticDLL.o", "createstaticdll_dll/winscw/urel/CreateStaticDLL.o.d", "createstaticdll_dll/winscw/urel/createstaticdll.UID.CPP", "createstaticdll_dll/winscw/urel/createstaticdll_UID_.o.d" ] t = SmokeTest() t.id = "82" t.name = "output_control" t.description = "Test building intermediate files into a location other than $EPOCROOT/epoc32/build. Use SBS_BUILD_DIR. environment variable." t.sbs_build_dir = environ['EPOCROOT'].replace("\\","/").rstrip("/") + '/anotherbuilddir' t.environ['SBS_BUILD_DIR'] = t.sbs_build_dir t.command = "sbs -b smoke_suite/test_resources/simple_dll/bld.inf -c armv5_urel -c winscw_urel" t.targets = [ "$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll.dso", "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll{000a0000}.dso", "$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll.dll", "$(EPOCROOT)/epoc32/release/winscw/urel/createstaticdll.dll", "$(EPOCROOT)/epoc32/release/winscw/urel/createstaticdll.dll.map" ] t.addbuildtargets('smoke_suite/test_resources/simple_dll/bld.inf', commonbuildfiles) t.run() return t
def run(): t = SmokeTest() t.id = "22" t.name = "defs_armv7" t.command = "sbs -b smoke_suite/test_resources/defs/group/bld.inf -c armv7" t.targets = [ "$(EPOCROOT)/epoc32/release/armv7/udeb/deftest.dll.sym", "$(EPOCROOT)/epoc32/release/armv7/urel/deftest.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/lib/deftest{000a0000}.dso", "$(EPOCROOT)/epoc32/release/armv5/lib/deftest.dso", "$(EPOCROOT)/epoc32/release/armv7/udeb/deftest.dll", "$(EPOCROOT)/epoc32/release/armv7/udeb/deftest.dll.map", "$(EPOCROOT)/epoc32/release/armv7/urel/deftest.dll", "$(EPOCROOT)/epoc32/release/armv7/urel/deftest.dll.map", ] t.addbuildtargets( "smoke_suite/test_resources/defs/group/bld.inf", [ "deftest_/armv7/udeb/deftest_udeb_objects.via", "deftest_/armv7/udeb/test.o", "deftest_/armv7/urel/deftest_urel_objects.via", "deftest_/armv7/urel/test.o", ], ) t.run() return t
def run(): t = SmokeTest() t.usebash = True t.description = "Test that a timing log is created and contains total parse and build durations" t.id = "0103b" t.name = "timing_on" t.command = "sbs -b smoke_suite/test_resources/simple/bld.inf" + \ " --filters=FilterLogfile,FilterTiming -f ${SBSLOGFILE} && " + \ "grep progress:duration ${SBSLOGFILE}.timings" t.mustmatch = [ "^<progress:duration object_type='layer' task='parse' key='.*' duration='\d+.\d+' />$", "^<progress:duration object_type='layer' task='build' key='.*' duration='\d+.\d+' />$", "^<progress:duration object_type='all' task='all' key='all' duration='\d+.\d+' />$" ] t.mustnotmatch = [] t.run() t.id = "103" t.name = "timing" t.print_result() return t
def run(): t = SmokeTest() t.description = "test mmpkeyword: traces" t.id = "108a" t.name = "traces_mmpkeyword" t.command = "sbs -b smoke_suite/test_resources/tracecompiler/traceon/group/bld.inf -c armv5.tracecompiler" t.targets = [ "$(EPOCROOT)/epoc32/release/armv5/udeb/traceon.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/traceon.exe", "$(EPOCROOT)/epoc32/release/armv5/udeb/traces_keyword.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/traces_keyword.exe", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/traceon/traces/traceon_exe/traceonTraces.h", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/traceon/traces/traces_keyword_exe/traces_keywordTraces.h", "$(EPOCROOT)/epoc32/ost_dictionaries/traceon_exe_0x11100010_Dictionary.xml", "$(EPOCROOT)/epoc32/ost_dictionaries/traces_keyword_exe_0x11100011_Dictionary.xml", "$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/traceon_exe_0x11100010_TraceDefinitions.h", "$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/traces_keyword_exe_0x11100011_TraceDefinitions.h" ] t.addbuildtargets('smoke_suite/test_resources/tracecompiler/traceon/group/bld.inf', [ "traceon_exe/armv5/udeb/traceon.o", "traceon_exe/armv5/urel/traceon.o", "traceon_exe/tracecompile_traceon_exe_11100010.done", "traces_keyword_exe/armv5/udeb/traces_keyword.o", "traces_keyword_exe/armv5/urel/traces_keyword.o", "traces_keyword_exe/tracecompile_traces_keyword_exe_11100011.done", ]) t.run() t.id = "108" t.name = "tracecompiler_new" return t
def run(): t = SmokeTest() t.usebash = True if "SBS_ELF2E32" in os.environ: elf2e32 = os.environ["SBS_ELF2E32"] elif sys.platform.startswith("win"): elf2e32 = "$(EPOCROOT)/epoc32/tools/elf2e32.exe" else: elf2e32 = "$(EPOCROOT)/epoc32/tools/elf2e32" description = """This test attempts to check that an exe gets the capabilities that we requested. It's ARM specific since it uses elf2e32. Tries to demonstrate capabilties being turned off then on in the mmp.""" command = "sbs -b smoke_suite/test_resources/simple/capability.inf -c %s -m ${SBSMAKEFILE} -f ${SBSLOGFILE} && " + \ elf2e32 + " --dump=s --e32input=$(EPOCROOT)/epoc32/release/armv5/urel/test_capability.exe" targets = [ "$(EPOCROOT)/epoc32/release/armv5/urel/test_capability.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/test_capability.exe.map" ] buildtargets = [ ] mustmatch = [ "\s*Secure ID: 10003a5c$", "\s*Vendor ID: 00000000$", "\s*Capabilities: 00000000 000fffbf$", "\s*CommDD$", "\s*PowerMgmt$", "\s*MultimediaDD$", "\s*ReadDeviceData$", "\s*WriteDeviceData$", "\s*TrustedUI$", "\s*DiskAdmin$", "\s*NetworkControl$", "\s*AllFiles$", "\s*SwEvent$", "\s*NetworkServices$", "\s*LocalServices$", "\s*ReadUserData$", "\s*WriteUserData$", "\s*Location$", "\s*SurroundingsDD$", "\s*UserEnvironment$", "\s*TCB$" ] mustnotmatch = [ "DRM" ] warnings = 0 t.id = "0107" t.name = "capability_arm" t.description = description t.command = command % "arm.v5.urel.gcce4_4_1" t.targets = targets t.mustmatch = mustmatch t.mustnotmatch = mustnotmatch t.warnings = warnings t.run() return t
def run(): t = SmokeTest() rootcommand = "sbs -b smoke_suite/test_resources/simple_dll/bld.inf" targets = [ "$(EPOCROOT)/epoc32/release/armv7/udeb/createstaticdll.dll.sym", "$(EPOCROOT)/epoc32/release/armv7/urel/createstaticdll.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll.dso", "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll{000a0000}.dso", "$(EPOCROOT)/epoc32/release/armv7/udeb/createstaticdll.dll", "$(EPOCROOT)/epoc32/release/armv7/urel/createstaticdll.dll" ] buildtargets = [ "createstaticdll_dll/armv7/udeb/CreateStaticDLL.o", "createstaticdll_dll/armv7/urel/CreateStaticDLL.o", "createstaticdll_dll/armv7/udeb/armv7_specific.o", "createstaticdll_dll/armv7/urel/armv7_specific.o" ] t.id = "0011a" t.name = "dll_armv7_rvct" t.command = rootcommand + " -c armv7" t.targets = targets t.addbuildtargets("smoke_suite/test_resources/simple_dll/bld.inf", buildtargets) t.run() t.id = "0011b" t.name = "dll_armv7_clean" t.command = rootcommand + " -c armv7 clean" t.targets = [] t.run() t.id = "0011c" t.name = "dll_armv7_gcce" t.command = rootcommand + " -c arm.v7.udeb.gcce4_3_2 -c arm.v7.urel.gcce4_3_2" t.targets = targets t.addbuildtargets("smoke_suite/test_resources/simple_dll/bld.inf", buildtargets) t.run() t.id = "11" t.name = "dll_armv7" t.print_result() return t
def run(): t = SmokeTest() t.usebash = True t.command = "sbs -b smoke_suite/test_resources/simple_dll/bld.inf -c arm.v5.udeb.rvct4_0.linkerfeedback -c arm.v5.urel.rvct4_0.linkerfeedback -f-" gen_fdb_match = [ ".*armlink.*-o.*epoc32/release/armv5/udeb/createstaticdll.dll.sym.*--feedback=.*createstaticdll_dll/armv5/udeb/createstaticdll_udeb_feedback.fdb.*", ".*armlink.*-o.*epoc32/release/armv5/urel/createstaticdll.dll.sym.*--feedback=.*createstaticdll_dll/armv5/urel/createstaticdll_urel_feedback.fdb.*" ] use_fdb_match = [ ".*armcc.*--feedback=.*createstaticdll_dll/armv5/udeb/createstaticdll_udeb_feedback.fdb.*test/smoke_suite/test_resources/simple_dll/CreateStaticDLL.cpp.*", ".*armcc.*--feedback=.*createstaticdll_dll/armv5/urel/createstaticdll_urel_feedback.fdb.*test/smoke_suite/test_resources/simple_dll/CreateStaticDLL.cpp.*" ] t.name = "linkerfeedback_initial_build" t.targets = [ "$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll.dso", "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll{000a0000}.dso", "$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll.dll", "$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll.dll" ] t.addbuildtargets('smoke_suite/test_resources/simple_dll/bld.inf', [ "createstaticdll_dll/armv5/udeb/createstaticdll_udeb_feedback.fdb", "createstaticdll_dll/armv5/urel/createstaticdll_urel_feedback.fdb", "createstaticdll_dll/armv5/udeb/CreateStaticDLL.o", "createstaticdll_dll/armv5/urel/CreateStaticDLL.o" ]) t.mustmatch_singleline = gen_fdb_match t.mustnotmatch_singleline = use_fdb_match t.run() # Note: we neutralise the targets in the following in order to ensure # that they aren't cleaned from the initial build # Instead we confirm that the "right thing" happens in these next builds # in terms of tools calls based on the linker feedback files being present # and: # (a) newer than the object files (triggering re-compile and re-link) # (b) older than the object files (nothing to be done) t.name = "linkerfeedback_first_rebuild" t.targets = [] t.mustmatch_singleline = gen_fdb_match + use_fdb_match t.mustnotmatch_singleline = [] t.run() t.name = "linkerfeedback_second_rebuild" t.targets = [] t.mustmatch_singleline = [] t.mustnotmatch_singleline = gen_fdb_match + use_fdb_match t.run() t.name = "linkerfeedback" t.print_result() return t
def run(): t = SmokeTest() t.usebash = True t.command = "sbs -b smoke_suite/test_resources/simple_dll/bld.inf -c arm.v5.udeb.rvct4_0.linkerfeedback -c arm.v5.urel.rvct4_0.linkerfeedback -f-" gen_fdb_match = [ ".*armlink.*-o.*epoc32/release/armv5/udeb/createstaticdll.dll.sym.*--feedback=.*createstaticdll_dll/armv5/udeb/createstaticdll_udeb_feedback.fdb.*", ".*armlink.*-o.*epoc32/release/armv5/urel/createstaticdll.dll.sym.*--feedback=.*createstaticdll_dll/armv5/urel/createstaticdll_urel_feedback.fdb.*" ] use_fdb_match = [ ".*armcc.*--feedback=.*createstaticdll_dll/armv5/udeb/createstaticdll_udeb_feedback.fdb.*test/smoke_suite/test_resources/simple_dll/CreateStaticDLL.cpp.*", ".*armcc.*--feedback=.*createstaticdll_dll/armv5/urel/createstaticdll_urel_feedback.fdb.*test/smoke_suite/test_resources/simple_dll/CreateStaticDLL.cpp.*" ] t.name = "linkerfeedback_initial_build" t.targets = [ "$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll.dso", "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll{000a0000}.dso", "$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll.dll", "$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll.dll" ] t.addbuildtargets('smoke_suite/test_resources/simple_dll/bld.inf', [ "createstaticdll_dll/armv5/udeb/createstaticdll_udeb_feedback.fdb", "createstaticdll_dll/armv5/urel/createstaticdll_urel_feedback.fdb", "createstaticdll_dll/armv5/udeb/CreateStaticDLL.o", "createstaticdll_dll/armv5/urel/CreateStaticDLL.o" ]) t.mustmatch_singleline = gen_fdb_match t.mustnotmatch_singleline = use_fdb_match t.run() # Note: we neutralise the targets in the following in order to ensure # that they aren't cleaned from the initial build # Instead we confirm that the "right thing" happens in these next builds # in terms of tools calls based on the linker feedback files being present # and: # (a) newer than the object files (triggering re-compile and re-link) # (b) older than the object files (nothing to be done) t.name = "linkerfeedback_first_rebuild" t.targets = [] t.mustmatch_singleline = gen_fdb_match + use_fdb_match t.mustnotmatch_singleline = [] t.run() t.name = "linkerfeedback_second_rebuild" t.targets = [] t.mustmatch_singleline = [] t.mustnotmatch_singleline = gen_fdb_match + use_fdb_match t.run() t.name = "linkerfeedback" t.print_result() return t
def run(): t = SmokeTest() rootcommand = "sbs -b smoke_suite/test_resources/simple_dll/bld.inf" targets = [ "$(EPOCROOT)/epoc32/release/armv7/udeb/createstaticdll.dll.sym", "$(EPOCROOT)/epoc32/release/armv7/urel/createstaticdll.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll.dso", "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll{000a0000}.dso", "$(EPOCROOT)/epoc32/release/armv7/udeb/createstaticdll.dll", "$(EPOCROOT)/epoc32/release/armv7/urel/createstaticdll.dll" ] buildtargets = [ "createstaticdll_dll/armv7/udeb/CreateStaticDLL.o", "createstaticdll_dll/armv7/urel/CreateStaticDLL.o", "createstaticdll_dll/armv7/udeb/armv7_specific.o", "createstaticdll_dll/armv7/urel/armv7_specific.o" ] t.id = "0011a" t.name = "dll_armv7_rvct" t.command = rootcommand + " -c armv7" t.targets = targets t.addbuildtargets("smoke_suite/test_resources/simple_dll/bld.inf", buildtargets) t.run() t.id = "0011b" t.name = "dll_armv7_clean" t.command = rootcommand + " -c armv7 clean" t.targets = [] t.run() t.id = "0011c" t.name = "dll_armv7_gcce" t.command = rootcommand + " -c arm.v7.udeb.gcce4_3_2 -c arm.v7.urel.gcce4_3_2" t.targets = targets t.addbuildtargets("smoke_suite/test_resources/simple_dll/bld.inf", buildtargets) t.run() t.id = "11" t.name = "dll_armv7" t.print_result() return t
def run(): t = SmokeTest() t.description = "Set of tests for commandline option validation e.g. checking that the specified make engine exists" t.usebash = True t.errors = 1 t.returncode = 1 t.exceptions = 0 base_command = "sbs -b smoke_suite/test_resources/simple/bld.inf -f ${SBSLOGFILE} -m ${SBSMAKEFILE}" t.id = "42562a" t.name = "validate_makeengine_nonexist" t.command = base_command + " -e amakeenginethatdoesnotexist" t.mustmatch = [ "Unable to use make engine: 'amakeenginethatdoesnotexist' does not appear to be a make engine - no settings found for it" ] t.run() t.id = "43562b" t.mustmatch = [ "Unable to use make engine: 'arm' is not a build engine \(it's a variant but it does not extend 'make_engine'" ] t.name = "validate_makeengine_is_a_non_makengine_variant" t.command = base_command + " -e arm" t.run() # aliases can be of the form name='blah' meaning='x.y.z' i.e. where the alias is for a sequence of variants # this tests that we detect that at least one of these variants has make_engine as a parent # it is possible for one of them not to and we mustn't bomb-out just because of that t.id = "43562c" t.mustmatch = [] t.name = "validate_real_dfs_modded_makeengine_alias" t.command = "export HOME=$SBS_HOME/test/custom_options/dfsconfig; " + base_command + " -e dfstestmake -c arm.v5.urel.gcce4_4_1" t.errors = 0 t.warnings = 0 t.returncode = 0 t.run() t.id = "43562" t.name = "input_validation" t.print_result() return t
def run(): t = SmokeTest() t.id = "80" t.name = "sbs_with_nonexisting_bldinf" t.description = "Test if sbs generates warning if invoked without bld.inf specified i.e. using default bld.inf which doesn't exist" t.command = "mkdir ${EPOCROOT}/emptydir; rm ${EPOCROOT}/emptydir/*; cd ${EPOCROOT}/emptydir; sbs -f ${SBSLOGFILE} -m {SBSMAKEFILE}" t.usebash = True t.warnings = 1 t.run() return t
def run(): t = SmokeTest() t.name = "exported_flm_extension" t.command = "sbs -b smoke_suite/test_resources/simple_extension/flm_bld.inf -c armv5" t.targets = [ "$(EPOCROOT)/epoc32/build/flm_test_1_2", "$(EPOCROOT)/epoc32/tools/makefile_templates/tools/flm_export.xml", "$(EPOCROOT)/epoc32/tools/makefile_templates/tools/flm_export.flm" ] t.run() t.name = "per_component_flm" t.usebash = True t.command = "sbs --configpath=test/smoke_suite/test_resources/docs" + \ " -b smoke_suite/test_resources/simple_dll/bld.inf" + \ " -b smoke_suite/test_resources/simple_lib/bld.inf" + \ " -b smoke_suite/test_resources/tools2/bld.inf" + \ " -c armv5.documentation -c tools2.documentation -f-" t.targets = [ "$(EPOCROOT)/epoc32/docs/simple_dll.txt", "$(EPOCROOT)/epoc32/docs/CreateStaticDLL.mmp", "$(EPOCROOT)/epoc32/docs/simple_lib.txt", "$(EPOCROOT)/epoc32/docs/simple.mmp", "$(EPOCROOT)/epoc32/docs/tools2.txt", "$(EPOCROOT)/epoc32/docs/tool_exe.mmp", "$(EPOCROOT)/epoc32/docs/tool_lib1.mmp", "$(EPOCROOT)/epoc32/docs/tool_lib2.mmp" ] t.mustmatch = [ "simple_dll.txt uses " + ReplaceEnvs(t.targets[1]), "simple_lib.txt uses " + ReplaceEnvs(t.targets[3]), "tools2.txt uses " + ReplaceEnvs(t.targets[5]) + " " + \ ReplaceEnvs(t.targets[6]) + " " + \ ReplaceEnvs(t.targets[7]) ] t.run() t.name = "flm_extension" t.print_result() return t
def run(): t = SmokeTest() t.name = "armv5_stringtable" t.command = "sbs -b smoke_suite/test_resources/simple_stringtable/bld.inf -c armv5" t.targets = ["$(EPOCROOT)/epoc32/include/strconsts.h"] t.addbuildtargets( 'smoke_suite/test_resources/simple_stringtable/bld.inf', ["stringtabletest_/strconsts.h", "stringtabletest_/strconsts.cpp"]) t.run() return t
def run(): t = SmokeTest() t.id = "50" t.name = "sysdef_dud" t.description = "Test an invalid system_definition.xml file" t.command = "sbs -s " + "smoke_suite/test_resources/sysdef/system_definition_dud.xml" t.targets = [] t.errors = 1 t.returncode = 1 t.run() return t
def run(): t = SmokeTest() t.id = "46" t.name = "wrong_projectname" t.description = "Test -p with wrong project name" t.command = "sbs -b smoke_suite/test_resources/basics/helloworld/Bld.inf " \ + "-p wrongname1.mmp -p wrongname2.mmp" t.targets = [] t.warnings = 2 # One for armv5, one for winscw. t.run() return t
def run(): t = SmokeTest() t.name = "exported_flm_extension" t.command = "sbs -b smoke_suite/test_resources/simple_extension/flm_bld.inf -c armv5" t.targets = [ "$(EPOCROOT)/epoc32/build/flm_test_1_2", "$(EPOCROOT)/epoc32/tools/makefile_templates/tools/flm_export.xml", "$(EPOCROOT)/epoc32/tools/makefile_templates/tools/flm_export.flm" ] t.run() t.name = "per_component_flm" t.usebash = True t.command = "sbs --configpath=test/smoke_suite/test_resources/docs" + \ " -b smoke_suite/test_resources/simple_dll/bld.inf" + \ " -b smoke_suite/test_resources/simple_lib/bld.inf" + \ " -b smoke_suite/test_resources/tools2/bld.inf" + \ " -c armv5.documentation -c tools2.documentation -f-" t.targets = [ "$(EPOCROOT)/epoc32/docs/simple_dll.txt", "$(EPOCROOT)/epoc32/docs/CreateStaticDLL.mmp", "$(EPOCROOT)/epoc32/docs/simple_lib.txt", "$(EPOCROOT)/epoc32/docs/simple.mmp", "$(EPOCROOT)/epoc32/docs/tools2.txt", "$(EPOCROOT)/epoc32/docs/tool_exe.mmp", "$(EPOCROOT)/epoc32/docs/tool_lib1.mmp", "$(EPOCROOT)/epoc32/docs/tool_lib2.mmp" ] t.mustmatch = [ "simple_dll.txt uses " + ReplaceEnvs(t.targets[1]), "simple_lib.txt uses " + ReplaceEnvs(t.targets[3]), "tools2.txt uses " + ReplaceEnvs(t.targets[5]) + " " + \ ReplaceEnvs(t.targets[6]) + " " + \ ReplaceEnvs(t.targets[7]) ] t.run() t.name = "flm_extension" t.print_result() return t
def run(): t = SmokeTest() t.id = "50" t.name = "sysdef_dud" t.description = "Test an invalid system_definition.xml file" t.command = "sbs -s " + \ "smoke_suite/test_resources/sysdef/system_definition_dud.xml" t.targets = [] t.errors = 1 t.returncode = 1 t.run() return t
def run(): t = SmokeTest() t.description = "test that long commands time out and get retried" exitCode = "128" t.id = "60a" t.name = "timeout" t.usebash = True t.command = "sbs -b smoke_suite/test_resources/timeout/bld.inf -f -" t.mustmatch_singleline = [ "status exit='failed' code='" + exitCode + "' attempt='1' reason='timeout'", ] t.errors = -1 t.returncode = 1 t.run() t.id = "60b" t.name = "timeout with retries" t.usebash = True t.command = "sbs -b smoke_suite/test_resources/timeout/bld.inf -t 3 -f -" t.mustmatch_singleline = [ "status exit='retry' code='" + exitCode + "' attempt='1' reason='timeout'", "status exit='retry' code='" + exitCode + "' attempt='2' reason='timeout'", "status exit='failed' code='" + exitCode + "' attempt='3' reason='timeout'", ] t.errors = -1 t.returncode = 1 t.run() t.id = "60" t.name = "timeout" t.print_result() return t
def run(): t = SmokeTest() t.id = "113" t.name = "make_engine_errors" t.description = "Errors reported by gmake and emake should be escaped to ensure that the logs are valid XML" t.mustmatch_singleline = [ "Circular b <- a dependency", "non_existent_&_needs_escaping.txt" ] t.mustnotmatch_singleline = [ "Circular b <- a dependency", "non_existent_&_needs_escaping.txt" ] t.usebash = True t.errors = 1 t.returncode = 1 base_command = "sbs --no-depend-generate -b smoke_suite/test_resources/make_engine_errors/bld.inf -f-" t.id = "113a" t.name = "gmake_engine_errors" t.command = base_command + " -e make" t.run() t.id = "113b" t.name = "emake_engine_errors" t.command = base_command + " -e emake" t.run() t.id = "113c" t.name = "emake_engine_errors_with_merged_streams" t.command = base_command + " -e emake --mo=--emake-mergestreams=1" t.run() t.id = "113" t.name = "make_engine_errors" 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.id = "36" t.name = "implib_winscw" t.command = "sbs -b smoke_suite/test_resources/simple_implib/bld.inf -c " \ + "winscw LIBRARY" t.targets = ["$(EPOCROOT)/epoc32/release/winscw/udeb/simple_implib.lib"] t.addbuildtargets('smoke_suite/test_resources/simple_implib/bld.inf', [[ "simple_implib_lib/winscw/udeb/simple_implib.prep.def", "simple_implib_lib/winscw/urel/simple_implib.prep.def" ]]) t.run() return t
def run(): t = SmokeTest() t.name = "missing_keywords" t.command = "sbs -b smoke_suite/test_resources/invalid_metadata/bld.inf -c armv5" t.mustmatch_singleline = [ "sbs: error: required keyword TARGET is missing" ] t.errors = 1 t.returncode = 1 t.run() return t