Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(33)

Unified Diff: infra/services/mastermon/test/pollers_test.py

Issue 1877953002: mastermon: collect step results count (Closed) Base URL: https://chromium.googlesource.com/infra/infra.git@master
Patch Set: Refactoring + tests Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « infra/services/mastermon/pollers.py ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: infra/services/mastermon/test/pollers_test.py
diff --git a/infra/services/mastermon/test/pollers_test.py b/infra/services/mastermon/test/pollers_test.py
index c260afcab1b8cf39476cdeebb801756322500031..964e9ee2c23582c97e6667bccc523a76dfa59f16 100644
--- a/infra/services/mastermon/test/pollers_test.py
+++ b/infra/services/mastermon/test/pollers_test.py
@@ -4,7 +4,6 @@
import json
import os
-import tempfile
import time
import unittest
@@ -211,36 +210,37 @@ class FilePollerTest(unittest.TestCase):
self.assertTrue(p.poll())
self.assertFalse(os.path.isfile(pollers.rotated_filename(filename)))
- @mock.patch('infra_libs.ts_mon.CounterMetric.increment')
- @mock.patch('infra_libs.ts_mon.CumulativeDistributionMetric.add')
- def test_file_has_data(self, fake_add, fake_increment):
+ def test_file_has_data(self):
result1 = {'builder': 'b1', 'slave': 's1',
'result': 'r1', 'project_id': 'chromium',
'subproject_tag': 'unknown'}
result2 = {'builder': 'b1', 'slave': 's1',
'result': 'r1', 'project_id': 'unknown',
'subproject_tag': 'unknown'}
+ result3 = {'builder': 'b1', 'slave': 's1',
+ 'step_result': 'r1', 'project_id': 'chromium',
+ 'subproject_tag': 'unknown'}
# Check that we've listed all the required metric fields.
- self.assertEqual(set(result1), set(pollers.FilePoller.field_keys))
- self.assertEqual(set(result2), set(pollers.FilePoller.field_keys))
-
- data1 = result1.copy()
- data2 = result2.copy()
- data1['random'] = 'value' # Extra field, should be ignored.
- del data2['project_id'] # Missing field, should become 'unknown'.
- data2['duration_s'] = 5
- data2['pending_s'] = 1
- data2['total_s'] = data2['pending_s'] + data2['duration_s']
- data2['pre_test_time_s'] = 2
+ self.assertEqual(set(result1), set(pollers.FilePoller.build_field_keys))
+ self.assertEqual(set(result2), set(pollers.FilePoller.build_field_keys))
+ self.assertEqual(set(result3), set(pollers.FilePoller.step_field_keys))
+
+ data = [r.copy() for r in (result1, result2, result3)]
+ data[0]['random'] = 'value' # Extra field, should be ignored.
+ del data[1]['project_id'] # Missing field, should become 'unknown'.
+ data[1]['duration_s'] = 5
+ data[1]['pending_s'] = 1
+ data[1]['total_s'] = data[1]['pending_s'] + data[1]['duration_s']
+ data[1]['pre_test_time_s'] = 2
with temporary_directory(prefix='poller-test-') as tempdir:
- filename = self.create_data_file(tempdir, [data1, data2])
+ filename = self.create_data_file(tempdir, data)
p = pollers.FilePoller(filename, {})
self.assertTrue(p.poll())
- fake_increment.assert_any_call(result1)
- fake_increment.assert_any_call(result2)
- fake_add.assert_any_call(data2['duration_s'], result2)
- fake_add.assert_any_call(data2['pending_s'], result2)
- fake_add.assert_any_call(data2['total_s'], result2)
+
+ self.assertEqual(pollers.FilePoller.result_count.get(result1), 1)
+ self.assertEqual(pollers.FilePoller.result_count.get(result2), 1)
+ self.assertEqual(pollers.FilePoller.step_results_count.get(result3), 1)
+
self.assertFalse(os.path.isfile(filename))
# Make sure the rotated file is still there - for debugging.
self.assertTrue(os.path.isfile(pollers.rotated_filename(filename)))
« no previous file with comments | « infra/services/mastermon/pollers.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698