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

Class ShellCommandTest
source code

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

Check a shell command's output and exit code.

A 'ShellCommandTest' runs the shell and compares its standard output, standard error, and exit code with expected values. The shell 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.

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__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __str__


Class Variables [hide private]
arguments  
_argument_dictionary  
_argument_list  
command  

Inherited from ExecTestBase: environment, exit_code, stderr, stdin, stdout, timeout

Inherited from test.Test: PREREQUISITES_FIELD_ID, kind, prerequisites, target_group

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

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

Class Variable Details [hide private]

arguments

Value:
[<<class 'qm.fields.TextField'> command>]                              
      

_argument_dictionary

Value:
{'command': <<class 'qm.fields.TextField'> command>,
 'environment': <<class 'qm.fields.SetField'> environment>,
 'exit_code': <<class 'qm.fields.IntegerField'> exit_code>,
 'prerequisites': <<class 'qm.fields.SetField'> prerequisites>,
 'resources': <<class 'qm.fields.SetField'> resources>,
 'stderr': <<class 'qm.fields.TextField'> stderr>,
 'stdin': <<class 'qm.fields.TextField'> stdin>,
 'stdout': <<class 'qm.fields.TextField'> stdout>,
...                                                                    
      

_argument_list

Value:
[<<class 'qm.test.test.TargetGroupField'> target_group>,
 <<class 'qm.fields.TextField'> stderr>,
 <<class 'qm.fields.TextField'> stdout>,
 <<class 'qm.fields.SetField'> prerequisites>,
 <<class 'qm.fields.TextField'> stdin>,
 <<class 'qm.fields.IntegerField'> exit_code>,
 <<class 'qm.fields.SetField'> environment>,
 <<class 'qm.fields.TextField'> command>,
...                                                                    
      

command

Value:
''