aboutsummaryrefslogtreecommitdiff
path: root/src/avb_tests.cc
diff options
context:
space:
mode:
authorFernando Lugo <flugo@google.com>2018-04-09 20:08:30 -0700
committerFernando Lugo <flugo@google.com>2018-04-11 18:06:14 +0000
commit5f2f70aee423a44209a7b0e274e09647b29a4e37 (patch)
tree5f1ed777a4de3c0adf0e8ecc29594696f0d83a07 /src/avb_tests.cc
parenta9a148d33ef31bd45047907feb3227b92002162b (diff)
downloadsystem-test-harness-5f2f70aee423a44209a7b0e274e09647b29a4e37.tar.gz
avb_tests: fix OwnerLockTest
Changing OWNER lock should fail if the BOOT lock is set. Modify OwnerLockTest accordingly. Change-Id: I375aa612e48f0f1f029672303b634eba7245312e Signed-off-by: Fernando Lugo <flugo@google.com>
Diffstat (limited to 'src/avb_tests.cc')
-rw-r--r--src/avb_tests.cc34
1 files changed, 17 insertions, 17 deletions
diff --git a/src/avb_tests.cc b/src/avb_tests.cc
index b72a3cc..3cc22f5 100644
--- a/src/avb_tests.cc
+++ b/src/avb_tests.cc
@@ -556,19 +556,7 @@ TEST_F(AvbTest, OwnerLockTest)
owner_key[i + 1] = (i >> 8) & 0xFF;
}
- // This should fail when boot lock is not set
- code = SetOwnerLock(0x21, owner_key, sizeof(owner_key));
- ASSERT_EQ(code, APP_ERROR_AVB_DENIED);
-
- // Set the boot lock
- SetBootloader();
- code = SetBootLock(0x43);
- ASSERT_NO_ERROR(code, "");
-
- GetState(client.get(), NULL, NULL, locks);
- ASSERT_EQ(locks[BOOT], 0x43);
-
- // Try the owner lock again
+ // This should pass when BOOT lock is not set
code = SetOwnerLock(0x65, owner_key, sizeof(owner_key));
ASSERT_NO_ERROR(code, "");
@@ -600,6 +588,18 @@ TEST_F(AvbTest, OwnerLockTest)
GetState(client.get(), NULL, NULL, locks);
ASSERT_EQ(locks[OWNER], 0x00);
+
+ // Set the boot lock
+ SetBootloader();
+ code = SetBootLock(0x43);
+ ASSERT_NO_ERROR(code, "");
+
+ GetState(client.get(), NULL, NULL, locks);
+ ASSERT_EQ(locks[BOOT], 0x43);
+
+ // Test setting the lock while BOOT is locked fails
+ code = SetOwnerLock(0x21, owner_key, sizeof(owner_key));
+ ASSERT_EQ(code, APP_ERROR_AVB_DENIED);
}
TEST_F(AvbTest, ProductionMode)
@@ -614,10 +614,10 @@ TEST_F(AvbTest, ProductionMode)
// Set some lock values to make sure production doesn't affect them
SetBootloader();
- code = SetBootLock(0x11);
+ code = SetOwnerLock(0x11, NULL, 0);
ASSERT_NO_ERROR(code, "");
- code = SetOwnerLock(0x22, NULL, 0);
+ code = SetBootLock(0x22);
ASSERT_NO_ERROR(code, "");
code = SetCarrierLock(0x33, DEVICE_DATA, sizeof(DEVICE_DATA));
@@ -632,8 +632,8 @@ TEST_F(AvbTest, ProductionMode)
GetState(client.get(), NULL, &production, locks);
ASSERT_TRUE(production);
- ASSERT_EQ(locks[BOOT], 0x11);
- ASSERT_EQ(locks[OWNER], 0x22);
+ ASSERT_EQ(locks[OWNER], 0x11);
+ ASSERT_EQ(locks[BOOT], 0x22);
ASSERT_EQ(locks[CARRIER], 0x33);
ASSERT_EQ(locks[DEVICE], 0x44);