X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=mesademos.py;h=0ef5bfbfe5beed7fff5c820b443f13edd90c6a9f;hb=04cbf83295e1a64253945959db8116f5339f73e7;hp=251e1756f7efd6f7de45a62835a6fd8673b855f2;hpb=eafd92102e777af5ee4e285a3c5ec5b546ff231d;p=apitrace-tests diff --git a/mesademos.py b/mesademos.py index 251e175..0ef5bfb 100755 --- a/mesademos.py +++ b/mesademos.py @@ -47,6 +47,12 @@ def ansi_strip(s): def popen(command, *args, **kwargs): + if 'cwd' in kwargs: + sys.stdout.write('cd %s && ' % kwargs['cwd']) + if 'env' in kwargs: + for name, value in kwargs['env'].iteritems(): + if value != os.environ.get(name, None): + sys.stdout.write('%s=%s ' % (name, value)) sys.stdout.write(' '.join(command) + '\n') sys.stdout.flush() return subprocess.Popen(command, *args, **kwargs) @@ -82,7 +88,7 @@ def runtest(demo): args = [os.path.join('.', basename)] p = popen(args, env=env, cwd=dirname, stdout=subprocess.PIPE) - time.sleep(0.5) + time.sleep(1) # http://stackoverflow.com/questions/151407/how-to-get-an-x11-window-from-a-process-id ref_image = demo.replace('/', '-') + '.ref.png' @@ -123,7 +129,7 @@ def runtest(demo): if image: delta_image = demo.replace('/', '-') + '.diff.png' - p = popen(["compare", '-metric', 'AE', '-fuzz', '5%', '-extract', '250x250', ref_image, image, delta_image]) + p = popen(["compare", '-alpha', 'opaque', '-metric', 'AE', '-fuzz', '5%', ref_image, image, delta_image]) _, stderr = p.communicate() @@ -516,7 +522,6 @@ tests = [ #'slang/vstest', 'tests/afsmultiarb', 'tests/antialias', - 'tests/api_speed.py', 'tests/arbfpspec', 'tests/arbfptest1', 'tests/arbfptexture', @@ -672,24 +677,28 @@ def main(): # Parse command line options optparser = optparse.OptionParser( - usage='\n\t%prog [options] ', + usage='\n\t%prog [options] [demo] ...', version='%%prog') optparser.add_option( '--build', metavar='PATH', type='string', dest='build', default='.', help='path to apitrace build') - optparser.add_option( '--mesa-demos', metavar='PATH', type='string', dest='mesa_demos', default=os.environ.get('MESA_DEMOS'), - help='path to mesa demos') + help='path to Mesa demos') (options, args) = optparser.parse_args(sys.argv[1:]) - if args: - optparser.error("incorrect number of arguments") - for test in tests: - runtest(test) + if not options.mesa_demos: + optparser.error('path to Mesa demos not specified') + + if args: + for test in args: + runtest(test) + else: + for test in tests: + runtest(test) if __name__ == '__main__':