Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 # Copyright 2013 The Chromium Authors. All rights reserved. | 1 # Copyright 2013 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 import logging | 4 import logging |
| 5 import os | 5 import os |
| 6 import unittest | 6 import unittest |
| 7 | 7 |
| 8 from telemetry.core.platform import linux_based_platform_backend | 8 from telemetry.core.platform import linux_based_platform_backend |
| 9 from telemetry.core import util | 9 from telemetry.core import util |
| 10 | 10 |
| 11 util.AddDirToPythonPath(util.GetTelemetryDir(), 'third_party', 'mock') | |
| 12 import mock # pylint: disable=import-error | |
| 13 | |
| 14 | |
| 11 | 15 |
| 12 class TestBackend(linux_based_platform_backend.LinuxBasedPlatformBackend): | 16 class TestBackend(linux_based_platform_backend.LinuxBasedPlatformBackend): |
| 13 | 17 |
| 14 # pylint: disable=W0223 | 18 # pylint: disable=W0223 |
| 15 | 19 |
| 16 def __init__(self): | 20 def __init__(self): |
| 17 super(TestBackend, self).__init__() | 21 super(TestBackend, self).__init__() |
| 18 self._mock_files = {} | 22 self._mock_files = {} |
| 19 | 23 |
| 20 def SetMockFile(self, filename, output): | 24 def SetMockFile(self, filename, output): |
| (...skipping 19 matching lines...) Expand all Loading... | |
| 40 | 44 |
| 41 backend = TestBackend() | 45 backend = TestBackend() |
| 42 self.SetMockFileInBackend(backend, 'stat', '/proc/1/stat') | 46 self.SetMockFileInBackend(backend, 'stat', '/proc/1/stat') |
| 43 result = backend.GetCpuStats(1) | 47 result = backend.GetCpuStats(1) |
| 44 self.assertEquals(result, {'CpuProcessTime': 22.0}) | 48 self.assertEquals(result, {'CpuProcessTime': 22.0}) |
| 45 | 49 |
| 46 def testGetCpuTimestampBasic(self): | 50 def testGetCpuTimestampBasic(self): |
| 47 if not linux_based_platform_backend.resource: | 51 if not linux_based_platform_backend.resource: |
| 48 logging.warning('Test not supported') | 52 logging.warning('Test not supported') |
| 49 return | 53 return |
| 50 | 54 jiffies_grep_string = """ |
| 51 backend = TestBackend() | 55 jiffies |
| 52 self.SetMockFileInBackend(backend, 'timer_list', '/proc/timer_list') | 56 jiffies a1111 |
| 53 result = backend.GetCpuTimestamp() | 57 jiffies: 10505463300 |
|
aiolos (Not reviewing)
2015/04/25 03:03:16
nit: Could you add a line for '.last_jiffies' like
nednguyen
2015/04/25 04:10:23
Done.
| |
| 54 self.assertEquals(result, {'TotalTime': 105054633.0}) | 58 jiffies: 10505463333 |
| 59 """ | |
| 60 with mock.patch.object( | |
| 61 linux_based_platform_backend.LinuxBasedPlatformBackend, | |
| 62 'RunCommand', return_value=jiffies_grep_string) as mock_method: | |
| 63 backend = linux_based_platform_backend.LinuxBasedPlatformBackend() | |
| 64 result = backend.GetCpuTimestamp() | |
| 65 self.assertEquals(result, {'TotalTime': 105054633.0}) | |
| 66 mock_method.assert_call_once_with( | |
| 67 ['grep', '-m', '1', 'jiffies:','/proc/timer_list']) | |
| 55 | 68 |
| 56 def testGetMemoryStatsBasic(self): | 69 def testGetMemoryStatsBasic(self): |
| 57 if not linux_based_platform_backend.resource: | 70 if not linux_based_platform_backend.resource: |
| 58 logging.warning('Test not supported') | 71 logging.warning('Test not supported') |
| 59 return | 72 return |
| 60 | 73 |
| 61 backend = TestBackend() | 74 backend = TestBackend() |
| 62 self.SetMockFileInBackend(backend, 'stat', '/proc/1/stat') | 75 self.SetMockFileInBackend(backend, 'stat', '/proc/1/stat') |
| 63 self.SetMockFileInBackend(backend, 'status', '/proc/1/status') | 76 self.SetMockFileInBackend(backend, 'status', '/proc/1/status') |
| 64 self.SetMockFileInBackend(backend, 'smaps', '/proc/1/smaps') | 77 self.SetMockFileInBackend(backend, 'smaps', '/proc/1/smaps') |
| (...skipping 12 matching lines...) Expand all Loading... | |
| 77 backend = TestBackend() | 90 backend = TestBackend() |
| 78 self.SetMockFileInBackend(backend, 'stat', '/proc/1/stat') | 91 self.SetMockFileInBackend(backend, 'stat', '/proc/1/stat') |
| 79 self.SetMockFileInBackend(backend, 'status_nohwm', '/proc/1/status') | 92 self.SetMockFileInBackend(backend, 'status_nohwm', '/proc/1/status') |
| 80 self.SetMockFileInBackend(backend, 'smaps', '/proc/1/smaps') | 93 self.SetMockFileInBackend(backend, 'smaps', '/proc/1/smaps') |
| 81 result = backend.GetMemoryStats(1) | 94 result = backend.GetMemoryStats(1) |
| 82 self.assertEquals(result, {'PrivateDirty': 5324800, | 95 self.assertEquals(result, {'PrivateDirty': 5324800, |
| 83 'VM': 1025978368, | 96 'VM': 1025978368, |
| 84 'VMPeak': 1025978368, | 97 'VMPeak': 1025978368, |
| 85 'WorkingSetSize': 84000768, | 98 'WorkingSetSize': 84000768, |
| 86 'WorkingSetSizePeak': 84000768}) | 99 'WorkingSetSizePeak': 84000768}) |
| OLD | NEW |