]> git.cworth.org Git - apitrace-tests/blobdiff - driver.py
Use abs paths for traces.
[apitrace-tests] / driver.py
index 9894c9c80447cc806401361b9bf497b8fc4267ab..2eab23ca2de18e60d7d6369c9890f3999f9c7adc 100755 (executable)
--- a/driver.py
+++ b/driver.py
@@ -216,6 +216,8 @@ class TestCase:
 
     verbose = False
 
+    threshold_precision = 12.0
+
     def __init__(self):
         self.stateCache = {}
     
@@ -243,7 +245,13 @@ class TestCase:
             return
 
         if self.trace_file is None:
-            name, ext = os.path.splitext(os.path.basename(self.cmd[0]))
+            if self.ref_dump is not None:
+                name = self.ref_dump
+            else:
+                name = self.cmd[0]
+            name, ext = os.path.splitext(os.path.basename(name))
+            while ext:
+                name, ext = os.path.splitext(os.path.basename(name))
             self.trace_file = os.path.abspath(os.path.join(self.results, name + '.trace'))
         if os.path.exists(self.trace_file):
             os.remove(self.trace_file)
@@ -306,8 +314,9 @@ class TestCase:
 
         from snapdiff import Comparer
         comparer = Comparer(refImage, srcImage)
-        match = comparer.ae()
-        if not match:
+        precision = comparer.precision(filter=True)
+        sys.stdout.write('precision of %f bits against %s\n' % (precision, refImageFileName))
+        if precision < self.threshold_precision:
             prefix = '%s.%u' % (self.getNamePrefix(), callNo)
             srcImageFileName = prefix + '.src.png'
             srcImage.save(srcImageFileName)
@@ -337,6 +346,7 @@ class TestCase:
         stream = open(refStateFileName, 'rt')
         from jsondiff import load
         state = load(stream)
+        self.adjustRefState(state)
         return state
 
     def getNamePrefix(self):
@@ -434,7 +444,7 @@ class TestCase:
         except KeyError:
             return
 
-        if platform.system() == 'Darwin' or True:
+        if platform.system() == 'Darwin':
             # Mac OS X drivers fail on GL_COLOR_SUM
             # XXX: investigate this
             self.removeState(parameters, 'GL_COLOR_SUM')