Index: tools/telemetry/telemetry/internal/platform/power_monitor/sysfs_power_monitor_unittest.py |
diff --git a/tools/telemetry/telemetry/internal/platform/power_monitor/sysfs_power_monitor_unittest.py b/tools/telemetry/telemetry/internal/platform/power_monitor/sysfs_power_monitor_unittest.py |
deleted file mode 100644 |
index 43895908021a4c37d0df9037824386f1951d8480..0000000000000000000000000000000000000000 |
--- a/tools/telemetry/telemetry/internal/platform/power_monitor/sysfs_power_monitor_unittest.py |
+++ /dev/null |
@@ -1,285 +0,0 @@ |
-# Copyright 2014 The Chromium Authors. All rights reserved. |
-# Use of this source code is governed by a BSD-style license that can be |
-# found in the LICENSE file. |
- |
-import unittest |
- |
-from telemetry.internal.platform import android_platform_backend |
-from telemetry.internal.platform.power_monitor import sysfs_power_monitor |
- |
- |
-class SysfsPowerMonitorMonitorTest(unittest.TestCase): |
- initial_freq = { |
- 'cpu0': '1700000 6227\n1600000 0\n1500000 0\n1400000 28\n1300000 22\n' |
- '1200000 14\n1100000 19\n1000000 22\n900000 14\n800000 20\n' |
- '700000 15\n600000 23\n500000 23\n400000 9\n300000 28\n200000 179', |
- 'cpu1': '1700000 11491\n1600000 0\n1500000 0\n1400000 248\n1300000 1166\n' |
- '1200000 2082\n1100000 2943\n1000000 6560\n900000 12517\n' |
- '800000 8690\n700000 5105\n600000 3800\n500000 5131\n400000 5479\n' |
- '300000 7571\n200000 133618', |
- 'cpu2': '1700000 1131', |
- 'cpu3': '1700000 1131' |
- } |
- final_freq = { |
- 'cpu0': '1700000 7159\n1600000 0\n1500000 0\n1400000 68\n1300000 134\n' |
- '1200000 194\n1100000 296\n1000000 716\n900000 1301\n800000 851\n' |
- '700000 554\n600000 343\n500000 612\n400000 691\n300000 855\n' |
- '200000 15525', |
- 'cpu1': '1700000 12048\n1600000 0\n1500000 0\n1400000 280\n1300000 1267\n' |
- '1200000 2272\n1100000 3163\n1000000 7039\n900000 13800\n' |
- '800000 9599\n700000 5655\n600000 4144\n500000 5655\n400000 6005\n' |
- '300000 8288\n200000 149724', |
- 'cpu2': None, |
- 'cpu3': '' |
- } |
- expected_initial_freq = { |
- 'cpu0': { |
- 1700000000: 6227, |
- 1600000000: 0, |
- 1500000000: 0, |
- 1400000000: 28, |
- 1300000000: 22, |
- 1200000000: 14, |
- 1100000000: 19, |
- 1000000000: 22, |
- 900000000: 14, |
- 800000000: 20, |
- 700000000: 15, |
- 600000000: 23, |
- 500000000: 23, |
- 400000000: 9, |
- 300000000: 28, |
- 200000000: 179 |
- }, |
- 'cpu1': { |
- 1700000000: 11491, |
- 1600000000: 0, |
- 1500000000: 0, |
- 1400000000: 248, |
- 1300000000: 1166, |
- 1200000000: 2082, |
- 1100000000: 2943, |
- 1000000000: 6560, |
- 900000000: 12517, |
- 800000000: 8690, |
- 700000000: 5105, |
- 600000000: 3800, |
- 500000000: 5131, |
- 400000000: 5479, |
- 300000000: 7571, |
- 200000000: 133618 |
- }, |
- 'cpu2': { |
- 1700000000: 1131 |
- }, |
- 'cpu3': { |
- 1700000000: 1131 |
- } |
- } |
- expected_final_freq = { |
- 'cpu0': { |
- 1700000000: 7159, |
- 1600000000: 0, |
- 1500000000: 0, |
- 1400000000: 68, |
- 1300000000: 134, |
- 1200000000: 194, |
- 1100000000: 296, |
- 1000000000: 716, |
- 900000000: 1301, |
- 800000000: 851, |
- 700000000: 554, |
- 600000000: 343, |
- 500000000: 612, |
- 400000000: 691, |
- 300000000: 855, |
- 200000000: 15525 |
- }, |
- 'cpu1': { |
- 1700000000: 12048, |
- 1600000000: 0, |
- 1500000000: 0, |
- 1400000000: 280, |
- 1300000000: 1267, |
- 1200000000: 2272, |
- 1100000000: 3163, |
- 1000000000: 7039, |
- 900000000: 13800, |
- 800000000: 9599, |
- 700000000: 5655, |
- 600000000: 4144, |
- 500000000: 5655, |
- 400000000: 6005, |
- 300000000: 8288, |
- 200000000: 149724 |
- }, |
- 'cpu2': None, |
- 'cpu3': {} |
- } |
- expected_freq_percents = { |
- 'platform_info': { |
- 1700000000: 3.29254111574526, |
- 1600000000: 0.0, |
- 1500000000: 0.0, |
- 1400000000: 0.15926805099535601, |
- 1300000000: 0.47124116307273645, |
- 1200000000: 0.818756100807525, |
- 1100000000: 1.099381692400982, |
- 1000000000: 2.5942528544384302, |
- 900000000: 5.68661122326737, |
- 800000000: 3.850545467654628, |
- 700000000: 2.409691872245393, |
- 600000000: 1.4693702487650486, |
- 500000000: 2.4623575553879373, |
- 400000000: 2.672038150383057, |
- 300000000: 3.415770495015825, |
- 200000000: 69.59817400982045 |
- }, |
- 'cpu0': { |
- 1700000000: 4.113700564971752, |
- 1600000000: 0.0, |
- 1500000000: 0.0, |
- 1400000000: 0.1765536723163842, |
- 1300000000: 0.4943502824858757, |
- 1200000000: 0.7944915254237288, |
- 1100000000: 1.2226341807909604, |
- 1000000000: 3.0632062146892656, |
- 900000000: 5.680614406779661, |
- 800000000: 3.6679025423728815, |
- 700000000: 2.379060734463277, |
- 600000000: 1.4124293785310735, |
- 500000000: 2.599752824858757, |
- 400000000: 3.0102401129943503, |
- 300000000: 3.650247175141243, |
- 200000000: 67.73481638418079 |
- }, |
- 'cpu1': { |
- 1700000000: 2.4713816665187682, |
- 1600000000: 0.0, |
- 1500000000: 0.0, |
- 1400000000: 0.1419824296743278, |
- 1300000000: 0.44813204365959713, |
- 1200000000: 0.8430206761913214, |
- 1100000000: 0.9761292040110037, |
- 1000000000: 2.1252994941875945, |
- 900000000: 5.69260803975508, |
- 800000000: 4.033188392936374, |
- 700000000: 2.4403230100275093, |
- 600000000: 1.526311118999024, |
- 500000000: 2.3249622859171177, |
- 400000000: 2.3338361877717633, |
- 300000000: 3.1812938148904073, |
- 200000000: 71.46153163546012 |
- }, |
- 'cpu2': { |
- 1700000000: 0.0, |
- }, |
- 'cpu3': { |
- 1700000000: 0.0, |
- } |
- } |
- |
- def testParseCpuFreq(self): |
- initial = sysfs_power_monitor.SysfsPowerMonitor.ParseFreqSample( |
- self.initial_freq) |
- final = sysfs_power_monitor.SysfsPowerMonitor.ParseFreqSample( |
- self.final_freq) |
- self.assertDictEqual(initial, self.expected_initial_freq) |
- self.assertDictEqual(final, self.expected_final_freq) |
- |
- def testComputeCpuStats(self): |
- results = sysfs_power_monitor.SysfsPowerMonitor.ComputeCpuStats( |
- self.expected_initial_freq, self.expected_final_freq) |
- for cpu in self.expected_freq_percents: |
- for freq in results[cpu]: |
- self.assertAlmostEqual(results[cpu][freq], |
- self.expected_freq_percents[cpu][freq]) |
- |
- def testComputeCpuStatsWithMissingData(self): |
- results = sysfs_power_monitor.SysfsPowerMonitor.ComputeCpuStats( |
- {'cpu1': {}}, {'cpu1': {}}) |
- self.assertEqual(results['cpu1'][12345], 0) |
- |
- results = sysfs_power_monitor.SysfsPowerMonitor.ComputeCpuStats( |
- {'cpu1': {123: 0}}, {'cpu1': {123: 0}}) |
- self.assertEqual(results['cpu1'][123], 0) |
- |
- results = sysfs_power_monitor.SysfsPowerMonitor.ComputeCpuStats( |
- {'cpu1': {123: 456}}, {'cpu1': {123: 456}}) |
- self.assertEqual(results['cpu1'][123], 0) |
- |
- def testComputeCpuStatsWithNumberChange(self): |
- results = sysfs_power_monitor.SysfsPowerMonitor.ComputeCpuStats( |
- {'cpu1': {'C0': 10, 'WFI': 20}}, |
- {'cpu1': {'C0': 20, 'WFI': 10}}) |
- self.assertEqual(results['cpu1']['C0'], 0) |
- self.assertEqual(results['cpu1']['WFI'], 0) |
- |
- def testGetCpuStateForAndroidDevices(self): |
- class PlatformStub(object): |
- def __init__(self, run_command_return_value): |
- self._run_command_return_value = run_command_return_value |
- def RunCommand(self, cmd): |
- del cmd # unused |
- return self._run_command_return_value |
- def PathExists(self, path): |
- return 'cpu0' in path or 'cpu1' in path |
- |
- cpu_state_from_samsung_note3 = ( |
- "C0\n\nC1\n\nC2\n\nC3\n\n" |
- "53658520886\n1809072\n7073\n1722554\n" |
- "1\n35\n300\n500\n" |
- "1412949256\n") |
- expected_cstate_dict = { |
- 'C0': 1412895593940415, |
- 'C1': 1809072, |
- 'C2': 7073, |
- 'C3': 1722554, |
- 'WFI': 53658520886 |
- } |
- cpus = ["cpu%d" % cpu for cpu in range(4)] |
- expected_result = dict(zip(cpus, [expected_cstate_dict]*2)) |
- |
- sysfsmon = sysfs_power_monitor.SysfsPowerMonitor( |
- PlatformStub(cpu_state_from_samsung_note3)) |
- # pylint: disable=protected-access |
- sysfsmon._cpus = cpus |
- cstate = sysfsmon.GetCpuState() |
- result = android_platform_backend.AndroidPlatformBackend.ParseCStateSample( |
- cstate) |
- self.assertDictEqual(expected_result, result) |
- |
- def testStandAlone(self): |
- class PlatformStub(object): |
- def __init__(self, run_command_return_value): |
- self._run_command_return_value = run_command_return_value |
- def RunCommand(self, cmd): |
- del cmd # unused |
- return self._run_command_return_value |
- def PathExists(self, path): |
- del path # unused |
- return True |
- |
- cpu_state_from_samsung_note3 = ( |
- "C0\n\nC1\n\nC2\n\nC3\n\n" |
- "53658520886\n1809072\n7073\n1722554\n" |
- "1\n35\n300\n500\n" |
- "1412949256\n") |
- expected_cstate_dict = { |
- 'C0': 1412895593940415, |
- 'C1': 1809072, |
- 'C2': 7073, |
- 'C3': 1722554, |
- 'WFI': 53658520886 |
- } |
- cpus = ["cpu%d" % cpu for cpu in range(2)] |
- expected_result = dict(zip(cpus, [expected_cstate_dict]*len(cpus))) |
- |
- sysfsmon = sysfs_power_monitor.SysfsPowerMonitor( |
- PlatformStub(cpu_state_from_samsung_note3), standalone=True) |
- # pylint: disable=protected-access |
- sysfsmon._cpus = cpus |
- cstate = sysfsmon.GetCpuState() |
- result = android_platform_backend.AndroidPlatformBackend.ParseCStateSample( |
- cstate) |
- self.assertDictEqual(expected_result, result) |