From 6f3eaeb84d610dbcbe0a677fb90ae2252bc56624 Mon Sep 17 00:00:00 2001 From: Yifan Hong Date: Tue, 9 Apr 2019 16:49:33 -0700 Subject: [PATCH] Fix DataImage.ReadRangeSet() It returns a list of one generator object, not a list of strings. Test: test_blockimgdiff Change-Id: I8962c539c2ce3fae90d428b38c4b0e52c5a2cdad --- tools/releasetools/blockimgdiff.py | 2 +- tools/releasetools/test_blockimgdiff.py | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/tools/releasetools/blockimgdiff.py b/tools/releasetools/blockimgdiff.py index e5a9050b10..b7c33f54be 100644 --- a/tools/releasetools/blockimgdiff.py +++ b/tools/releasetools/blockimgdiff.py @@ -174,7 +174,7 @@ class DataImage(Image): return h.hexdigest() def ReadRangeSet(self, ranges): - return [self._GetRangeData(ranges)] + return list(self._GetRangeData(ranges)) def TotalSha1(self, include_clobbered_blocks=False): if not include_clobbered_blocks: diff --git a/tools/releasetools/test_blockimgdiff.py b/tools/releasetools/test_blockimgdiff.py index 806ff4b95a..1aabaa2162 100644 --- a/tools/releasetools/test_blockimgdiff.py +++ b/tools/releasetools/test_blockimgdiff.py @@ -16,7 +16,7 @@ import common from blockimgdiff import ( - BlockImageDiff, EmptyImage, HeapItem, ImgdiffStats, Transfer) + BlockImageDiff, DataImage, EmptyImage, HeapItem, ImgdiffStats, Transfer) from rangelib import RangeSet from test_utils import ReleaseToolsTestCase @@ -261,3 +261,10 @@ class ImgdiffStatsTest(ReleaseToolsTestCase): self.assertRaises(AssertionError, imgdiff_stats.Log, "/system/app/app1.apk", "invalid reason") + + +class DataImageTest(ReleaseToolsTestCase): + def test_read_range_set(self): + data = "file" + ('\0' * 4092) + image = DataImage(data) + self.assertEqual(data, "".join(image.ReadRangeSet(image.care_map)))