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

Side by Side Diff: infra/services/sysmon/test/system_metrics_test.py

Issue 2106953006: adding os metrics (os name and version) being collected every hour (Closed) Base URL: https://chromium.googlesource.com/infra/infra.git@master
Patch Set: updating system_metrics.clear_os_info to clear all added fields, fixing unit tests for clear Created 4 years, 4 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 unified diff | Download patch
« no previous file with comments | « infra/services/sysmon/system_metrics.py ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2015 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2015 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import collections 5 import collections
6 import os 6 import os
7 import sys 7 import sys
8 import unittest 8 import unittest
9 9
10 import mock 10 import mock
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
150 system_metrics.load_average.get(fields={'minutes': 1}), 0) 150 system_metrics.load_average.get(fields={'minutes': 1}), 0)
151 self.assertGreater( 151 self.assertGreater(
152 system_metrics.load_average.get(fields={'minutes': 5}), 0) 152 system_metrics.load_average.get(fields={'minutes': 5}), 0)
153 self.assertGreater( 153 self.assertGreater(
154 system_metrics.load_average.get(fields={'minutes': 15}), 0) 154 system_metrics.load_average.get(fields={'minutes': 15}), 0)
155 155
156 def test_get_unix_time(self): 156 def test_get_unix_time(self):
157 system_metrics.get_unix_time() 157 system_metrics.get_unix_time()
158 self.assertTrue( 158 self.assertTrue(
159 1464000000000 < system_metrics.unix_time.get() < 9464000000000) 159 1464000000000 < system_metrics.unix_time.get() < 9464000000000)
160
161 # this first patch doesn't need to be an arg
162 @mock.patch('sys.maxsize', 9223372036854775807)
163 # NB: remaining patches must be in reverse order of arguments
164 @mock.patch('platform.machine')
165 @mock.patch('platform.mac_ver')
166 @mock.patch('platform.system')
167 def test_os_info_mac_10115_64_64(self,
168 platform_system_mock,
169 platform_mac_ver_mock,
170 platform_machine_mock):
171 platform_system_mock.return_value = 'Darwin'
172 platform_mac_ver_mock.return_value = ('10.11.5', ('', '', ''), 'x86_64')
173 platform_machine_mock.return_value = 'x86_64'
174
175 system_metrics.get_os_info()
176
177 platform_system_mock.assert_called_once_with()
178 platform_mac_ver_mock.assert_called_once_with()
179 platform_machine_mock.assert_called_once_with()
180
181 self.assertEqual('mac', system_metrics.os_name.get())
182 self.assertEqual('10.11.5', system_metrics.os_version.get())
183 self.assertEqual('x86_64', system_metrics.os_arch.get())
184 self.assertEqual('64', system_metrics.python_arch.get())
185
186 # this first patch doesn't need to be an arg
187 @mock.patch('sys.maxsize', 9223372036854775807)
188 # NB: remaining patches must be in reverse order of arguments
189 @mock.patch('platform.machine')
190 @mock.patch('platform.mac_ver')
191 @mock.patch('platform.system')
192 def test_os_info_empty_info(self,
193 platform_system_mock,
194 platform_mac_ver_mock,
195 platform_machine_mock):
196 # this test is to hit the 'impossible' else case for a system
197 # this is to check that the fallback/error handling code behaves
198
199 platform_system_mock.return_value = ''
200 platform_mac_ver_mock.return_value = ('', ('', '', ''), '')
201 platform_machine_mock.return_value = ''
202
203 system_metrics.get_os_info()
204
205 platform_system_mock.assert_called_once_with()
206 platform_mac_ver_mock.assert_called_once_with()
207 platform_machine_mock.assert_called_once_with()
208
209 self.assertEqual('', system_metrics.os_name.get())
210 self.assertEqual('', system_metrics.os_version.get())
211 self.assertEqual('', system_metrics.os_arch.get())
212 self.assertEqual('64', system_metrics.python_arch.get())
213
214 # this first patch doesn't need to be an arg
215 @mock.patch('sys.maxsize', 2147483647)
216 # NB: remaining patches must be in reverse order of arguments
217 @mock.patch('platform.machine')
218 @mock.patch('platform.release')
219 @mock.patch('platform.system')
220 def test_os_info_clear(self,
221 platform_system_mock,
222 platform_release_mock,
223 platform_machine_mock):
224 platform_system_mock.return_value = 'Windows'
225 platform_release_mock.return_value = '7'
226 platform_machine_mock.return_value = 'x86'
227
228 system_metrics.get_os_info()
229
230 platform_system_mock.assert_called_once_with()
231 platform_release_mock.assert_called_once_with()
232 platform_machine_mock.assert_called_once_with()
233
234 self.assertEqual('windows', system_metrics.os_name.get())
235 self.assertEqual('7', system_metrics.os_version.get())
236 self.assertEqual('x86', system_metrics.os_arch.get())
237 self.assertEqual('32', system_metrics.python_arch.get())
238
239 # test that clearing the metrics keeps them emtpy on subsequent runs
240 system_metrics.clear_os_info()
241
242 self.assertEqual(None, system_metrics.os_name.get())
243 self.assertEqual(None, system_metrics.os_version.get())
244 self.assertEqual(None, system_metrics.os_arch.get())
245 self.assertEqual(None, system_metrics.python_arch.get())
246
247 # this first patch doesn't need to be an arg
248 @mock.patch('sys.maxsize', 2147483647)
249 # NB: remaining patches must be in reverse order of arguments
250 @mock.patch('platform.machine')
251 @mock.patch('platform.release')
252 @mock.patch('platform.system')
253 def test_os_info_windows_7_32_32(self,
254 platform_system_mock,
255 platform_release_mock,
256 platform_machine_mock):
257 platform_system_mock.return_value = 'Windows'
258 platform_release_mock.return_value = '7'
259 platform_machine_mock.return_value = 'x86'
260
261 system_metrics.get_os_info()
262
263 platform_system_mock.assert_called_once_with()
264 platform_release_mock.assert_called_once_with()
265 platform_machine_mock.assert_called_once_with()
266
267 self.assertEqual('windows', system_metrics.os_name.get())
268 self.assertEqual('7', system_metrics.os_version.get())
269 self.assertEqual('x86', system_metrics.os_arch.get())
270 self.assertEqual('32', system_metrics.python_arch.get())
271
272 # this first patch doesn't need to be an arg
273 @mock.patch('sys.maxsize', 2147483647)
274 # NB: remaining patches must be in reverse order of arguments
275 @mock.patch('platform.machine')
276 @mock.patch('platform.dist')
277 @mock.patch('platform.system')
278 def test_os_info_ubuntu_1404_32_32(self,
279 platform_system_mock,
280 platform_dist_mock,
281 platform_machine_mock):
282 platform_system_mock.return_value = 'Linux'
283 platform_dist_mock.return_value = ('Ubuntu', '14.04', 'trusty')
284 platform_machine_mock.return_value = 'i686'
285
286 system_metrics.get_os_info()
287
288 platform_system_mock.assert_called_once_with()
289 platform_dist_mock.assert_called_once_with()
290 platform_machine_mock.assert_called_once_with()
291
292 self.assertEqual('ubuntu', system_metrics.os_name.get())
293 self.assertEqual('14.04', system_metrics.os_version.get())
294 self.assertEqual('i686', system_metrics.os_arch.get())
295 self.assertEqual('32', system_metrics.python_arch.get())
296
297 # this first patch doesn't need to be an arg
298 @mock.patch('sys.maxsize', 2147483647)
299 # NB: remaining patches must be in reverse order of arguments
300 @mock.patch('platform.machine')
301 @mock.patch('platform.dist')
302 @mock.patch('platform.system')
303 def test_os_info_ubuntu_1404_64_32(self,
304 platform_system_mock,
305 platform_dist_mock,
306 platform_machine_mock):
307 platform_system_mock.return_value = 'Linux'
308 platform_dist_mock.return_value = ('Ubuntu', '14.04', 'trusty')
309 platform_machine_mock.return_value = 'x86_64'
310
311 system_metrics.get_os_info()
312
313 platform_system_mock.assert_called_once_with()
314 platform_dist_mock.assert_called_once_with()
315 platform_machine_mock.assert_called_once_with()
316
317 self.assertEqual('ubuntu', system_metrics.os_name.get())
318 self.assertEqual('14.04', system_metrics.os_version.get())
319 self.assertEqual('x86_64', system_metrics.os_arch.get())
320 self.assertEqual('32', system_metrics.python_arch.get())
321
322 # this first patch doesn't need to be an arg
323 @mock.patch('sys.maxsize', 9223372036854775807)
324 # NB: remaining patches must be in reverse order of arguments
325 @mock.patch('platform.machine')
326 @mock.patch('platform.dist')
327 @mock.patch('platform.system')
328 def test_os_info_ubuntu_1404_64_64(self,
329 platform_system_mock,
330 platform_dist_mock,
331 platform_machine_mock):
332 platform_system_mock.return_value = 'Linux'
333 platform_dist_mock.return_value = ('Ubuntu', '14.04', 'trusty')
334 platform_machine_mock.return_value = 'x86_64'
335
336 system_metrics.get_os_info()
337
338 platform_system_mock.assert_called_once_with()
339 platform_dist_mock.assert_called_once_with()
340 platform_machine_mock.assert_called_once_with()
341
342 self.assertEqual('ubuntu', system_metrics.os_name.get())
343 self.assertEqual('14.04', system_metrics.os_version.get())
344 self.assertEqual('x86_64', system_metrics.os_arch.get())
345 self.assertEqual('64', system_metrics.python_arch.get())
346
347
OLDNEW
« no previous file with comments | « infra/services/sysmon/system_metrics.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698