sbsv2/raptor/test/unit_suite/raptor_cli_unit.py
changeset 3 e1eecf4d390d
child 29 ee00c00df073
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/unit_suite/raptor_cli_unit.py	Mon Nov 16 09:46:46 2009 +0000
@@ -0,0 +1,220 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+1# Unit Test for the Raptor_cli (command line interface) module
+
+import raptor_cli
+import sys
+import unittest
+import os,subprocess
+import re
+
+class TestRaptorCli(unittest.TestCase):
+
+	def setUp(self):
+		sbsHome = os.environ["SBS_HOME"]
+		self.windows = sys.platform.lower().startswith("win")
+		
+		self.doExportsOnly = False
+		self.whatDir = sbsHome + "/test/simple"
+		self.listconfig=[]
+		self.bldinfvalue=[]
+		self.makeoptions=[]
+		self.sysdeflayers=[]
+		self.sysdeforderlayers = True
+		self.whatlist = []
+		self.targets = []
+		self.regexpwin = re.compile(r"^[A-Za-z]:\\",re.I)
+		self.RunningQuiet = False
+		self.allowCommandLineOverrides = True
+		self.ignoreOsDetection = False
+		self.filterList = "filter_terminal,filter_logfile"
+		
+	def AddConfigName(self,configname):
+		self.listconfig.append(configname)
+		return True
+
+	def AddConfigList(self,configlist):
+		return True
+
+	def AddSpecFile(self,specfilename):
+		self.listspec.append(specfilename)
+		return True
+
+	def SetRoot(self,root):
+		self.rootvalue = root
+		return True
+	
+	def SetCheck(self,check):
+		self.doCheck = check
+		return True
+	
+	def SetWhat(self,what):
+		self.doWhat = what
+		return True
+	
+	def SetTries(self,tries):
+		self.tries = tries
+		return True
+		
+	def SetSysDefFile(self,sysdef):
+		self.sysdefvalue = sysdef
+		return True
+			
+	def SetSysDefBase(self,sysdefbase):
+		self.sysdefbasevalue = sysdefbase
+		return True
+
+	def AddSysDefLayer(self,sysdeflayer):
+		self.sysdeflayers.append(sysdeflayer)
+		return True
+
+	def SetSysDefOrderLayers(self,sysdeforderlayers):
+		self.sysdeflayers = sysdeforderlayers
+		return True
+
+	def AddBuildInfoFile(self,bldinf):
+		self.bldinfvalue.append(bldinf)
+		return True
+
+	def RunQuietly(self,QuietMode):
+		self.RunningQuiet = QuietMode
+		return True
+
+	def SetTopMakefile(self,topmake):
+		self.topmake = topmake
+		return True
+	
+	def SetLogFileName(self, logfile):
+		self.logFileName = logfile
+		return True
+		
+	def SetMakeEngine(self, engine):
+		self.makeEngine = engine
+		return True
+		
+	def AddMakeOption(self, makeOption):
+		self.makeOptions.append(makeOption)
+		return True
+			
+	def SetDebugOutput(self, filename):
+		return True
+		
+	def SetExportOnly(self, yesOrNo):
+		self.doExportOnly = yesOrNo
+		return True
+	
+	def SetKeepGoing(self, yesOrNo):
+		return True
+	
+	def SetNoBuild(self, yesOrNo):
+		return True
+	
+	def SetNoDependInclude(self, yesOrNo):
+		return True
+		
+	def SetJobs(self, N):
+		return True
+
+	def SetToolCheck(self, toolcheck):
+		return True
+
+	def SetParallelParsing(self, onoroff):
+		self.pp=onoroff
+		return True
+
+	def AddProject(self, project):
+		return True
+
+	def PrintVersion(self):
+		return True
+			 			 
+	def Info(self, format, *extras):
+		"Send an information message to the configured channel"
+		if self.RunningQuiet==False:
+			sys.stdout.write(("INFO: " + format + "\n") % extras)
+
+	def Warn(self, format, *extras):
+		"Send a warning message to the configured channel"
+		sys.stdout.write(("WARNING: " + format + "\n") % extras)
+		
+	def IgnoreOsDetection(self, value):
+		self.ignoreOsDetection = value
+		return True
+	
+	def FilterList(self, value):
+		self.filterList = value
+		return True
+	
+	def AddSourceTarget(self, filename):
+		self.targets.append(filename)
+	
+	def testDoRaptor(self):
+		args = ['-c','config1',
+				'-c','config name with spaces',
+				'-s', 'wrong_file.xml',
+				'--sysdef', 'system_definition.xml',
+				'-a', 'wrong_base_dir',
+				'--sysdefbase', 'C:\definitions',
+				'-l', 'a_layer',
+				'--layer', 'b_layer',
+				'-b', 'bld1.inf',
+				'--bldinf', 'bld2.inf',
+				'-f', 'a_log_file.log',
+				'-m', 'top.mk',
+				'--makefile', '/home/Makefile',
+				'--filters', 'filter_01,filter_02',
+				'--export-only',
+				'--source-target', 'some_source_file.cpp',
+				'--source-target', 'some_resource_file.rss',
+				'--pp', 'on']
+		
+		raptor_cli.GetArgs(self,args)
+		self.assertEqual(self.RunningQuiet,False)
+		self.assertEqual(self.listconfig[0],'config1')
+		self.assertEqual(self.listconfig[1],'config name with spaces')
+		self.assertEqual(self.sysdefvalue,'system_definition.xml')
+		self.assertEqual(self.sysdefbasevalue,'C:\\definitions')
+		self.assertEqual(self.sysdeflayers[0],'a_layer')
+		self.assertEqual(self.sysdeflayers[1],'b_layer')
+		self.assertEqual(self.bldinfvalue[0],'bld1.inf')
+		self.assertEqual(self.bldinfvalue[1],'bld2.inf')
+		self.assertEqual(self.topmake,'/home/Makefile')
+		self.assertEqual(self.logFileName,'a_log_file.log')
+		self.assertEqual(self.filterList,'filter_01,filter_02')
+		self.assertEqual(self.doExportOnly,True)
+		self.assertEqual(self.targets[0], 'some_source_file.cpp')
+		self.assertEqual(self.targets[1], 'some_resource_file.rss')
+		self.assertEqual(self.pp, 'on')
+
+# run all the tests
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "999"
+	t.name = "raptor_cli_unit"
+
+	tests = unittest.makeSuite(TestRaptorCli)
+	result = unittest.TextTestRunner(verbosity=2).run(tests)
+
+	if result.wasSuccessful():
+		t.result = SmokeTest.PASS
+	else:
+		t.result = SmokeTest.FAIL
+
+	return t