+ images = []
+ states = []
+
+ if self.ref_dump:
+ refParser = tracematch.RefTraceParser(self.ref_dump)
+ refTrace = refParser.parse()
+
+ try:
+ mo = refTrace.match(srcTrace)
+ except tracematch.TraceMismatch, ex:
+ fail(str(ex))
+
+ dirName, baseName = os.path.split(os.path.abspath(self.ref_dump))
+ prefix, _ = os.path.splitext(baseName)
+ prefix += '.'
+ fileNames = os.listdir(dirName)
+ for fileName in fileNames:
+ if fileName.startswith(prefix) and fileName != self.ref_dump:
+ rest = fileName[len(prefix):]
+ paramName, ext = os.path.splitext(rest)
+ if ext in ('.json', '.png'):
+ if paramName.isdigit():
+ callNo = int(paramName)
+ else:
+ try:
+ callNo = mo.params[paramName]
+ except KeyError:
+ fail('could not find parameter %s for %s' % (paramName, fileName))
+ filePath = os.path.join(dirName, fileName)
+ if ext == '.png':
+ images.append((callNo, filePath))
+ if ext == '.json':
+ states.append((callNo, filePath))