class AnalysisTest(unittest.TestCase):
COMMON_OPTIONS = '--no-progress --skip-validation --gmt'
+ def __init__(self, *args, **kwargs):
+ super().__init__(*args, **kwargs)
+ self.rm_trace = True
+
def set_up_class(self):
dirname = os.path.dirname(os.path.realpath(__file__))
self.data_path = dirname + '/expected/'
self.write_trace()
def tear_down_class(self):
- self.trace_writer.rm_trace()
+ if self.rm_trace:
+ self.trace_writer.rm_trace()
def write_trace(self):
raise NotImplementedError
options, self.trace_writer.trace_root)
return subprocess.getoutput(cmd)
+
+ def get_output(self, name, output):
+ out = open(os.path.join(self.trace_writer.trace_root, name), "w")
+ out.write(output)
+ out.close()
+ self.rm_trace = False
+
+ def diff(self, name, result, expected):
+ try:
+ self.assertMultiLineEqual(result, expected)
+ except AssertionError:
+ self.get_output(name, result)
+ raise
expected = self.get_expected_output('cputop.txt')
result = self.get_cmd_output('lttng-cputop')
- self.assertMultiLineEqual(result, expected)
+ self.diff("cputop", result, expected)
expected = self.get_expected_output('iousagetop.txt')
result = self.get_cmd_output('lttng-iousagetop')
- self.assertMultiLineEqual(result, expected)
+ self.diff("iousagetop", result, expected)
def test_iolatencytop(self):
expected = self.get_expected_output('iolatencytop.txt')
result = self.get_cmd_output('lttng-iolatencytop')
- self.assertMultiLineEqual(result, expected)
+ self.diff("iolatencytop", result, expected)
expected = self.get_expected_output('irqstats.txt')
result = self.get_cmd_output('lttng-irqstats')
- self.assertMultiLineEqual(result, expected)
+ self.diff("irqstats", result, expected)
def test_irqlog(self):
expected = self.get_expected_output('irqlog.txt')
result = self.get_cmd_output('lttng-irqlog')
- self.assertMultiLineEqual(result, expected)
+ self.diff("irqlog", result, expected)