########################################################################
# $Header: /var/local/cvsroot/4Suite/Ft/Lib/TestSuite/TestMode.py,v 1.2 2002/07/18 18:15:58 molson Exp $
"""
Provides the TestMode base class for testing modes.
Copyright 2002 Fourthought, Inc. (USA).
Detailed license and copyright information: http://4suite.org/COPYRIGHT
Project home, documentation, distributions: http://4suite.org/
"""
__revision__ = "$Id: TestMode.py,v 1.2 2002/07/18 18:15:58 molson Exp $"
class TestMode:
def __init__(self, name, default):
self.name = name
self.default = default
self.initialized = None
return
def initialize(self, tester):
"""
Called the first time this mode is used. A return value of false
signals that this mode is not to be used.
"""
if self.initialized is None:
# First time through
self.initialized = self._init(tester)
return self.initialized
def start(self, tester):
"""
Called before beginning any tests.
"""
tester.startGroup(self.name)
self._pre(tester)
return
def finish(self, tester):
"""
Called when all tests have run to completion (or exception).
"""
self._post(tester)
tester.groupDone()
return
# -- hooks for subclasses ----------------------------------------
def _init(self, tester):
return 1
def _pre(self, tester):
pass
def _post(self, tester):
pass
class DefaultMode(TestMode):
def __init__(self):
TestMode.__init__(self, '', 1)
return
def initialize(self, tester):
return 1
def start(self, tester):
return
def finish(self, tester):
return
|