| OLD | NEW |
| 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 Loading... |
| 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 |
| OLD | NEW |