Package qm :: Package test :: Package classes :: Module command :: Class ShellScriptTest
[hide private]
[frames] | no frames]

Class ShellScriptTest

source code

         object --+                
                  |                
extension.Extension --+            
                      |            
      runnable.Runnable --+        
                          |        
                  test.Test --+    
                              |    
                   ExecTestBase --+
                                  |
                                 ShellScriptTest

Check a shell script's output and exit code.

A 'ShellScriptTest' runs the shell script provided and compares its standard output, standard error, and exit code with expected values. The shell script may be provided with command-line arguments and/or standard input.

QMTest determines which shell to use by the following method:

Nested Classes [hide private]

Inherited from test.Test: OutcomeField, TestField

Inherited from runnable.Runnable: ResourceField

Inherited from extension.Extension: Type, __metaclass__

Instance Methods [hide private]
 
Run(self, context, result)
Run the test.
source code
 
_GetShell(self, context)
Return the shell to use to run this test.
source code

Inherited from ExecTestBase: MakeEnvironment, RunProgram, ValidateOutput

Inherited from test.Test: GetTargetGroup

Inherited from runnable.Runnable: GetAttachments, GetDatabase, GetId, __init__

Inherited from extension.Extension: GetClassName, GetExplicitArguments, MakeDomDocument, MakeDomElement, Write, __getattr__

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Class Variables [hide private]
  arguments = [qm.fields.TextField(name= "script", title= "Scrip...
A list of the arguments to the extension class.
  _allow_arg_names_matching_class_vars = 1
True if it is OK for fields to have the same name as class variables.

Inherited from test.Test: PREREQUISITES_FIELD_ID, kind

Inherited from runnable.Runnable: EXTRA_DATABASE, EXTRA_ID, RESOURCE_FIELD_ID, resources

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

Run(self, context, result)

source code 

Run the test.

'context' -- A 'Context' giving run-time parameters to the test.

'result' -- A 'Result' object. The outcome will be 'Result.PASS' when this method is called. The 'result' may be modified by this method to indicate outcomes other than 'Result.PASS' or to add annotations.

Overrides: test.Test.Run

_GetShell(self, context)

source code 

Return the shell to use to run this test.

'context' -- As for 'Test.Run'.

returns -- A sequence of strings giving the path and arguments to be supplied to the shell. The default implementation uses the value of the context property 'ShellScriptTest.script_shell', or, if that is not defined, a platform-specific default.


Class Variable Details [hide private]

arguments

A list of the arguments to the extension class.

Each element of this list should be an instance of 'Field'. The 'Field' instance describes the argument.

Derived classes may redefine this class variable. However, derived classes should not explicitly include the arguments from base classes; QMTest will automatically combine all the arguments found throughout the class hierarchy.

Value:
[qm.fields.TextField(name= "script", title= "Script", description= """\
The contents of the shell script.

            Provide the entire shell script here.  The script will be
            written to a temporary file before it is executed.  There
            does not need to be an explicit '#! /path/to/shell' at
            the beginning of the script because QMTest will not direct\
ly
...