-import checker
-
-
-class RefTraceParser(checker.RefTraceParser):
-
- def __init__(self, fileName):
- checker.RefTraceParser.__init__(self, open(fileName, 'rt'))
- self.fileName = fileName
- self.images = []
- self.states = []
- self.pragmaNo = 0
-
- def handlePragma(self, line):
- if self.calls:
- lastCall = self.calls[-1]
- if lastCall.callNo is None:
- paramName = 'pragma%u' % self.pragmaNo
- lastCall.callNo = checker.WildcardMatcher(paramName)
- else:
- paramName = lastCall.callNo.name
- else:
- paramName = 0
- self.pragmaNo += 1
-
- pragma, rest = line.split(None, 1)
- if pragma == '#image':
- imageFileName = self.getAbsPath(rest)
- self.images.append((paramName, imageFileName))
- elif pragma == '#state':
- stateFileName = self.getAbsPath(rest)
- self.states.append((paramName, stateFileName))
- else:
- assert False
-
- def getAbsPath(self, path):
- '''Get the absolute from a path relative to the reference filename'''
- return os.path.abspath(os.path.join(os.path.dirname(self.fileName), path))
-
-
-class SrcTraceParser(checker.SrcTraceParser):