Commit d0ae6614 authored by Mikhail Khokhlov's avatar Mikhail Khokhlov Committed by Commit Bot

[tools/perf] Don't compute metrics for skipped stories

Skipped stories may have traces and metrics defined but it doesn't
make sense to run metrics computation on them.

Bug: 981349
Change-Id: Id1453a9d00a83c12975ccacb45f2c8ffcd9815d7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1841334
Commit-Queue: Mikhail Khokhlov <khokhlov@google.com>
Reviewed-by: default avatarJuan Antonio Navarro Pérez <perezju@chromium.org>
Cr-Commit-Position: refs/heads/master@{#702940}
parent 89f6e270
...@@ -83,6 +83,9 @@ def ComputeTBMv2Metrics(intermediate_results): ...@@ -83,6 +83,9 @@ def ComputeTBMv2Metrics(intermediate_results):
del artifacts[HISTOGRAM_DICTS_FILE] del artifacts[HISTOGRAM_DICTS_FILE]
continue continue
if test_result['status'] == 'SKIP':
continue
if (HTML_TRACE_NAME not in artifacts or if (HTML_TRACE_NAME not in artifacts or
not any(tag['key'] == 'tbmv2' for tag in test_result.get('tags', []))): not any(tag['key'] == 'tbmv2' for tag in test_result.get('tags', []))):
continue continue
......
...@@ -67,7 +67,7 @@ class ComputeMetricsTest(unittest.TestCase): ...@@ -67,7 +67,7 @@ class ComputeMetricsTest(unittest.TestCase):
with mock.patch(RUN_METRICS_METHOD) as run_metrics_mock: with mock.patch(RUN_METRICS_METHOD) as run_metrics_mock:
getsize_mock.return_value = 1e9 getsize_mock.return_value = 1e9
histogram_dicts = compute_metrics.ComputeTBMv2Metrics(in_results) histogram_dicts = compute_metrics.ComputeTBMv2Metrics(in_results)
run_metrics_mock.assert_not_called() self.assertEqual(run_metrics_mock.call_count, 0)
self.assertEqual(histogram_dicts, []) self.assertEqual(histogram_dicts, [])
self.assertEqual(in_results['testResults'][0]['status'], 'FAIL') self.assertEqual(in_results['testResults'][0]['status'], 'FAIL')
...@@ -94,3 +94,22 @@ class ComputeMetricsTest(unittest.TestCase): ...@@ -94,3 +94,22 @@ class ComputeMetricsTest(unittest.TestCase):
self.assertEqual(histogram_dicts, []) self.assertEqual(histogram_dicts, [])
self.assertEqual(in_results['testResults'][0]['status'], 'FAIL') self.assertEqual(in_results['testResults'][0]['status'], 'FAIL')
def testComputeTBMv2MetricsSkipped(self):
in_results = testing.IntermediateResults([
testing.TestResult(
'benchmark/story1',
artifacts={
compute_metrics.HTML_TRACE_NAME:
testing.Artifact('/trace1.html', 'gs://trace1.html')},
tags=['tbmv2:metric1'],
status='SKIP',
),
])
with mock.patch(RUN_METRICS_METHOD) as run_metrics_mock:
histogram_dicts = compute_metrics.ComputeTBMv2Metrics(in_results)
self.assertEqual(run_metrics_mock.call_count, 0)
self.assertEqual(histogram_dicts, [])
self.assertEqual(in_results['testResults'][0]['status'], 'SKIP')
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