testplan (version 0.8.8, 30 April 2002)
index
c:\work\puffin\testplan.py

The main actor inside the puffin framework is the test plan manager. It handles pulling in the
specified test plan (or plans) generating a unified plan, and executing the plan. It feeds
the executed task to the results processor which generates the summary report and/or logs
the failed task alerts.

 
Modules
            
mx.DateTime.mxDateTime.mxDateTime
puffinlogging
sys
testaction
 
Classes
            
TestPlanManager
 
class TestPlanManager
      TestPlanManager object is used by the main puffin class to control a running test
plan and execute its individual test actions. The default TestPlanManager (included with
puffin) allows for the processing of simple (one test action per line) test.plan files
or complex, xml-based test.plan files. However, you are not limited to using just the 
test plan manager provided by puffin. You can also use a custom test plan manager of your
own. To do so, you must simply change the following element in the puffin config file
(puffinConfig.xml by default):
 
    <system>
        <server host='www.foobar.com' port='80'/>
        <defaultResponseAnalyzer src='puffin' type='SimpleResponseAnalyzer'/>
---->   <testPlanManager src='puffin' type='TestPlanManager'/>
 
You must change the src attribute value to 'custom' and the type attribute value to the 
name of your test plan manager. Puffin will then look for your custom test plan manager
in the extensions.py file. Note that the default puffin test plan manager is usually more
than capable for even the most complex test plans. So don't reinvent the wheel if you can
avoid it.
 
   Methods defined here:
_TestPlanManager__getDOMFromTestFile = __getDOMFromTestFile(self, testFileName)
Generate a DOM from a test plan file.
 
Keyword Arguments:
testFileName -- The name of the test.plan file whose contents will be used to make
    the DOM.
_TestPlanManager__initializeTestPlan = __initializeTestPlan(self, testPlanCmdLineArg=None)
Initialize the unified test plan for later execution.
 
Keyword Arguments:
testPlanCmdLineArg -- The test plan(s) can be specified to puffin using 
    the '--test.plan=XXXXXX' command line argument to the puffin command.
    If more than one test plan is specified, each is separated from the last
    with a comma. If none is specified, the test plan 'test.plan' in the current
    folder will be used.
__init__(self, testActionDictionary, resultsProcessor, fullHostString, tokenDictionary, autoInputList, autoOutputList, testPlanCmdLineArg=None)
Constructor for the default puffin test plan manager.
 
Keyword Arguments:
testActionDictionary -- The dictionary of all possible test actions as initialized
    by puffin itself.
resultsProcessor -- The results processor instance for this test plan execution.
fullHostString -- The server+port as specified in the puffin config file.
tokenDictionary -- The current token dictionary for this test plan's run.
autoInputList -- The list of auto inputs.
autoOutputList -- The list of auto outputs.
testPlanCmdLineArg -- The command line argument for the test.plan file 
    (--test.plan=mytestfile for example). This could be a string of test plan
    files separated by commas. The filename 'test.plan' is assumed if not provided
    on the command line.
executeTestPlan(self)
Execute the test plan.
processSubPlans(self, testActionDOM)
Process any test plans included into the current test plan using <subPlan/>.
NOTE: This is a recursive function and will process any child nodes that represent 
sub plans recursively. (Brought to you from the Department of Redundancy Department.)
 
Keyword Argument:
testActionDOM -- The current test action DOM to process for includes.

Data and non-method functions defined here:
__doc__ = 'A TestPlanManager object is used by the main pu...invent the wheel if you can\n avoid it.\n '
__module__ = 'testplan'
 
Functions
            
Date = DateTime(...)
DateTime(year,month=1,day=1,hour=0,minute=0,second=0.0)
 
Returns a DateTime-object reflecting the given date
and time. Seconds can be given as float to indicate
fractions.
DateTime(...)
DateTime(year,month=1,day=1,hour=0,minute=0,second=0.0)
 
Returns a DateTime-object reflecting the given date
and time. Seconds can be given as float to indicate
fractions.
DateTimeDelta(...)
DateTimeDelta(days[,hours=0.0,minutes=0.0,seconds=0.0])
 
Returns a DateTimeDelta-object reflecting the given
day and time delta.
DateTimeDeltaFromDays(...)
DateTimeDeltaFromDays(days)
 
Returns a DateTimeDelta-object reflecting the given time
value given in days (fractions are allowed).
DateTimeDeltaFromSeconds(...)
DateTimeDeltaFromSeconds(seconds)
 
Returns a DateTimeDelta-object reflecting the given time
value.
DateTimeFromAbsDateTime(...)
DateTimeFromAbsDateTime(absdate[,abstime=0.0])
 
