GaudiTest.ReferenceFileValidator Class Reference

Public Member Functions

def __init__
 
def __call__ (self, stdout, result)
 
def __init__
 
def __call__ (self, stdout, result)
 

Public Attributes

 reffile
 
 cause
 
 result_key
 
 preproc
 

Detailed Description

Definition at line 589 of file GaudiTest.py.

Constructor & Destructor Documentation

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

Definition at line 590 of file GaudiTest.py.

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

Definition at line 590 of file GaudiTest.py.

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

Member Function Documentation

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

Definition at line 595 of file GaudiTest.py.

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

Definition at line 595 of file GaudiTest.py.

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

Member Data Documentation

GaudiTest.ReferenceFileValidator.cause

Definition at line 592 of file GaudiTest.py.

GaudiTest.ReferenceFileValidator.preproc

Definition at line 594 of file GaudiTest.py.

GaudiTest.ReferenceFileValidator.reffile

Definition at line 591 of file GaudiTest.py.

GaudiTest.ReferenceFileValidator.result_key

Definition at line 593 of file GaudiTest.py.


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