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

Public Member Functions

def __init__
 
def __call__
 
def __init__
 
def __call__
 

Public Attributes

 reffile
 
 cause
 
 result_key
 
 preproc
 

Detailed Description

Definition at line 587 of file GaudiTest.py.

Constructor & Destructor Documentation

def GaudiTest.ReferenceFileValidator.__init__ (   self,
  reffile,
  cause,
  result_key,
  preproc = normalizeExamples 
)

Definition at line 588 of file GaudiTest.py.

589  def __init__(self, reffile, cause, result_key, preproc = normalizeExamples):
590  self.reffile = os.path.expandvars(reffile)
591  self.cause = cause
592  self.result_key = result_key
self.preproc = preproc
def GaudiTest.ReferenceFileValidator.__init__ (   self,
  reffile,
  cause,
  result_key,
  preproc = normalizeExamples 
)

Definition at line 588 of file GaudiTest.py.

589  def __init__(self, reffile, cause, result_key, preproc = normalizeExamples):
590  self.reffile = os.path.expandvars(reffile)
591  self.cause = cause
592  self.result_key = result_key
self.preproc = preproc

Member Function Documentation

def GaudiTest.ReferenceFileValidator.__call__ (   self,
  stdout,
  result 
)

Definition at line 593 of file GaudiTest.py.

594  def __call__(self, stdout, result):
595  causes = []
596  if os.path.isfile(self.reffile):
597  orig = open(self.reffile).xreadlines()
598  if self.preproc:
599  orig = self.preproc(orig)
600  else:
601  orig = []
602 
603  new = stdout.splitlines()
604  if self.preproc:
605  new = self.preproc(new)
606  #open(self.reffile + ".test","w").writelines(new)
607  diffs = difflib.ndiff(orig,new,charjunk=difflib.IS_CHARACTER_JUNK)
608  filterdiffs = map(lambda x: x.strip(),filter(lambda x: x[0] != " ",diffs))
609  #filterdiffs = [x.strip() for x in diffs]
610  if filterdiffs:
611  result[self.result_key] = result.Quote("\n".join(filterdiffs))
612  result[self.result_key] += result.Quote("""
613 Legend:
614  -) reference file
615  +) standard output of the test""")
616  causes.append(self.cause)
617 
618  return causes
def GaudiTest.ReferenceFileValidator.__call__ (   self,
  stdout,
  result 
)

Definition at line 593 of file GaudiTest.py.

594  def __call__(self, stdout, result):
595  causes = []
596  if os.path.isfile(self.reffile):
597  orig = open(self.reffile).xreadlines()
598  if self.preproc:
599  orig = self.preproc(orig)
600  else:
601  orig = []
602 
603  new = stdout.splitlines()
604  if self.preproc:
605  new = self.preproc(new)
606  #open(self.reffile + ".test","w").writelines(new)
607  diffs = difflib.ndiff(orig,new,charjunk=difflib.IS_CHARACTER_JUNK)
608  filterdiffs = map(lambda x: x.strip(),filter(lambda x: x[0] != " ",diffs))
609  #filterdiffs = [x.strip() for x in diffs]
610  if filterdiffs:
611  result[self.result_key] = result.Quote("\n".join(filterdiffs))
612  result[self.result_key] += result.Quote("""
613 Legend:
614  -) reference file
615  +) standard output of the test""")
616  causes.append(self.cause)
617 
618  return causes

Member Data Documentation

GaudiTest.ReferenceFileValidator.cause

Definition at line 590 of file GaudiTest.py.

GaudiTest.ReferenceFileValidator.preproc

Definition at line 592 of file GaudiTest.py.

GaudiTest.ReferenceFileValidator.reffile

Definition at line 589 of file GaudiTest.py.

GaudiTest.ReferenceFileValidator.result_key

Definition at line 591 of file GaudiTest.py.


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