+ return os.path.abspath(os.path.join(os.path.dirname(self.fileName), path))
+
+
+class SrcTraceParser(tracematch.SrcTraceParser):
+
+ def __init__(self, stream):
+ tracematch.SrcTraceParser.__init__(self, stream)
+ self.swapbuffers = 0
+
+ def handleCall(self, callNo, functionName, args, ret):
+ tracematch.SrcTraceParser.handleCall(self, callNo, functionName, args, ret)
+
+ if functionName.find('SwapBuffers') != -1 or \
+ repr(args).find('kCGLPFADoubleBuffer') != -1:
+ self.swapbuffers += 1
+
+
+class TraceChecker:
+
+ def __init__(self, srcStream, refFileName):
+ self.srcStream = srcStream
+ self.refFileName = refFileName
+ self.doubleBuffer = False
+ self.callNo = 0
+ self.images = []
+ self.states = []