13
|
1 |
#
|
|
2 |
# Copyright (c) 2010 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 |
# Unit Test for the Raptor_cli (command line interface) module
|
|
18 |
|
|
19 |
import raptor_cli
|
|
20 |
import sys
|
|
21 |
import unittest
|
|
22 |
import os,subprocess
|
|
23 |
import re
|
|
24 |
|
|
25 |
class TestRaptorCli(unittest.TestCase):
|
|
26 |
|
|
27 |
def setUp(self):
|
|
28 |
sbsHome = os.environ["SBS_HOME"]
|
|
29 |
self.windows = sys.platform.lower().startswith("win")
|
|
30 |
|
|
31 |
self.doExportsOnly = False
|
|
32 |
self.whatDir = sbsHome + "/test/simple"
|
|
33 |
self.listconfig=[]
|
|
34 |
self.bldinfvalue=[]
|
|
35 |
self.makeoptions=[]
|
|
36 |
self.sysdeflayers=[]
|
|
37 |
self.sysdeforderlayers = True
|
|
38 |
self.whatlist = []
|
|
39 |
self.targets = []
|
|
40 |
self.regexpwin = re.compile(r"^[A-Za-z]:\\",re.I)
|
|
41 |
self.RunningQuiet = False
|
|
42 |
self.allowCommandLineOverrides = True
|
|
43 |
self.ignoreOsDetection = False
|
|
44 |
self.filterList = "filter_terminal,filter_logfile"
|
|
45 |
self.noDependInclude = False
|
|
46 |
self.noDependGenerate = False
|
|
47 |
|
|
48 |
def AddConfigName(self,configname):
|
|
49 |
self.listconfig.append(configname)
|
|
50 |
return True
|
|
51 |
|
|
52 |
def AddConfigList(self,configlist):
|
|
53 |
return True
|
|
54 |
|
|
55 |
def AddSpecFile(self,specfilename):
|
|
56 |
self.listspec.append(specfilename)
|
|
57 |
return True
|
|
58 |
|
|
59 |
def SetRoot(self,root):
|
|
60 |
self.rootvalue = root
|
|
61 |
return True
|
|
62 |
|
|
63 |
def SetCheck(self,check):
|
|
64 |
self.doCheck = check
|
|
65 |
return True
|
|
66 |
|
|
67 |
def SetWhat(self,what):
|
|
68 |
self.doWhat = what
|
|
69 |
return True
|
|
70 |
|
|
71 |
def SetTries(self,tries):
|
|
72 |
self.tries = tries
|
|
73 |
return True
|
|
74 |
|
|
75 |
def SetSysDefFile(self,sysdef):
|
|
76 |
self.sysdefvalue = sysdef
|
|
77 |
return True
|
|
78 |
|
|
79 |
def SetSysDefBase(self,sysdefbase):
|
|
80 |
self.sysdefbasevalue = sysdefbase
|
|
81 |
return True
|
|
82 |
|
|
83 |
def AddSysDefLayer(self,sysdeflayer):
|
|
84 |
self.sysdeflayers.append(sysdeflayer)
|
|
85 |
return True
|
|
86 |
|
|
87 |
def SetSysDefOrderLayers(self,sysdeforderlayers):
|
|
88 |
self.sysdeflayers = sysdeforderlayers
|
|
89 |
return True
|
|
90 |
|
|
91 |
def AddBuildInfoFile(self,bldinf):
|
|
92 |
self.bldinfvalue.append(bldinf)
|
|
93 |
return True
|
|
94 |
|
|
95 |
def RunQuietly(self,QuietMode):
|
|
96 |
self.RunningQuiet = QuietMode
|
|
97 |
return True
|
|
98 |
|
|
99 |
def SetTopMakefile(self,topmake):
|
|
100 |
self.topmake = topmake
|
|
101 |
return True
|
|
102 |
|
|
103 |
def SetLogFileName(self, logfile):
|
|
104 |
self.logFileName = logfile
|
|
105 |
return True
|
|
106 |
|
|
107 |
def SetMakeEngine(self, engine):
|
|
108 |
self.makeEngine = engine
|
|
109 |
return True
|
|
110 |
|
|
111 |
def AddMakeOption(self, makeOption):
|
|
112 |
self.makeOptions.append(makeOption)
|
|
113 |
return True
|
|
114 |
|
|
115 |
def SetDebugOutput(self, filename):
|
|
116 |
return True
|
|
117 |
|
|
118 |
def SetExportOnly(self, yesOrNo):
|
|
119 |
self.doExportOnly = yesOrNo
|
|
120 |
return True
|
|
121 |
|
|
122 |
def SetNoExport(self, yesOrNo):
|
|
123 |
self.doExport = not yesOrNo
|
|
124 |
return True
|
|
125 |
|
|
126 |
def SetKeepGoing(self, yesOrNo):
|
|
127 |
return True
|
|
128 |
|
|
129 |
def SetNoBuild(self, yesOrNo):
|
|
130 |
return True
|
|
131 |
|
|
132 |
def SetNoDependInclude(self, yesOrNo):
|
|
133 |
self.noDependInclude = yesOrNo
|
|
134 |
return True
|
|
135 |
|
|
136 |
def SetNoDependGenerate(self, yesOrNo):
|
|
137 |
self.noDependGenerate = yesOrNo
|
|
138 |
return True
|
|
139 |
|
|
140 |
def SetJobs(self, N):
|
|
141 |
return True
|
|
142 |
|
|
143 |
def SetToolCheck(self, toolcheck):
|
|
144 |
return True
|
|
145 |
|
|
146 |
def SetTiming(self, yesOrNo):
|
|
147 |
return True
|
|
148 |
|
|
149 |
def SetParallelParsing(self, onoroff):
|
|
150 |
self.pp=onoroff
|
|
151 |
return True
|
|
152 |
|
|
153 |
def AddProject(self, project):
|
|
154 |
return True
|
|
155 |
|
18
|
156 |
def AddQuery(self, query):
|
|
157 |
return True
|
|
158 |
|
13
|
159 |
def PrintVersion(self):
|
|
160 |
return True
|
|
161 |
|
|
162 |
def Info(self, format, *extras):
|
|
163 |
"Send an information message to the configured channel"
|
|
164 |
if self.RunningQuiet==False:
|
|
165 |
sys.stdout.write(("INFO: " + format + "\n") % extras)
|
|
166 |
|
|
167 |
def Warn(self, format, *extras):
|
|
168 |
"Send a warning message to the configured channel"
|
|
169 |
sys.stdout.write(("WARNING: " + format + "\n") % extras)
|
|
170 |
|
|
171 |
def IgnoreOsDetection(self, value):
|
|
172 |
self.ignoreOsDetection = value
|
|
173 |
return True
|
|
174 |
|
|
175 |
def FilterList(self, value):
|
|
176 |
self.filterList = value
|
|
177 |
return True
|
|
178 |
|
|
179 |
def AddSourceTarget(self, filename):
|
|
180 |
self.targets.append(filename)
|
|
181 |
|
|
182 |
def testDoRaptor(self):
|
|
183 |
args = ['-c','config1',
|
|
184 |
'-c','config name with spaces',
|
|
185 |
'-s', 'wrong_file.xml',
|
|
186 |
'--sysdef', 'system_definition.xml',
|
|
187 |
'-a', 'wrong_base_dir',
|
|
188 |
'--sysdefbase', 'C:\definitions',
|
|
189 |
'-l', 'a_layer',
|
|
190 |
'--layer', 'b_layer',
|
|
191 |
'-b', 'bld1.inf',
|
|
192 |
'--bldinf', 'bld2.inf',
|
|
193 |
'-f', 'a_log_file.log',
|
|
194 |
'-m', 'top.mk',
|
|
195 |
'--makefile', '/home/Makefile',
|
|
196 |
'--filters', 'filter_01,filter_02',
|
|
197 |
'--export-only',
|
|
198 |
'--source-target', 'some_source_file.cpp',
|
|
199 |
'--source-target', 'some_resource_file.rss',
|
|
200 |
'--pp', 'on',
|
|
201 |
'--no-depend-include',
|
|
202 |
'--no-depend-generate']
|
|
203 |
|
|
204 |
raptor_cli.GetArgs(self,args)
|
|
205 |
self.assertEqual(self.RunningQuiet,False)
|
|
206 |
self.assertEqual(self.listconfig[0],'config1')
|
|
207 |
self.assertEqual(self.listconfig[1],'config name with spaces')
|
|
208 |
self.assertEqual(self.sysdefvalue,'system_definition.xml')
|
|
209 |
self.assertEqual(self.sysdefbasevalue,'C:\\definitions')
|
|
210 |
self.assertEqual(self.sysdeflayers[0],'a_layer')
|
|
211 |
self.assertEqual(self.sysdeflayers[1],'b_layer')
|
|
212 |
self.assertEqual(self.bldinfvalue[0],'bld1.inf')
|
|
213 |
self.assertEqual(self.bldinfvalue[1],'bld2.inf')
|
|
214 |
self.assertEqual(self.topmake,'/home/Makefile')
|
|
215 |
self.assertEqual(self.logFileName,'a_log_file.log')
|
|
216 |
self.assertEqual(self.filterList,'filter_01,filter_02')
|
|
217 |
self.assertEqual(self.doExportOnly,True)
|
|
218 |
self.assertEqual(self.targets[0], 'some_source_file.cpp')
|
|
219 |
self.assertEqual(self.targets[1], 'some_resource_file.rss')
|
|
220 |
self.assertEqual(self.pp, 'on')
|
|
221 |
self.assertEqual(self.noDependInclude, True)
|
|
222 |
self.assertEqual(self.noDependGenerate, True)
|
|
223 |
|
|
224 |
# run all the tests
|
|
225 |
|
|
226 |
from raptor_tests import SmokeTest
|
|
227 |
|
|
228 |
def run():
|
|
229 |
t = SmokeTest()
|
|
230 |
t.id = "999"
|
|
231 |
t.name = "raptor_cli_unit"
|
|
232 |
|
|
233 |
tests = unittest.makeSuite(TestRaptorCli)
|
|
234 |
result = unittest.TextTestRunner(verbosity=2).run(tests)
|
|
235 |
|
|
236 |
if result.wasSuccessful():
|
|
237 |
t.result = SmokeTest.PASS
|
|
238 |
else:
|
|
239 |
t.result = SmokeTest.FAIL
|
|
240 |
|
|
241 |
return t
|