def test_line_parsing(self): """ Test that workload lines are parsed correctly """ parser = TracesParser(TRACES) value = parser.parse(" 53 r1 B read ") self.assertEqual(value, TraceAccess(53, "r1", "B", "read")) value = parser.parse("2424.32 r9 write") self.assertEqual(value, TraceAccess(2424, "r9", None, "write"))
def test_line_parse_failure(self): """ Test that invalid lines raise an exception """ parser = TracesParser(TRACES) with self.assertRaises(WorkloadException): value = parser.parse("abcdefg") with self.assertRaises(WorkloadException): value = parser.parse("23 r2 A touch") with self.assertRaises(WorkloadException): value = parser.parse("")
def test_traces_read(self): """ Test that a traces fixture can be read and parsed """ parser = TracesParser(TRACES) count = 0 for access in parser: count += 1 self.assertIsInstance(access, TraceAccess) self.assertEqual(count, 18)