]> git.cworth.org Git - apitrace-tests/blobdiff - driver.py
Rely on jsondiff to strip comments.
[apitrace-tests] / driver.py
index 0a0dc5b7bd87f8cc0b98e807a98d29a8e84f7a70..9894c9c80447cc806401361b9bf497b8fc4267ab 100755 (executable)
--- a/driver.py
+++ b/driver.py
@@ -140,7 +140,7 @@ class TraceChecker:
                 sys.stdout.write(line + '\n')
             mo = self.call_re.match(line)
             if mo:
-                self.call_no = int(mo.group(1))
+                self.callNo = int(mo.group(1))
                 function_name = mo.group(2)
                 if function_name.find('SwapBuffers') != -1 or \
                    line.find('kCGLPFADoubleBuffer') != -1:
@@ -310,6 +310,7 @@ class TestCase:
         if not match:
             prefix = '%s.%u' % (self.getNamePrefix(), callNo)
             srcImageFileName = prefix + '.src.png'
+            srcImage.save(srcImageFileName)
             diffImageFileName = prefix + '.diff.png'
             comparer.write_diff(diffImageFileName)
             fail('snapshot from call %u does not match %s' % (callNo, refImageFileName))
@@ -332,14 +333,10 @@ class TestCase:
             differ.visit(refState, srcState)
             fail('state from call %u does not match %s' % (callNo, refStateFileName))
 
-    # Allo non-standard JS comments in JSON
-    json_comment_re = re.compile(r'//.*$', re.MULTILINE)
-
     def getRefState(self, refStateFileName):
-        data = open(refStateFileName, 'rt').read()
-        data = self.json_comment_re.sub('', data)
-        state = json.loads(data, strict=False)
-        self.adjustRefState(state)
+        stream = open(refStateFileName, 'rt')
+        from jsondiff import load
+        state = load(stream)
         return state
 
     def getNamePrefix(self):