10 BaseTest.__init__(self)
17 Parse a QMTest XML test description (.qmt file) to initialize the test 20 log = logging.getLogger(
'QMTest.XMLParser')
21 import xml.etree.ElementTree
as ET
22 log.debug(
'parsing %s', path)
25 os.path.relpath(path, self.
basedir).replace(
'.qmt',
'').replace(
26 '.qms',
'').split(os.sep))
29 for child
in tree.getroot():
30 name = child.attrib[
'name']
31 if hasattr(self, name):
32 log.debug(
'setting %s', name)
34 if name
in (
'args',
'unsupported_platforms'):
36 [el.text
for el
in value.findall(
'text')])
37 elif name ==
'environment':
42 for el
in value.findall(
'text')))
46 if value.tag ==
'integer':
48 setattr(self, name, data)
53 class CallWrapper(object):
55 Small wrapper class to dynamically bind some default arguments 59 def __init__(self, callable, extra_args={}):
63 from inspect
import getargspec
70 def __call__(self, *args, **kwargs):
78 if a
not in positional
and a
not in kwargs:
100 "findReferenceBlock":
106 "validateWithReference":
120 "checkTTreesSummaries":
126 "checkHistosSummaries":
134 exec self.
validator in globals(), exported_symbols
135 return result, self.
causes 137 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)
decltype(auto) constexpr apply(F &&f, Tuple &&t) noexcept(noexcept( detail::apply_impl(std::forward< F >(f), std::forward< Tuple >(t), std::make_index_sequence< std::tuple_size< std::remove_reference_t< Tuple >>::value >{})))
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")