diff options
author | Andrew Lassalle <andrewlassalle@chromium.org> | 2019-11-05 13:30:34 -0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2019-11-19 20:22:42 +0000 |
commit | 165843ca10908d7bd79582829a5ee51b098685e6 (patch) | |
tree | c4c98899ca4d134af1b2655afbe17dc7cb843b40 /scripts/update_payload/checker.py | |
parent | d04ca0c5cc9e4507301be355fd3bd86b871b05c4 (diff) |
update_payload: Port scripts to python3
Update the update_payload scripts to be compatible with
python2 and python3. Python2 compatibility is needed since
the repo is shared with Android.
BUG=chromium:1011631
TEST=Executed aosp/system/update_engine/scripts/run_unittests and
cros_generate_update_payload
Cq-Depend: chromium:1904837, chromium:1911499
Change-Id: Ie450b80b5f7550051b38d320173ccc0c915f65e7
Reviewed-on: https://chromium-review.googlesource.com/c/aosp/platform/system/update_engine/+/1904310
Commit-Queue: Andrew Lassalle <andrewlassalle@chromium.org>
Tested-by: Andrew Lassalle <andrewlassalle@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Amin Hassani <ahassani@chromium.org>
Auto-Submit: Andrew Lassalle <andrewlassalle@chromium.org>
Diffstat (limited to 'scripts/update_payload/checker.py')
-rw-r--r-- | scripts/update_payload/checker.py | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/scripts/update_payload/checker.py b/scripts/update_payload/checker.py index 4558872b..4c655160 100644 --- a/scripts/update_payload/checker.py +++ b/scripts/update_payload/checker.py @@ -24,6 +24,7 @@ follows: checker.Run(...) """ +from __future__ import absolute_import from __future__ import print_function import array @@ -34,13 +35,14 @@ import itertools import os import subprocess +from six.moves import range + from update_payload import common from update_payload import error from update_payload import format_utils from update_payload import histogram from update_payload import update_metadata_pb2 - # # Constants. # @@ -71,6 +73,7 @@ _SUPPORTED_MINOR_VERSIONS = { 6: (_TYPE_DELTA,), } + # # Helper functions. # @@ -647,7 +650,7 @@ class PayloadChecker(object): 'Apparent full payload contains old_{kernel,rootfs}_info.') self.payload_type = _TYPE_DELTA - for part, (msg, part_report) in self.old_part_info.iteritems(): + for part, (msg, part_report) in self.old_part_info.items(): # Check: {size, hash} present in old_{kernel,rootfs}_info. field = 'old_%s_info' % part self.old_fs_sizes[part] = self._CheckMandatoryField(msg, 'size', @@ -668,7 +671,7 @@ class PayloadChecker(object): self.payload_type = _TYPE_FULL # Check: new_{kernel,rootfs}_info present; contains {size, hash}. - for part, (msg, part_report) in self.new_part_info.iteritems(): + for part, (msg, part_report) in self.new_part_info.items(): field = 'new_%s_info' % part self.new_fs_sizes[part] = self._CheckMandatoryField(msg, 'size', part_report, field) @@ -740,7 +743,7 @@ class PayloadChecker(object): (ex_name, common.FormatExtent(ex, self.block_size), usable_size)) # Record block usage. - for i in xrange(start_block, end_block): + for i in range(start_block, end_block): block_counters[i] += 1 total_num_blocks += num_blocks @@ -759,6 +762,11 @@ class PayloadChecker(object): Raises: error.PayloadError if any check fails. """ + # Check: total_dst_blocks is not a floating point. + if isinstance(total_dst_blocks, float): + raise error.PayloadError('%s: contains invalid data type of ' + 'total_dst_blocks.' % op_name) + # Check: Does not contain src extents. if op.src_extents: raise error.PayloadError('%s: contains src_extents.' % op_name) @@ -975,7 +983,7 @@ class PayloadChecker(object): def _SizeToNumBlocks(self, size): """Returns the number of blocks needed to contain a given byte size.""" - return (size + self.block_size - 1) / self.block_size + return (size + self.block_size - 1) // self.block_size def _AllocBlockCounters(self, total_size): """Returns a freshly initialized array of block counters. @@ -1054,7 +1062,7 @@ class PayloadChecker(object): op_num += 1 # Check: Type is valid. - if op.type not in op_counts.keys(): + if op.type not in op_counts: raise error.PayloadError('%s: invalid type (%d).' % (op_name, op.type)) op_counts[op.type] += 1 @@ -1127,7 +1135,6 @@ class PayloadChecker(object): raise error.PayloadError('It seems like the last operation is the ' 'signature blob. This is an invalid payload.') - # Compute the checksum of all data up to signature blob. # TODO(garnold) we're re-reading the whole data section into a string # just to compute the checksum; instead, we could do it incrementally as |