You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by se...@apache.org on 2013/06/23 19:54:15 UTC
git commit: updated refs/heads/master to 3e430cc
Updated Branches:
refs/heads/master d53f1c094 -> 3e430ccbf
CLOUDSTACK-3096 format TestCaseExecuteEngine
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/3e430ccb
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/3e430ccb
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/3e430ccb
Branch: refs/heads/master
Commit: 3e430ccbf07e80656e130fbd42afd5a5fa955af5
Parents: d53f1c0
Author: Daan Hoogland <da...@onecht.net>
Authored: Sun Jun 23 07:17:30 2013 +0200
Committer: Sebastien Goasguen <ru...@gmail.com>
Committed: Sun Jun 23 13:54:06 2013 -0400
----------------------------------------------------------------------
tools/marvin/marvin/TestCaseExecuteEngine.py | 43 ++++++++++++++---------
1 file changed, 27 insertions(+), 16 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/3e430ccb/tools/marvin/marvin/TestCaseExecuteEngine.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/TestCaseExecuteEngine.py b/tools/marvin/marvin/TestCaseExecuteEngine.py
index 4b64aae..f5af1fe 100644
--- a/tools/marvin/marvin/TestCaseExecuteEngine.py
+++ b/tools/marvin/marvin/TestCaseExecuteEngine.py
@@ -5,9 +5,9 @@
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
-#
+#
# http://www.apache.org/licenses/LICENSE-2.0
-#
+#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -21,27 +21,32 @@ import sys
import logging
from functools import partial
+
def testCaseLogger(message, logger=None):
if logger is not None:
logger.debug(message)
+
class TestCaseExecuteEngine(object):
- def __init__(self, testclient, config, testcaseLogFile=None, testResultLogFile=None):
+ def __init__(self, testclient, config, testcaseLogFile=None,
+ testResultLogFile=None):
"""
Initialize the testcase execution engine, just the basics here
@var testcaseLogFile: client log file
- @var testResultLogFile: summary report file
+ @var testResultLogFile: summary report file
"""
self.testclient = testclient
self.config = config
- self.logformat = logging.Formatter("%(asctime)s - %(levelname)s - %(name)s - %(message)s")
+ self.logformat =\
+ logging.Formatter(
+ "%(asctime)s - %(levelname)s - %(name)s - %(message)s")
self.loader = unittest.loader.TestLoader()
self.suite = None
if testcaseLogFile is not None:
self.logfile = testcaseLogFile
self.logger = logging.getLogger("TestCaseExecuteEngine")
- fh = logging.FileHandler(self.logfile)
+ fh = logging.FileHandler(self.logfile)
fh.setFormatter(self.logformat)
self.logger.addHandler(fh)
self.logger.setLevel(logging.DEBUG)
@@ -59,13 +64,14 @@ class TestCaseExecuteEngine(object):
""" Load the test suites from a package with multiple test files """
self.suite = self.loader.discover(testDirectory)
self.injectTestCase(self.suite)
-
+
def loadTestsFromFile(self, file_name):
""" Load the tests from a single script/module """
if os.path.isfile(file_name):
- self.suite = self.loader.discover(os.path.dirname(file_name), os.path.basename(file_name))
+ self.suite = self.loader.discover(os.path.dirname(file_name),
+ os.path.basename(file_name))
self.injectTestCase(self.suite)
-
+
def injectTestCase(self, testSuites):
for test in testSuites:
if isinstance(test, unittest.BaseTestSuite):
@@ -73,19 +79,24 @@ class TestCaseExecuteEngine(object):
else:
#logger bears the name of the test class
testcaselogger = logging.getLogger("%s" % (test))
- fh = logging.FileHandler(self.logfile)
+ fh = logging.FileHandler(self.logfile)
fh.setFormatter(self.logformat)
testcaselogger.addHandler(fh)
testcaselogger.setLevel(logging.DEBUG)
-
- #inject testclient and logger into each unittest
+
+ #inject testclient and logger into each unittest
setattr(test, "testClient", self.testclient)
setattr(test, "config", self.config)
- setattr(test, "debug", partial(testCaseLogger, logger=testcaselogger))
+ setattr(test, "debug", partial(testCaseLogger,
+ logger=testcaselogger))
setattr(test.__class__, "clstestclient", self.testclient)
- if hasattr(test, "user"): #attribute when test is entirely executed as user
- self.testclient.createUserApiClient(test.UserName, test.DomainName, test.AcctType)
+ if hasattr(test, "user"):
+ # attribute when test is entirely executed as user
+ self.testclient.createUserApiClient(test.UserName,
+ test.DomainName,
+ test.AcctType)
def run(self):
if self.suite:
- unittest.TextTestRunner(stream=self.testResultLogFile, verbosity=2).run(self.suite)
+ unittest.TextTestRunner(stream=self.testResultLogFile,
+ verbosity=2).run(self.suite)