diff options
author | Mac Mollison <mollison@cs.unc.edu> | 2010-03-28 17:36:23 -0400 |
---|---|---|
committer | Mac Mollison <mollison@cs.unc.edu> | 2010-03-28 17:36:23 -0400 |
commit | 13e0520cafd6280bcdf90208c699a6925efd9fba (patch) | |
tree | b3f17e24e5a6cff21de00e54712e745c4f1dfcc5 | |
parent | 3e1dbad43a97a8768d1daacf7f269762399c2423 (diff) |
Bugfix: Trace with 0 valid records ends iteration
-rw-r--r-- | unit_trace/trace_reader.py | 10 |
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 |