summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMac Mollison <mollison@cs.unc.edu>2010-03-28 17:36:23 -0400
committerMac Mollison <mollison@cs.unc.edu>2010-03-28 17:36:23 -0400
commit13e0520cafd6280bcdf90208c699a6925efd9fba (patch)
treeb3f17e24e5a6cff21de00e54712e745c4f1dfcc5
parent3e1dbad43a97a8768d1daacf7f269762399c2423 (diff)
Bugfix: Trace with 0 valid records ends iteration
-rw-r--r--unit_trace/trace_reader.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/unit_trace/trace_reader.py b/unit_trace/trace_reader.py
index 62c7ea7..a4c3c05 100644
--- a/unit_trace/trace_reader.py
+++ b/unit_trace/trace_reader.py
@@ -58,7 +58,13 @@ def trace_reader(files):
58 for file in files: 58 for file in files:
59 file_iter = _get_file_iter(file) 59 file_iter = _get_file_iter(file)
60 file_iters.append(file_iter) 60 file_iters.append(file_iter)
61 file_iter_buff.append([file_iter.next()]) 61 try:
62 file_iter_buff.append([file_iter.next()])
63 # What if there isn't a single valid record in a trace file?
64 # file_iter.next() will raise a StopIteration that we need to catch
65 except:
66 # Forget that file iter
67 file_iters.pop()
62 68
63 # We keep 200 records in each buffer and then keep the buffer sorted 69 # We keep 200 records in each buffer and then keep the buffer sorted
64 # This is because records may have been recorded slightly out of order 70 # This is because records may have been recorded slightly out of order
@@ -264,6 +270,8 @@ def _get_type(type_num):
264 types = [None,StNameData,StParamData,StReleaseData,StAssignedData, 270 types = [None,StNameData,StParamData,StReleaseData,StAssignedData,
265 StSwitchToData,StSwitchAwayData,StCompletionData,StBlockData, 271 StSwitchToData,StSwitchAwayData,StCompletionData,StBlockData,
266 StResumeData,StSysReleaseData] 272 StResumeData,StSysReleaseData]
273 if type_num > len(types)-1 or type_num < 1:
274 raise Exception
267 return types[type_num] 275 return types[type_num]
268 276
269# Return the type name, given the type_num (this is simply a convenience to 277# Return the type name, given the type_num (this is simply a convenience to