From cdeb6e60ad4837afff97a370b6ea39dc98146a36 Mon Sep 17 00:00:00 2001 From: Amin Hassani Date: Wed, 11 Oct 2017 10:15:11 -0700 Subject: update_payload: Add puffdiff support. This patch adds support for applier.py to be able to apply PUFFDIFF operation using puffin binary. It also fixes minor deficiencies for the PUFFDIFF operation. BUG=chromium:768461 TEST=unittests pass; TEST=scripts/paycheck.py payload-puffin.delta new_kern.dat new_root.dat old_kern.dat old_root.dat Change-Id: I5612ead8d8b8176e7263cfcb15403e8d36319642 Reviewed-on: https://chromium-review.googlesource.com/713540 Commit-Ready: Amin Hassani Tested-by: Amin Hassani Reviewed-by: Ben Chan Reviewed-by: Sen Jiang --- scripts/update_payload/checker_unittest.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'scripts/update_payload/checker_unittest.py') diff --git a/scripts/update_payload/checker_unittest.py b/scripts/update_payload/checker_unittest.py index d79b00b8..eecd456c 100755 --- a/scripts/update_payload/checker_unittest.py +++ b/scripts/update_payload/checker_unittest.py @@ -818,7 +818,7 @@ class PayloadCheckerTest(mox.MoxTestBase): Args: op_type_name: 'REPLACE', 'REPLACE_BZ', 'MOVE', 'BSDIFF', 'SOURCE_COPY', - or 'SOURCE_BSDIFF'. + 'SOURCE_BSDIFF' or 'PUFFDIFF'. is_last: Whether we're testing the last operation in a sequence. allow_signature: Whether we're testing a signature-capable operation. allow_unhashed: Whether we're allowing to not hash the data. @@ -857,7 +857,8 @@ class PayloadCheckerTest(mox.MoxTestBase): total_src_blocks = 0 if op_type in (common.OpType.MOVE, common.OpType.BSDIFF, - common.OpType.SOURCE_COPY, common.OpType.SOURCE_BSDIFF): + common.OpType.SOURCE_COPY, common.OpType.SOURCE_BSDIFF, + common.OpType.PUFFDIFF): if fail_src_extents: self.AddToMessage(op.src_extents, self.NewExtentList((1, 0))) @@ -872,7 +873,8 @@ class PayloadCheckerTest(mox.MoxTestBase): payload_checker.minor_version = 2 if fail_bad_minor_version else 1 elif op_type in (common.OpType.SOURCE_COPY, common.OpType.SOURCE_BSDIFF): payload_checker.minor_version = 1 if fail_bad_minor_version else 2 - elif op_type in (common.OpType.ZERO, common.OpType.DISCARD): + elif op_type in (common.OpType.ZERO, common.OpType.DISCARD, + common.OpType.PUFFDIFF): payload_checker.minor_version = 3 if fail_bad_minor_version else 4 if op_type not in (common.OpType.MOVE, common.OpType.SOURCE_COPY): @@ -1277,7 +1279,7 @@ def AddAllParametricTests(): AddParametricTests('CheckOperation', {'op_type_name': ('REPLACE', 'REPLACE_BZ', 'MOVE', 'BSDIFF', 'SOURCE_COPY', - 'SOURCE_BSDIFF'), + 'SOURCE_BSDIFF', 'PUFFDIFF'), 'is_last': (True, False), 'allow_signature': (True, False), 'allow_unhashed': (True, False), -- cgit v1.2.3