All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
GaudiTest.BasicOutputValidator Class Reference

Output Validation Classes. More...

Public Member Functions

def __init__
 
def __call__
 

Public Attributes

 reference
 
 cause
 
 result_key
 

Private Member Functions

def __CompareText
 

Detailed Description

Output Validation Classes.

Basic implementation of an option validator for Gaudi tests.
This implementation is based on the standard (LCG) validation functions
used in QMTest.

Definition at line 351 of file GaudiTest.py.

Constructor & Destructor Documentation

def GaudiTest.BasicOutputValidator.__init__ (   self,
  ref,
  cause,
  result_key 
)

Definition at line 356 of file GaudiTest.py.

357  def __init__(self,ref,cause,result_key):
358  self.reference = ref
359  self.cause = cause
360  self.result_key = result_key

Member Function Documentation

def GaudiTest.BasicOutputValidator.__call__ (   self,
  out,
  result 
)
Validate the output of the program.

'stdout' -- A string containing the data written to the standard output
stream.

'stderr' -- A string containing the data written to the standard error
stream.

'result' -- A 'Result' object. It may be used to annotate
the outcome according to the content of stderr.

returns -- A list of strings giving causes of failure.

Definition at line 361 of file GaudiTest.py.

362  def __call__(self, out, result):
363  """Validate the output of the program.
364 
365  'stdout' -- A string containing the data written to the standard output
366  stream.
367 
368  'stderr' -- A string containing the data written to the standard error
369  stream.
370 
371  'result' -- A 'Result' object. It may be used to annotate
372  the outcome according to the content of stderr.
373 
374  returns -- A list of strings giving causes of failure."""
375 
376  causes = []
377  # Check to see if theoutput matches.
378  if not self.__CompareText(out, self.reference):
379  causes.append(self.cause)
380  result[self.result_key] = result.Quote(self.reference)
381 
382  return causes
def GaudiTest.BasicOutputValidator.__CompareText (   self,
  s1,
  s2 
)
private
Compare 's1' and 's2', ignoring line endings.

's1' -- A string.

's2' -- A string.

returns -- True if 's1' and 's2' are the same, ignoring
differences in line endings.

Definition at line 383 of file GaudiTest.py.

384  def __CompareText(self, s1, s2):
385  """Compare 's1' and 's2', ignoring line endings.
386 
387  's1' -- A string.
388 
389  's2' -- A string.
390 
391  returns -- True if 's1' and 's2' are the same, ignoring
392  differences in line endings."""
393 
394  # The "splitlines" method works independently of the line ending
395  # convention in use.
396  if ROOT6WorkAroundEnabled('ReadRootmapCheck'):
397  # FIXME: (MCl) Hide warnings from new rootmap sanity check until we can fix them
398  to_ignore = re.compile(r'Warning in <TInterpreter::ReadRootmapFile>: .* is already in .*')
399  keep_line = lambda l: not to_ignore.match(l)
400  return filter(keep_line, s1.splitlines()) == filter(keep_line, s2.splitlines())
401  else:
402  return s1.splitlines() == s2.splitlines()
def ROOT6WorkAroundEnabled
Definition: GaudiTest.py:25

Member Data Documentation

GaudiTest.BasicOutputValidator.cause

Definition at line 358 of file GaudiTest.py.

GaudiTest.BasicOutputValidator.reference

Definition at line 357 of file GaudiTest.py.

GaudiTest.BasicOutputValidator.result_key

Definition at line 359 of file GaudiTest.py.


The documentation for this class was generated from the following file: