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)
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'
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()
#'slang/vstest',
'tests/afsmultiarb',
'tests/antialias',
- 'tests/api_speed.py',
'tests/arbfpspec',
'tests/arbfptest1',
'tests/arbfptexture',
# 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__':