summaryrefslogtreecommitdiff
path: root/scripts/update_payload/checker_unittest.py
diff options
context:
space:
mode:
authorAllie Wood <alliewood@chromium.org>2015-04-24 10:20:27 -0700
committerChromeOS Commit Bot <chromeos-commit-bot@chromium.org>2015-04-27 23:29:30 +0000
commitb065e13f600d0efc7f089a382611ffd93a8afce9 (patch)
tree07f1240c5c2fd9d08b430114a8d41de37d5d70f7 /scripts/update_payload/checker_unittest.py
parent12f59aa1cffec0ee531daccc6de7469870f86302 (diff)
paycheck: Check MOVE operations for start block 0.
paycheck now blocks payloads that read or write to block 0 in a MOVE operation. It must do this because old versions of PReadAll and PWriteAll could not seek to 0. BUG=chromium:480751 TEST=unit tests, test_paycheck.sh Change-Id: I042de444c92896496795af235e9386dca6c77be2 Reviewed-on: https://chromium-review.googlesource.com/267088 Reviewed-by: Gilad Arnold <garnold@chromium.org> Reviewed-by: Alex Deymo <deymo@chromium.org> Commit-Queue: Allie Wood <alliewood@chromium.org> Trybot-Ready: Allie Wood <alliewood@chromium.org> Tested-by: Allie Wood <alliewood@chromium.org>
Diffstat (limited to 'scripts/update_payload/checker_unittest.py')
-rwxr-xr-xscripts/update_payload/checker_unittest.py42
1 files changed, 33 insertions, 9 deletions
diff --git a/scripts/update_payload/checker_unittest.py b/scripts/update_payload/checker_unittest.py
index eb8b5644..b57c2fcf 100755
--- a/scripts/update_payload/checker_unittest.py
+++ b/scripts/update_payload/checker_unittest.py
@@ -633,7 +633,7 @@ class PayloadCheckerTest(mox.MoxTestBase):
op.type = common.OpType.MOVE
self.AddToMessage(op.src_extents,
- self.NewExtentList((0, 4), (12, 2), (1024, 128)))
+ self.NewExtentList((1, 4), (12, 2), (1024, 128)))
self.AddToMessage(op.dst_extents,
self.NewExtentList((16, 128), (512, 6)))
self.assertIsNone(
@@ -646,7 +646,7 @@ class PayloadCheckerTest(mox.MoxTestBase):
op.type = common.OpType.MOVE
self.AddToMessage(op.src_extents,
- self.NewExtentList((0, 4), (12, 2), (1024, 128)))
+ self.NewExtentList((1, 4), (12, 2), (1024, 128)))
self.AddToMessage(op.dst_extents,
self.NewExtentList((16, 128), (512, 6)))
self.assertRaises(
@@ -661,7 +661,7 @@ class PayloadCheckerTest(mox.MoxTestBase):
op.type = common.OpType.MOVE
self.AddToMessage(op.src_extents,
- self.NewExtentList((0, 4), (12, 2), (1024, 127)))
+ self.NewExtentList((1, 4), (12, 2), (1024, 127)))
self.AddToMessage(op.dst_extents,
self.NewExtentList((16, 128), (512, 6)))
self.assertRaises(
@@ -676,7 +676,7 @@ class PayloadCheckerTest(mox.MoxTestBase):
op.type = common.OpType.MOVE
self.AddToMessage(op.src_extents,
- self.NewExtentList((0, 4), (12, 2), (1024, 128)))
+ self.NewExtentList((1, 4), (12, 2), (1024, 128)))
self.AddToMessage(op.dst_extents,
self.NewExtentList((16, 128), (512, 5)))
self.assertRaises(
@@ -691,7 +691,7 @@ class PayloadCheckerTest(mox.MoxTestBase):
op.type = common.OpType.MOVE
self.AddToMessage(op.src_extents,
- self.NewExtentList((0, 4), (12, 2), (1024, 128)))
+ self.NewExtentList((1, 4), (12, 2), (1024, 128)))
self.AddToMessage(op.dst_extents,
self.NewExtentList((16, 128), (512, 5)))
self.assertRaises(
@@ -699,7 +699,7 @@ class PayloadCheckerTest(mox.MoxTestBase):
payload_checker._CheckMoveOperation,
op, None, 134, 134, 'foo')
self.AddToMessage(op.src_extents,
- self.NewExtentList((0, 4), (12, 2), (1024, 129)))
+ self.NewExtentList((1, 4), (12, 2), (1024, 129)))
self.AddToMessage(op.dst_extents,
self.NewExtentList((16, 128), (512, 6)))
self.assertRaises(
@@ -714,7 +714,7 @@ class PayloadCheckerTest(mox.MoxTestBase):
op.type = common.OpType.MOVE
self.AddToMessage(op.src_extents,
- self.NewExtentList((0, 4), (12, 2), (1024, 128)))
+ self.NewExtentList((1, 4), (12, 2), (1024, 128)))
self.AddToMessage(op.dst_extents,
self.NewExtentList((16, 128), (512, 7)))
self.assertRaises(
@@ -729,6 +729,21 @@ class PayloadCheckerTest(mox.MoxTestBase):
op.type = common.OpType.MOVE
self.AddToMessage(op.src_extents,
+ self.NewExtentList((1, 4), (12, 2), (1024, 128)))
+ self.AddToMessage(op.dst_extents,
+ self.NewExtentList((8, 128), (512, 6)))
+ self.assertRaises(
+ update_payload.PayloadError,
+ payload_checker._CheckMoveOperation,
+ op, None, 134, 134, 'foo')
+
+ def testCheckMoveOperation_FailZeroStartBlock(self):
+ """Tests _CheckMoveOperation(); fails, has extent with start block 0."""
+ payload_checker = checker.PayloadChecker(self.MockPayload())
+ op = update_metadata_pb2.DeltaArchiveManifest.InstallOperation()
+ op.type = common.OpType.MOVE
+
+ self.AddToMessage(op.src_extents,
self.NewExtentList((0, 4), (12, 2), (1024, 128)))
self.AddToMessage(op.dst_extents,
self.NewExtentList((8, 128), (512, 6)))
@@ -737,6 +752,15 @@ class PayloadCheckerTest(mox.MoxTestBase):
payload_checker._CheckMoveOperation,
op, None, 134, 134, 'foo')
+ self.AddToMessage(op.src_extents,
+ self.NewExtentList((1, 4), (12, 2), (1024, 128)))
+ self.AddToMessage(op.dst_extents,
+ self.NewExtentList((0, 128), (512, 6)))
+ self.assertRaises(
+ update_payload.PayloadError,
+ payload_checker._CheckMoveOperation,
+ op, None, 134, 134, 'foo')
+
def testCheckBsdiff(self):
"""Tests _CheckMoveOperation()."""
payload_checker = checker.PayloadChecker(self.MockPayload())
@@ -829,10 +853,10 @@ class PayloadCheckerTest(mox.MoxTestBase):
common.OpType.SOURCE_COPY, common.OpType.SOURCE_BSDIFF):
if fail_src_extents:
self.AddToMessage(op.src_extents,
- self.NewExtentList((0, 0)))
+ self.NewExtentList((1, 0)))
else:
self.AddToMessage(op.src_extents,
- self.NewExtentList((0, 16)))
+ self.NewExtentList((1, 16)))
total_src_blocks = 16
if op_type in (common.OpType.REPLACE, common.OpType.REPLACE_BZ):