20 BaseTest.__init__(self)
27 Parse a QMTest XML test description (.qmt file) to initialize the test 30 log = logging.getLogger(
'QMTest.XMLParser')
31 import xml.etree.ElementTree
as ET
32 log.debug(
'parsing %s', path)
35 os.path.relpath(path, self.
basedir).replace(
'.qmt',
'').replace(
36 '.qms',
'').split(os.sep))
39 for child
in tree.getroot():
40 name = child.attrib[
'name']
41 if hasattr(self, name):
42 log.debug(
'setting %s', name)
44 if name
in (
'args',
'unsupported_platforms'):
46 [el.text
for el
in value.findall(
'text')])
47 elif name ==
'environment':
52 for el
in value.findall(
'text')))
56 if value.tag ==
'integer':
58 setattr(self, name, data)
63 class CallWrapper(object):
65 Small wrapper class to dynamically bind some default arguments 69 def __init__(self, callable, extra_args={}):
73 from inspect
import getargspec
80 def __call__(self, *args, **kwargs):
88 if a
not in positional
and a
not in kwargs:
90 return self.
callable(*args, **kwargs)
110 "findReferenceBlock":
116 "validateWithReference":
130 "checkTTreesSummaries":
136 "checkHistosSummaries":
144 exec (self.
validator, globals(), exported_symbols)
145 return result, self.
causes 147 return super(QMTTest, self).
ValidateOutput(stdout, stderr, result)
def XMLParser(self, path)
def validateWithReference(self, stdout=None, stderr=None, result=None, causes=None, preproc=None)
def ValidateOutput(self, stdout, stderr, result)
def countErrorLines(self, expected={ 'ERROR':0, 'FATAL':0 }, stdout=None, result=None, causes=None)
def __init__(self, path=None)
def _expandReferenceFileName(self, reffile)
def findReferenceBlock(self, reference=None, stdout=None, result=None, causes=None, signature_offset=0, signature=None, id=None)
def CheckHistosSummaries(self, stdout=None, result=None, causes=None, dict=None, ignore=None)
def CheckTTreesSummaries(self, stdout=None, result=None, causes=None, trees_dict=None, ignore=r"Basket|.*size|Compression")