sbsv2/raptor/test/smoke_suite/romfile.py
changeset 3 e1eecf4d390d
child 625 a1925fb7753a
equal deleted inserted replaced
1:be27ed110b50 3:e1eecf4d390d
       
     1 #
       
     2 # Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
       
     3 # All rights reserved.
       
     4 # This component and the accompanying materials are made available
       
     5 # under the terms of the License "Eclipse Public License v1.0"
       
     6 # which accompanies this distribution, and is available
       
     7 # at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 #
       
     9 # Initial Contributors:
       
    10 # Nokia Corporation - initial contribution.
       
    11 #
       
    12 # Contributors:
       
    13 #
       
    14 # Description: 
       
    15 #
       
    16 
       
    17 
       
    18 from raptor_tests import SmokeTest
       
    19 import os
       
    20 
       
    21 def run():
       
    22 	t = SmokeTest()
       
    23 	t.id = "55"
       
    24 	t.name = "romfile"
       
    25 	t.description = """
       
    26 		Tests the creation and content of an .iby romfile for the armv5.test
       
    27 		configuration. Also tests for creation of relevant test batch files.
       
    28 		"""
       
    29 	t.usebash = True
       
    30 	t.command = "sbs -b $(EPOCROOT)/src/ongoing/group/romfile/other_name.inf " \
       
    31 			+ "-c armv5.test ROMFILE -f - " \
       
    32 			+ "&& cat $(EPOCROOT)/epoc32/rom/src/ongoing/group/romfile/armv5test.iby"
       
    33 	
       
    34 	# Don't allow -m or -f to be appended
       
    35 	t.logfileOption = lambda :""
       
    36 	t.makefileOption = lambda :""
       
    37 	t.targets = [
       
    38 		"$(EPOCROOT)/epoc32/rom/src/ongoing/group/romfile/armv5test.iby",
       
    39 		"$(EPOCROOT)/epoc32/data/z/test/src/armv5.auto.bat",
       
    40 		"$(EPOCROOT)/epoc32/data/z/test/src/armv5.manual.bat"
       
    41 		]
       
    42 
       
    43 	# Check the content of the generated .iby file.
       
    44 
       
    45 	t.mustmatch = [
       
    46 		# Check whatlog output includes batch files and .iby file
       
    47 		r".*/epoc32/rom/src/ongoing/group/romfile/armv5test.iby</build>.*",
       
    48 		r".*/epoc32/data/z/test/src/armv5.auto.bat</build>.*",
       
    49 		r".*/epoc32/data/z/test/src/armv5.manual.bat</build>.*",
       
    50 		
       
    51 		# The comment that is put at the start of the file.
       
    52 		r".*// epoc32/rom/src/ongoing/group/romfile/armv5test\.iby\n.*",
       
    53 
       
    54 		# The batch files that are added by the build system.
       
    55 		r".*\ndata=/epoc32/data/z/test/src/armv5\.auto\.bat test/src\.auto\.bat\n.*",
       
    56 		r".*\ndata=/epoc32/data/z/test/src/armv5\.manual\.bat test/src\.manual\.bat\n.*",
       
    57 
       
    58 		# Some normal files.
       
    59 		r".*\nfile=/epoc32/release/##MAIN##/##BUILD##/t_rand\.exe\s+sys/bin/t_rand\.exe\n.*",
       
    60 		r".*\nfile=/epoc32/release/##MAIN##/##BUILD##/t_swapfsys\.exe\s+sys/bin/t_swapfsys\.exe\n.*",
       
    61 		r".*\nfile=/epoc32/release/##MAIN##/##BUILD##/t_localtime\.exe\s+sys/bin/t_localtime\.exe\n.*",
       
    62 
       
    63 		# Some files where the MMP file has the PAGED or UNPAGED keywords.
       
    64 		r".*\nfile=/epoc32/release/##MAIN##/##BUILD##/t_pagestress\.exe\s+sys/bin/t_pagestress\.exe paged\n.*",
       
    65 		r".*\nfile=/epoc32/release/##MAIN##/##BUILD##/t_fsys\.exe\s+sys/bin/t_fsys\.exe unpaged\n.*",
       
    66 
       
    67 		# Some files where the MMP file has the ROMTARGET or RAMTARGET keywords.
       
    68 		r".*\ndata=/epoc32/release/##MAIN##/##BUILD##/t_prel\.dll\s+/sys/bin/t_prel\.dll attrib=r\n.*",
       
    69 		r".*\nfile=/epoc32/release/##MAIN##/##BUILD##/t_sysbin\.exe\s+sys/bin/t_sysbin\.exe\n.*",
       
    70 		r".*\ndata=/epoc32/release/##MAIN##/##BUILD##/t_sysbin\.exe\s+/sys/bin/t_sysbin_ram\.exe attrib=r\n.*",
       
    71 		r".*\nfile=/epoc32/release/##MAIN##/##BUILD##/t_sysbin\.exe\s+/sys/bin/t_sysbina\.exe\n.*",
       
    72 		r".*\nfile=/epoc32/release/##MAIN##/##BUILD##/t_sysbin\.exe\s+/system/programs/t_sysbinb\.exe\n.*"
       
    73 		]
       
    74 	t.mustnotmatch = [
       
    75 		# Try to detect file paths that contain two or more slashes in a row,
       
    76 		# without flagging C++ style comments.
       
    77 		r"\w//+\w"
       
    78 		]
       
    79 
       
    80 	t.run("windows")
       
    81 
       
    82 	if t.result == SmokeTest.SKIP:
       
    83 		t.command = "sbs -b $(EPOCROOT)/src/ongoing/group/romfile/other_name.inf" \
       
    84 				+ " -c armv5.test ROMFILE -f -" \
       
    85 				+ " && cat $(EPOCROOT)/epoc32/rom/src/ongoing/group/romfile/armv5test.iby"
       
    86 
       
    87 		# These two warnings are because gnumakefiles are not supported on
       
    88 		# Linux:
       
    89 		t.warnings = 2
       
    90 		t.run("linux")
       
    91 
       
    92 	return t