diff options
author | Mengqi Guo <mqg@chromium.org> | 2018-04-05 11:37:22 -0700 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2018-04-27 14:36:54 -0700 |
commit | a820df3fd6c996bbca93f80a02d4cb8f84cb0271 (patch) | |
tree | c491c8fd973eb262dc03368b2db8549339171dbc /extra/usb_power/stats_manager_unittest.py | |
parent | d786f8285bd860e24fbf6bab2e1ac936836e3743 (diff) | |
download | chrome-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.py | 20 |
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__': |