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

Side by Side Diff: telemetry/telemetry/internal/platform/linux_based_platform_backend_unittest.py

Issue 2162963002: [polymer] Merge of master into polymer10-migration (Closed) Base URL: git@github.com:catapult-project/catapult.git@polymer10-migration
Patch Set: Merge polymer10-migration int polymer10-merge Created 4 years, 5 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
OLDNEW
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 4
5 import logging 5 import logging
6 import os 6 import os
7 import unittest 7 import unittest
8 8
9 from telemetry.core import util 9 from telemetry.core import util
10 from telemetry.internal.platform import linux_based_platform_backend 10 from telemetry.internal.platform import linux_based_platform_backend
11 import mock 11 import mock
12 12
13 13
14 class TestBackend(linux_based_platform_backend.LinuxBasedPlatformBackend): 14 class TestLinuxBackend(linux_based_platform_backend.LinuxBasedPlatformBackend):
15 15
16 # pylint: disable=abstract-method 16 # pylint: disable=abstract-method
17 17
18 def __init__(self): 18 def __init__(self):
19 super(TestBackend, self).__init__() 19 super(TestLinuxBackend, self).__init__()
20 self._mock_files = {} 20 self._mock_files = {}
21 21
22 def SetMockFile(self, filename, output): 22 def SetMockFile(self, filename, output):
23 self._mock_files[filename] = output 23 self._mock_files[filename] = output
24 24
25 def GetFileContents(self, filename): 25 def GetFileContents(self, filename):
26 return self._mock_files[filename] 26 return self._mock_files[filename]
27 27
28 def GetClockTicks(self): 28 def GetClockTicks(self):
29 return 41 29 return 41
30 30
31 31
32 class LinuxBasedPlatformBackendTest(unittest.TestCase): 32 class LinuxBasedPlatformBackendTest(unittest.TestCase):
33 33
34 def SetMockFileInBackend(self, backend, real_file, mock_file): 34 def SetMockFileInBackend(self, backend, real_file, mock_file):
35 with open(os.path.join(util.GetUnittestDataDir(), real_file)) as f: 35 with open(os.path.join(util.GetUnittestDataDir(), real_file)) as f:
36 backend.SetMockFile(mock_file, f.read()) 36 backend.SetMockFile(mock_file, f.read())
37 37
38 def testGetSystemCommitCharge(self): 38 def testGetSystemCommitCharge(self):
39 if not linux_based_platform_backend.resource: 39 if not linux_based_platform_backend.resource:
40 logging.warning('Test not supported') 40 logging.warning('Test not supported')
41 return 41 return
42 42
43 backend = TestBackend() 43 backend = TestLinuxBackend()
44 self.SetMockFileInBackend(backend, 'proc_meminfo', '/proc/meminfo') 44 self.SetMockFileInBackend(backend, 'proc_meminfo', '/proc/meminfo')
45 result = backend.GetSystemCommitCharge() 45 result = backend.GetSystemCommitCharge()
46 # 25252140 == MemTotal - MemFree - Buffers - Cached (in kB) 46 # 25252140 == MemTotal - MemFree - Buffers - Cached (in kB)
47 self.assertEquals(result, 25252140) 47 self.assertEquals(result, 25252140)
48 48
49 def testGetSystemTotalPhysicalMemory(self): 49 def testGetSystemTotalPhysicalMemory(self):
50 if not linux_based_platform_backend.resource: 50 if not linux_based_platform_backend.resource:
51 logging.warning('Test not supported') 51 logging.warning('Test not supported')
52 return 52 return
53 53
54 backend = TestBackend() 54 backend = TestLinuxBackend()
55 self.SetMockFileInBackend(backend, 'proc_meminfo', '/proc/meminfo') 55 self.SetMockFileInBackend(backend, 'proc_meminfo', '/proc/meminfo')
56 result = backend.GetSystemTotalPhysicalMemory() 56 result = backend.GetSystemTotalPhysicalMemory()
57 # 67479191552 == MemTotal * 1024 57 # 67479191552 == MemTotal * 1024
58 self.assertEquals(result, 67479191552) 58 self.assertEquals(result, 67479191552)
59 59
60 def testGetCpuStatsBasic(self): 60 def testGetCpuStatsBasic(self):
61 if not linux_based_platform_backend.resource: 61 if not linux_based_platform_backend.resource:
62 logging.warning('Test not supported') 62 logging.warning('Test not supported')
63 return 63 return
64 64
65 backend = TestBackend() 65 backend = TestLinuxBackend()
66 self.SetMockFileInBackend(backend, 'stat', '/proc/1/stat') 66 self.SetMockFileInBackend(backend, 'stat', '/proc/1/stat')
67 result = backend.GetCpuStats(1) 67 result = backend.GetCpuStats(1)
68 self.assertEquals(result, {'CpuProcessTime': 22.0}) 68 self.assertEquals(result, {'CpuProcessTime': 22.0})
69 69
70 def testGetCpuTimestampBasic(self): 70 def testGetCpuTimestampBasic(self):
71 if not linux_based_platform_backend.resource: 71 if not linux_based_platform_backend.resource:
72 logging.warning('Test not supported') 72 logging.warning('Test not supported')
73 return 73 return
74 jiffies_grep_string = """ 74 jiffies_grep_string = """
75 jiffies 75 jiffies
(...skipping 10 matching lines...) Expand all
86 result = backend.GetCpuTimestamp() 86 result = backend.GetCpuTimestamp()
87 self.assertEquals(result, {'TotalTime': 105054633.0}) 87 self.assertEquals(result, {'TotalTime': 105054633.0})
88 mock_method.assert_call_once_with( 88 mock_method.assert_call_once_with(
89 ['grep', '-m', '1', 'jiffies:', '/proc/timer_list']) 89 ['grep', '-m', '1', 'jiffies:', '/proc/timer_list'])
90 90
91 def testGetMemoryStatsBasic(self): 91 def testGetMemoryStatsBasic(self):
92 if not linux_based_platform_backend.resource: 92 if not linux_based_platform_backend.resource:
93 logging.warning('Test not supported') 93 logging.warning('Test not supported')
94 return 94 return
95 95
96 backend = TestBackend() 96 backend = TestLinuxBackend()
97 self.SetMockFileInBackend(backend, 'stat', '/proc/1/stat') 97 self.SetMockFileInBackend(backend, 'stat', '/proc/1/stat')
98 self.SetMockFileInBackend(backend, 'status', '/proc/1/status') 98 self.SetMockFileInBackend(backend, 'status', '/proc/1/status')
99 self.SetMockFileInBackend(backend, 'smaps', '/proc/1/smaps') 99 self.SetMockFileInBackend(backend, 'smaps', '/proc/1/smaps')
100 result = backend.GetMemoryStats(1) 100 result = backend.GetMemoryStats(1)
101 self.assertEquals(result, {'PrivateDirty': 5324800, 101 self.assertEquals(result, {'PrivateDirty': 5324800,
102 'VM': 1025978368, 102 'VM': 1025978368,
103 'VMPeak': 1050099712, 103 'VMPeak': 1050099712,
104 'WorkingSetSize': 84000768, 104 'WorkingSetSize': 84000768,
105 'WorkingSetSizePeak': 144547840}) 105 'WorkingSetSizePeak': 144547840})
106 106
107 def testGetMemoryStatsNoHWM(self): 107 def testGetMemoryStatsNoHWM(self):
108 if not linux_based_platform_backend.resource: 108 if not linux_based_platform_backend.resource:
109 logging.warning('Test not supported') 109 logging.warning('Test not supported')
110 return 110 return
111 111
112 backend = TestBackend() 112 backend = TestLinuxBackend()
113 self.SetMockFileInBackend(backend, 'stat', '/proc/1/stat') 113 self.SetMockFileInBackend(backend, 'stat', '/proc/1/stat')
114 self.SetMockFileInBackend(backend, 'status_nohwm', '/proc/1/status') 114 self.SetMockFileInBackend(backend, 'status_nohwm', '/proc/1/status')
115 self.SetMockFileInBackend(backend, 'smaps', '/proc/1/smaps') 115 self.SetMockFileInBackend(backend, 'smaps', '/proc/1/smaps')
116 result = backend.GetMemoryStats(1) 116 result = backend.GetMemoryStats(1)
117 self.assertEquals(result, {'PrivateDirty': 5324800, 117 self.assertEquals(result, {'PrivateDirty': 5324800,
118 'VM': 1025978368, 118 'VM': 1025978368,
119 'VMPeak': 1025978368, 119 'VMPeak': 1025978368,
120 'WorkingSetSize': 84000768, 120 'WorkingSetSize': 84000768,
121 'WorkingSetSizePeak': 84000768}) 121 'WorkingSetSizePeak': 84000768})
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698