Commit 7cf9438c authored by Edward Lemur's avatar Edward Lemur Committed by Commit Bot

presubmit: Print executed command along with test name.

Useful when runnig the same test both on Python 2 and Python 3.

Change-Id: I6074e4cbd64318985cf438a2d491182b7b9ccc7b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/1913259Reviewed-by: 's avatarAnthony Polito <apolito@google.com>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
parent bf26b167
......@@ -181,21 +181,18 @@ class ThreadPool(object):
p = subprocess.Popen(cmd, **test.kwargs)
stdout, _ = sigint_handler.wait(p, test.stdin)
duration = time.time() - start
except OSError as e:
except Exception:
duration = time.time() - start
return test.message(
'%s exec failure (%4.2fs)\n %s' % (test.name, duration, e))
except Exception as e:
duration = time.time() - start
return test.message(
'%s exec failure (%4.2fs)\n%s' % (
test.name, duration, traceback.format_exc()))
'%s\n%s exec failure (%4.2fs)\n%s' % (
test.name, ' '.join(cmd), duration, traceback.format_exc()))
if p.returncode != 0:
return test.message(
'%s (%4.2fs) failed\n%s' % (test.name, duration, stdout))
'%s\n%s (%4.2fs) failed\n%s' % (
test.name, ' '.join(cmd), duration, stdout))
if test.info:
return test.info('%s (%4.2fs)' % (test.name, duration))
return test.info('%s\n%s (%4.2fs)' % (test.name, ' '.join(cmd), duration))
def AddTests(self, tests, parallel=True):
if parallel:
......
......@@ -2063,7 +2063,9 @@ the current line as well!
self.assertEqual(len(results), 1)
self.assertEqual(results[0].__class__,
presubmit.OutputApi.PresubmitNotifyResult)
self.assertEqual('test_module (0.00s) failed\nfoo', results[0]._message)
self.assertEqual(
'test_module\npyyyyython -m test_module (0.00s) failed\nfoo',
results[0]._message)
def testRunPythonUnitTestsFailureCommitting(self):
input_api = self.MockInputApi(None, True)
......@@ -2074,7 +2076,9 @@ the current line as well!
input_api, presubmit.OutputApi, ['test_module'])
self.assertEqual(len(results), 1)
self.assertEqual(results[0].__class__, presubmit.OutputApi.PresubmitError)
self.assertEqual('test_module (0.00s) failed\nfoo', results[0]._message)
self.assertEqual(
'test_module\npyyyyython -m test_module (0.00s) failed\nfoo',
results[0]._message)
def testRunPythonUnitTestsSuccess(self):
input_api = self.MockInputApi(None, False)
......@@ -2943,10 +2947,12 @@ class ThreadPoolTest(unittest.TestCase):
self.assertEqual(3, len(messages))
self.assertIn(
'3 exec failure (0.00s)\nTraceback (most recent call last):',
'3\n3 exec failure (0.00s)\nTraceback (most recent call last):',
messages[0])
self.assertEqual('4 exec failure (0.00s)\n OSError', messages[1])
self.assertEqual('5 (0.00s) failed\nstdout', messages[2])
self.assertIn(
'4\n4 exec failure (0.00s)\nTraceback (most recent call last):',
messages[1])
self.assertEqual('5\n5 (0.00s) failed\nstdout', messages[2])
if __name__ == '__main__':
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment