return result
- def get_expected_output(self, filename):
- with open(self.data_path + filename, 'r') as expected_file:
+ def get_expected_output(self, test_name):
+ expected_path = os.path.join(self.data_path, test_name + '.txt')
+ with open(expected_path, 'r') as expected_file:
return expected_file.read()
def get_cmd_output(self, exec_name, options=''):
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 save_test_result(self, result, test_name):
+ result_path = os.path.join(self.trace_writer.trace_root, test_name)
+ with open(result_path, 'w') as result_file:
+ result_file.write(result)
+ self.rm_trace = False
- def diff(self, name, result, expected):
+ def _assertMultiLineEqual(self, result, expected, test_name):
try:
self.assertMultiLineEqual(result, expected)
except AssertionError:
- self.get_output(name, result)
+ self.save_test_result(result, test_name)
raise
self.trace_writer.flush()
def test_cputop(self):
- expected = self.get_expected_output('cputop.txt')
+ test_name = 'cputop'
+ expected = self.get_expected_output(test_name)
result = self.get_cmd_output('lttng-cputop')
- self.diff("cputop", result, expected)
+ self._assertMultiLineEqual(result, expected, test_name)
self.trace_writer.flush()
def test_iousagetop(self):
- expected = self.get_expected_output('iousagetop.txt')
+ test_name = 'iousagetop'
+ expected = self.get_expected_output(test_name)
result = self.get_cmd_output('lttng-iousagetop')
- self.diff("iousagetop", result, expected)
+ self._assertMultiLineEqual(result, expected, test_name)
def test_iolatencytop(self):
- expected = self.get_expected_output('iolatencytop.txt')
+ test_name = 'iolatencytop'
+ expected = self.get_expected_output(test_name)
result = self.get_cmd_output('lttng-iolatencytop')
- self.diff("iolatencytop", result, expected)
+ self._assertMultiLineEqual(result, expected, test_name)
self.trace_writer.flush()
def test_irqstats(self):
- expected = self.get_expected_output('irqstats.txt')
+ test_name = 'irqstats'
+ expected = self.get_expected_output(test_name)
result = self.get_cmd_output('lttng-irqstats')
- self.diff("irqstats", result, expected)
+ self._assertMultiLineEqual(result, expected, test_name)
def test_irqlog(self):
- expected = self.get_expected_output('irqlog.txt')
+ test_name = 'irqlog'
+ expected = self.get_expected_output(test_name)
result = self.get_cmd_output('lttng-irqlog')
- self.diff("irqlog", result, expected)
+ self._assertMultiLineEqual(result, expected, test_name)