summaryrefslogtreecommitdiff
path: root/extra/usb_power/stats_manager_unittest.py
diff options
context:
space:
mode:
authorRuben Rodriguez Buchillon <coconutruben@chromium.org>2018-07-24 18:57:23 +0800
committerchrome-bot <chrome-bot@chromium.org>2018-08-01 00:05:05 -0700
commit60881d6546a1b8833ff7e5e675bb901112d89c42 (patch)
tree97dbd5cfb4e3b390a7d00754152983f861da93f5 /extra/usb_power/stats_manager_unittest.py
parent5a060f1a56f915dca41f4ee77673f66a89a5d0ea (diff)
downloadchrome-ec-60881d6546a1b8833ff7e5e675bb901112d89c42.tar.gz
stats_manager: more informative nan summary output
Now for the formatted output string, if any value a domain is NaN, the domains gets tagged with a * and a help text gets added at the end of the summary to highlight this issue. CQ-DEPEND=CL:1140025 BRANCH=None BUG=chromium:806146, chromium:760267 TEST=unit tests added & pass Change-Id: I30791053bb1645065fa2bfd8305cc840a4a88031 Signed-off-by: Ruben Rodriguez Buchillon <coconutruben@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1140032 Reviewed-by: Mengqi Guo <mqg@chromium.org>
Diffstat (limited to 'extra/usb_power/stats_manager_unittest.py')
-rw-r--r--extra/usb_power/stats_manager_unittest.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/extra/usb_power/stats_manager_unittest.py b/extra/usb_power/stats_manager_unittest.py
index ed0b424944..9d0d708af0 100644
--- a/extra/usb_power/stats_manager_unittest.py
+++ b/extra/usb_power/stats_manager_unittest.py
@@ -173,6 +173,31 @@ class TestStatsManager(unittest.TestCase):
for fname in files:
self.assertTrue(os.path.basename(fname).startswith(identifier))
+ def test_SummaryToStringNaNHelp(self):
+ """NaN containing row gets tagged with *, help banner gets added."""
+ help_banner_exp = '%s %s' % (stats_manager.STATS_PREFIX,
+ stats_manager.NAN_DESCRIPTION)
+ nan_domain = 'A-domain'
+ nan_domain_exp = '%s%s' % (nan_domain, stats_manager.NAN_TAG)
+ # NaN helper banner is added when a NaN domain is found & domain gets tagged
+ data = stats_manager.StatsManager()
+ data.AddSample(nan_domain, float('NaN'))
+ data.AddSample(nan_domain, 17)
+ data.AddSample('B-domain', 17)
+ data.CalculateStats()
+ summarystr = data.SummaryToString()
+ self.assertIn(help_banner_exp, summarystr)
+ self.assertIn(nan_domain_exp, summarystr)
+ # NaN helper banner is not added when no NaN domain output, no tagging
+ data = stats_manager.StatsManager()
+ # nan_domain in this scenario does not contain any NaN
+ data.AddSample(nan_domain, 19)
+ data.AddSample('B-domain', 17)
+ data.CalculateStats()
+ summarystr = data.SummaryToString()
+ self.assertNotIn(help_banner_exp, summarystr)
+ self.assertNotIn(nan_domain_exp, summarystr)
+
def test_SummaryToStringTitle(self):
"""Title shows up in SummaryToString if title specified."""
title = 'titulo'