Returns a DateTime-object for the given absolute values.
DateTimeFromAbsDays(...)
DateTimeFromAbsDays(absdays)
 
Returns a DateTime-object reflecting the given time
value (days since the epoch).
DateTimeFromCOMDate(...)
DateTimeFromCOMDate(comdate)
 
Returns a DateTime-object reflecting the given date
and time.
GregorianDate = DateTime(...)
DateTime(year,month=1,day=1,hour=0,minute=0,second=0.0)
 
Returns a DateTime-object reflecting the given date
and time. Seconds can be given as float to indicate
fractions.
GregorianDateTime = DateTime(...)
DateTime(year,month=1,day=1,hour=0,minute=0,second=0.0)
 
Returns a DateTime-object reflecting the given date
and time. Seconds can be given as float to indicate
fractions.
JulianDate = JulianDateTime(...)
JulianDateTime(year,month=1,day=1,hour=0,minute=0,second=0.0)
 
Returns a DateTime-object reflecting the given Julian date
and time. Seconds can be given as float to indicate
fractions.
JulianDateTime(...)
JulianDateTime(year,month=1,day=1,hour=0,minute=0,second=0.0)
 
Returns a DateTime-object reflecting the given Julian date
and time. Seconds can be given as float to indicate
fractions.
Timestamp = DateTime(...)
DateTime(year,month=1,day=1,hour=0,minute=0,second=0.0)
 
Returns a DateTime-object reflecting the given date
and time. Seconds can be given as float to indicate
fractions.
cmp(...)
cmp(value1,value2[,accuracy=0.0])
 
Compares two DateTime[Delta] objects. If accuracy is
given, then equality will result in case the absolute
difference between the two values is less than or equal
to accuracy.
gmt = utc(...)
utc()
 
Returns a DateTime-object reflecting the current UTC time.
now(...)
now()
 
Returns a DateTime-object reflecting the current local time.
setnowapi(...)
setnowapi(fct)
 
Sets the current time API used by now(). This must be
a callable function which returns the current local time in
Unix ticks.
utc(...)
utc()
 
Returns a DateTime-object reflecting the current UTC time.
 
Data
             ARPA = <lazy module 'mx.DateTime.ARPA'>
April = 4
August = 8
December = 12
Epoch = <DateTime object for '0001-01-01 00:00:00.00' at a7cef8>
Feasts = <lazy module 'mx.DateTime.Feasts'>
February = 2
Friday = 4
Gregorian = 'Gregorian'
ISO = <lazy module 'mx.DateTime.ISO'>
January = 1
Julian = 'Julian'
July = 7
June = 6
Locale = <lazy module 'mx.DateTime.Locale'>
March = 3
MaxDateTime = <DateTime object for '5867440-12-31 00:00:00.00' at acc1b0>
MaxDateTimeDelta = <DateTimeDelta object for '2147483647:00:00:00.00' at ac6f60>
May = 5
MinDateTime = <DateTime object for '-5851455-01-01 00:00:00.00' at ae86f8>
MinDateTimeDelta = <DateTimeDelta object for '-2147483647:00:00:00.00' at acc130>
Monday = 0
Month = {None: 0, 0: None, 1: 'January', 2: 'February', 3: 'March', 4: 'April', 5: 'May', 6: 'June', 7: 'July', 8: 'August', ...}
NIST = <lazy module 'mx.DateTime.NIST'>
November = 11
ODMG = <lazy module 'mx.DateTime.ODMG'>
October = 10
POSIX = 1
Parser = <lazy module 'mx.DateTime.Parser'>
Saturday = 5
September = 9
Sunday = 6
Thursday = 3
Tuesday = 1
Wednesday = 2
Weekday = {0: 'Monday', 1: 'Tuesday', 2: 'Wednesday', 3: 'Thursday', 4: 'Friday', 5: 'Saturday', 6: 'Sunday', 'Friday': 4, 'Monday': 0, 'Saturday': 5, ...}
__author__ = 'Keyton Weissinger '
__date__ = '30 April 2002'
__file__ = '.\\testplan.pyc'
__name__ = 'testplan'
__status__ = 'beta'
__version__ = '0.8.8'
current_myriad = 245
mxDateTimeAPI = <PyCObject object at 0x00B2EC00>
oneDay = <DateTimeDelta object for '1:00:00:00.00' at adbfe0>
oneHour = <DateTimeDelta object for '01:00:00.00' at 979040>
oneMinute = <DateTimeDelta object for '00:01:00.00' at a3a058>
oneSecond = <DateTimeDelta object for '00:00:01.00' at a3a2d0>
oneWeek = <DateTimeDelta object for '7:00:00:00.00' at 7e3ef8>
 
Author
             Keyton Weissinger <keyton@weissinger.org>