summaryrefslogtreecommitdiff
path: root/tools/releasetools/common.py
diff options
context:
space:
mode:
Diffstat (limited to 'tools/releasetools/common.py')
-rw-r--r--tools/releasetools/common.py22
1 files changed, 16 insertions, 6 deletions
diff --git a/tools/releasetools/common.py b/tools/releasetools/common.py
index 3334ce839a..de3e3b8b4a 100644
--- a/tools/releasetools/common.py
+++ b/tools/releasetools/common.py
@@ -2226,12 +2226,6 @@ class DynamicPartitionsDifference(object):
collections.Counter(e.partition for e in block_diffs).items()
if count > 1])
- dynamic_partitions = set(shlex.split(info_dict.get(
- "dynamic_partition_list", "").strip()))
- assert set(block_diff_dict.keys()) == dynamic_partitions, \
- "Dynamic partitions: {}, BlockDifference objects: {}".format(
- list(dynamic_partitions), list(block_diff_dict.keys()))
-
self._partition_updates = dict()
for p, block_diff in block_diff_dict.items():
@@ -2263,6 +2257,22 @@ class DynamicPartitionsDifference(object):
"object is provided.".format(p, g)
self._partition_updates[p].src_group = g
+ target_dynamic_partitions = set(shlex.split(info_dict.get(
+ "dynamic_partition_list", "").strip()))
+ block_diffs_with_target = set(p for p, u in self._partition_updates.items()
+ if u.tgt_size)
+ assert block_diffs_with_target == target_dynamic_partitions, \
+ "Target Dynamic partitions: {}, BlockDifference with target: {}".format(
+ list(target_dynamic_partitions), list(block_diffs_with_target))
+
+ source_dynamic_partitions = set(shlex.split(source_info_dict.get(
+ "dynamic_partition_list", "").strip()))
+ block_diffs_with_source = set(p for p, u in self._partition_updates.items()
+ if u.src_size)
+ assert block_diffs_with_source == source_dynamic_partitions, \
+ "Source Dynamic partitions: {}, BlockDifference with source: {}".format(
+ list(source_dynamic_partitions), list(block_diffs_with_source))
+
if self._partition_updates:
logger.info("Updating dynamic partitions %s",
self._partition_updates.keys())