summaryrefslogtreecommitdiff
path: root/scripts/update_payload/format_utils.py
diff options
context:
space:
mode:
authorGilad Arnold <garnold@chromium.org>2013-10-04 18:18:45 -0700
committerchrome-internal-fetch <chrome-internal-fetch@google.com>2013-10-07 18:31:12 +0000
commit6a3a3878daddc2536a2ac9033189274cfc5ef52d (patch)
treea969f9169908b5ea4c73c1608238f3d5244575eb /scripts/update_payload/format_utils.py
parentcb638915dbc2e0898b0562c98019c077d7fc1e8a (diff)
paycheck: fix errors around percentage / formatting of zero sizes
This fixes two problems, both having to do with histogram generation: * When the total number of elements is zero, paycheck would crash due to a division by zero; further, even if the crash is fixed (returning, say, None) the histogram will contain a meaningless value in parenthesis, which we might as well drop. Both are fixed here. * When some size (say, bytes) is zero, its formatter (bytes-to-human-readable) returns None, which shows up as is in the final report. This should be checked and avoided. BUG=None TEST=Crash fixed; None percentage/formatted value omitted. Change-Id: I8bb5fbc47e1cde9dcbee7f7b96bcb63ef3a0935e Reviewed-on: https://chromium-review.googlesource.com/172046 Reviewed-by: Don Garrett <dgarrett@chromium.org> Commit-Queue: Gilad Arnold <garnold@chromium.org> Tested-by: Gilad Arnold <garnold@chromium.org>
Diffstat (limited to 'scripts/update_payload/format_utils.py')
-rw-r--r--scripts/update_payload/format_utils.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/scripts/update_payload/format_utils.py b/scripts/update_payload/format_utils.py
index 2c82f32f..2c3775c4 100644
--- a/scripts/update_payload/format_utils.py
+++ b/scripts/update_payload/format_utils.py
@@ -27,9 +27,13 @@ def NumToPercent(num, total, min_precision=1, max_precision=5):
min_precision: minimum precision for fractional percentage
max_precision: maximum precision for fractional percentage
Returns:
- Percentage string.
+ Percentage string, or None if percent cannot be computed (i.e. total is
+ zero).
"""
+ if total == 0:
+ return None
+
percent = 0
precision = min(min_precision, max_precision)
factor = 10 ** precision