summaryrefslogtreecommitdiff
path: root/extra/usb_power/stats_manager_unittest.py
diff options
context:
space:
mode:
authorMengqi Guo <mqg@chromium.org>2018-04-05 11:37:22 -0700
committerchrome-bot <chrome-bot@chromium.org>2018-04-27 14:36:54 -0700
commita820df3fd6c996bbca93f80a02d4cb8f84cb0271 (patch)
treec491c8fd973eb262dc03368b2db8549339171dbc /extra/usb_power/stats_manager_unittest.py
parentd786f8285bd860e24fbf6bab2e1ac936836e3743 (diff)
downloadchrome-ec-a820df3fd6c996bbca93f80a02d4cb8f84cb0271.tar.gz
sweetberry: fix stats_manager and refactor
This CL updates stats_manager to match the new functionalities in powerlog.py and refactors powerlog.py to more easily find config files and print timestamps in seconds since epoch. The unit test for stats_manager is also updated accordingly. BUG=b:72973433 BRANCH=None TEST=powerlog -b nami_rev0_loc.board -c nami_rev0_loc.scenario \ --print_stats --save_stats /tmp --save_stats_json /tmp \ --save_raw_data /tmp --mW and looking at the printed data python -m unittest stats_manager_unittest CQ-DEPEND=CL:1003522 Change-Id: Ic6e4aadfcd3ad245572788094ee3d3a30106044c Signed-off-by: Mengqi Guo <mqg@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1002546 Reviewed-by: Todd Broch <tbroch@chromium.org>
Diffstat (limited to 'extra/usb_power/stats_manager_unittest.py')
-rw-r--r--extra/usb_power/stats_manager_unittest.py20
1 files changed, 13 insertions, 7 deletions
diff --git a/extra/usb_power/stats_manager_unittest.py b/extra/usb_power/stats_manager_unittest.py
index 7537368996..bf0861ff2d 100644
--- a/extra/usb_power/stats_manager_unittest.py
+++ b/extra/usb_power/stats_manager_unittest.py
@@ -13,6 +13,7 @@ import unittest
from stats_manager import StatsManager
+
class TestStatsManager(unittest.TestCase):
"""Test to verify StatsManager methods work as expected.
@@ -27,9 +28,12 @@ class TestStatsManager(unittest.TestCase):
self.data.AddValue('A', 99999.5)
self.data.AddValue('A', 100000.5)
self.data.AddValue('A', 'ERROR')
+ self.data.SetUnit('A', 'uW')
+ self.data.SetUnit('A', 'mW')
self.data.AddValue('B', 1.5)
self.data.AddValue('B', 2.5)
self.data.AddValue('B', 3.5)
+ self.data.SetUnit('B', 'mV')
self.data.CalculateStats()
def tearDown(self):
@@ -58,8 +62,8 @@ class TestStatsManager(unittest.TestCase):
dirname = 'unittest_raw_data'
self.data.SaveRawData(self.tempdir, dirname)
dirname = os.path.join(self.tempdir, dirname)
- fileA = os.path.join(dirname, 'A.txt')
- fileB = os.path.join(dirname, 'B.txt')
+ fileA = os.path.join(dirname, 'A_mW.txt')
+ fileB = os.path.join(dirname, 'B_mV.txt')
with open(fileA, 'r') as fA:
self.assertEqual('99999.50', fA.readline().strip())
self.assertEqual('100000.50', fA.readline().strip())
@@ -77,10 +81,10 @@ class TestStatsManager(unittest.TestCase):
'@@ NAME COUNT MEAN STDDEV MAX MIN\n',
f.readline())
self.assertEqual(
- '@@ A 2 100000.00 0.50 100000.50 99999.50\n',
+ '@@ A_mW 2 100000.00 0.50 100000.50 99999.50\n',
f.readline())
self.assertEqual(
- '@@ B 3 2.50 0.82 3.50 1.50\n',
+ '@@ B_mV 3 2.50 0.82 3.50 1.50\n',
f.readline())
def test_SaveSummaryJSON(self):
@@ -88,9 +92,11 @@ class TestStatsManager(unittest.TestCase):
self.data.SaveSummaryJSON(self.tempdir, fname)
fname = os.path.join(self.tempdir, fname)
with open(fname, 'r') as f:
- mean_json = json.load(f)
- self.assertAlmostEqual(100000.0, mean_json['A'])
- self.assertAlmostEqual(2.5, mean_json['B'])
+ summary = json.load(f)
+ self.assertAlmostEqual(100000.0, summary['A']['mean'])
+ self.assertEqual('milliwatt', summary['A']['unit'])
+ self.assertAlmostEqual(2.5, summary['B']['mean'])
+ self.assertEqual('millivolt', summary['B']['unit'])
if __name__ == '__main__':