def testJoining(self): for traceFile in [testTrace1, testTrace2]: trace = self.loadTrace(traceFile) l = len(trace.events) a = TraceOperations.extract(trace, 0, l / 2) b = TraceOperations.extract(trace, l / 2, l) assert len(a.events) + len(b.events) == l newTrace = TraceOperations.join(a, b) self.assertEqualEventLists(newTrace.events, trace.events) for i, event in enumerate(newTrace.events): self.assertEqual(event.seq, i)
def testJoining(self): for traceFile in [testTrace1, testTrace2]: trace = self.loadTrace(traceFile) l = len(trace.events) a = TraceOperations.extract(trace, 0, l / 2) b = TraceOperations.extract(trace, l / 2, l) assert len(a.events) + len(b.events) == l newTrace = TraceOperations.join(a, b) self.assertEqualEventLists(newTrace.events, trace.events) for i, event in enumerate(newTrace.events): self.assertEqual(event.seq, i)
def joinTraces(self, traceName1, traceName2, traceNameOut = None): """ Join two traces together to produce a new third trace. @param traceName1: Name of the first trace @param traceName2: Name of the second trace @param traceNameOut: Name under which resulting trace is saved, or the first trace by default. """ if not traceName1 in self.analyzer.traces: self.analyzer.fail("Trace not found: %s" % traceName1) if not traceName2 in self.analyzer.traces: self.analyzer.fail("Trace not found: %s" % traceName2) if traceNameOut is None: traceNameOut = traceName1 trace = TraceOperations.join(self.analyzer.traces[traceName1], self.analyzer.traces[traceName2]) self.analyzer.traces[traceNameOut] = trace self.reportInfo("Traces %s and %s joined to trace %s." % (traceName1, traceName2, traceNameOut)) return trace
def joinTraces(self, traceName1, traceName2, traceNameOut=None): """ Join two traces together to produce a new third trace. @param traceName1: Name of the first trace @param traceName2: Name of the second trace @param traceNameOut: Name under which resulting trace is saved, or the first trace by default. """ if not traceName1 in self.analyzer.traces: self.analyzer.fail("Trace not found: %s" % traceName1) if not traceName2 in self.analyzer.traces: self.analyzer.fail("Trace not found: %s" % traceName2) if traceNameOut is None: traceNameOut = traceName1 trace = TraceOperations.join(self.analyzer.traces[traceName1], self.analyzer.traces[traceName2]) self.analyzer.traces[traceNameOut] = trace self.reportInfo("Traces %s and %s joined to trace %s." % (traceName1, traceName2, traceNameOut)) return trace