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