X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=driver.py;h=8c7d1268bb61e9e2fc2a1b5fe82d14f1f5209979;hb=73889a4a15f4868645adf9e87abf0b4352faadc2;hp=e219e611c9288022c2bd947a1648177e7fca89be;hpb=7949d2e03c697fc73f3d2ec882c08b487d1422bd;p=apitrace-tests diff --git a/driver.py b/driver.py index e219e61..8c7d126 100755 --- a/driver.py +++ b/driver.py @@ -65,8 +65,8 @@ def _get_build_program(program): class TestCase: + api = 'gl' max_frames = None - trace_file = None def __init__(self, name, args, cwd=None, build=None, results = '.'): @@ -111,7 +111,8 @@ class TestCase: apitrace = _get_build_program('apitrace') cmd = [ apitrace, 'trace', - '-o', self.trace_file, + '--api', self.api, + '--output', self.trace_file, '--' ] + cmd if self.max_frames is not None: @@ -138,6 +139,7 @@ class TestCase: flushes = 0 ref_line = '' + src_lines = [] if self.ref_dump is not None: ref = open(self.ref_dump, 'rt') ref_line = ref.readline().rstrip() @@ -157,11 +159,18 @@ class TestCase: if src_line == ref_line: sys.stdout.write(src_line + '\n') ref_line = ref.readline().rstrip() + src_lines = [] + else: + src_lines.append(src_line) + p.wait() if p.returncode != 0: self.fail('`apitrace dump` returned code %i' % p.returncode) if ref_line: - self.fail('missing call %s' % ref_line) + if src_lines: + self.fail('missing call `%s` (found `%s`)' % (ref_line, src_lines[0])) + else: + self.fail('missing call %s' % ref_line) def run(self): self.standalone() @@ -248,6 +257,10 @@ def main(): optparser = optparse.OptionParser( usage='\n\t%prog [options] -- program [args] ...', version='%%prog') + optparser.add_option( + '-a', '--api', metavar='API', + type='string', dest='api', default='gl', + help='api to trace') optparser.add_option( '-B', '--build', metavar='PATH', type='string', dest='build', default='..', @@ -276,6 +289,7 @@ def main(): build = options.build, results = options.results, ) + test.api = options.api test.ref_dump = options.ref_dump test.run()