-def diff(traces):
- fifodir = tempfile.mkdtemp()
- try:
- fifos = []
- for i in range(len(traces)):
- trace = traces[i]
- fifo = os.path.join(fifodir, str(i))
- stripdump(trace, fifo)
- fifos.append(fifo)
-
- # TODO use difflib instead
- if options.diff == 'diff':
- diff_args = [
- 'diff',
- '--speed-large-files',
- '--old-line-format=' + start_delete + '%l' + end_delete + '\n',
- '--new-line-format=' + start_insert + '%l' + end_insert + '\n',
- ]
- elif options.diff == 'sdiff':
- diff_args = [
- 'sdiff',
- '--width=%u' % options.width,
- '--speed-large-files',
- ]
- elif options.diff == 'wdiff':
- diff_args = [
- 'wdiff',
- #'--terminal',
- '--avoid-wraps',
- '--start-delete=' + start_delete,
- '--end-delete=' + end_delete,
- '--start-insert=' + start_insert,
- '--end-insert=' + end_insert,
- ]
- else:
- assert False
- diff_args += fifos
-
- diff = subprocess.Popen(
- args = diff_args,
- stdout = subprocess.PIPE,
- universal_newlines = True,
- )
+def diff(ref_trace, src_trace):
+
+ ref_dumper = Dumper(ref_trace, options.ref_calls)
+ src_dumper = Dumper(src_trace, options.src_calls)
+
+ # TODO use difflib instead
+ if options.diff == 'diff':
+ diff_args = [
+ 'diff',
+ '--speed-large-files',
+ '--old-line-format=' + start_delete + '%l' + end_delete + '\n',
+ '--new-line-format=' + start_insert + '%l' + end_insert + '\n',
+ ]
+ elif options.diff == 'sdiff':
+ diff_args = [
+ 'sdiff',
+ '--width=%u' % options.width,
+ '--speed-large-files',
+ ]
+ elif options.diff == 'wdiff':
+ diff_args = [
+ 'wdiff',
+ #'--terminal',
+ '--avoid-wraps',
+ '--start-delete=' + start_delete,
+ '--end-delete=' + end_delete,
+ '--start-insert=' + start_insert,
+ '--end-insert=' + end_insert,
+ ]
+ else:
+ assert False
+ diff_args += [ref_dumper.output.name, src_dumper.output.name]