summaryrefslogtreecommitdiff
path: root/tests/vb20_api_kernel_tests.c
diff options
context:
space:
mode:
authorJoel Kitching <kitching@google.com>2019-10-02 00:06:29 +0800
committerCommit Bot <commit-bot@chromium.org>2019-10-21 04:48:33 +0000
commit2abf0e7b7038b4ac12ea5edf7db00dad09a8e5c7 (patch)
treeeee999daff88272ef010bd2843d944b5a179480f /tests/vb20_api_kernel_tests.c
parentf06f7551e16bb5e44b3b1f2fd5788ea86825cd7e (diff)
downloadvboot-2abf0e7b7038b4ac12ea5edf7db00dad09a8e5c7.tar.gz
vboot: update secdata accessors to match those of FWMP
Instead of returning vb2_error_t, use VB2_DIE to exit on error. BUG=b:124141368, chromium:972956, chromium:1006689, TEST=make clean && make runtests BRANCH=none Change-Id: I9497eebb0b8815734fdf875ba4f9ef5eda5e82fd Signed-off-by: Joel Kitching <kitching@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/1833365 Tested-by: Joel Kitching <kitching@chromium.org> Commit-Queue: Joel Kitching <kitching@chromium.org> Reviewed-by: Julius Werner <jwerner@chromium.org>
Diffstat (limited to 'tests/vb20_api_kernel_tests.c')
-rw-r--r--tests/vb20_api_kernel_tests.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/tests/vb20_api_kernel_tests.c b/tests/vb20_api_kernel_tests.c
index 0e59cc38..fdb890f2 100644
--- a/tests/vb20_api_kernel_tests.c
+++ b/tests/vb20_api_kernel_tests.c
@@ -105,6 +105,10 @@ static void reset_common_data(enum reset_type t)
vb2_set_workbuf_used(&ctx, sd->preamble_offset +
sd->preamble_size);
+ /* Needed to check that secdata_kernel initialization is
+ performed by phase1 function. */
+ sd->status &= ~VB2_SD_STATUS_SECDATA_KERNEL_INIT;
+
} else if (t == FOR_PHASE2) {
struct vb2_signature *sig;
struct vb2_digest_context dc;
@@ -275,8 +279,8 @@ static void phase1_tests(void)
ctx.secdata_kernel[0] ^= 0x33;
TEST_EQ(vb2api_kernel_phase1(&ctx), VB2_ERROR_SECDATA_KERNEL_CRC,
"phase1 bad secdata");
- reset_common_data(FOR_PHASE1);
+ reset_common_data(FOR_PHASE1);
ctx.secdata_kernel[0] ^= 0x33;
ctx.flags |= VB2_CONTEXT_RECOVERY_MODE;
TEST_SUCC(vb2api_kernel_phase1(&ctx), "phase1 bad secdata rec");
@@ -417,37 +421,36 @@ static void phase3_tests(void)
reset_common_data(FOR_PHASE3);
TEST_SUCC(vb2api_kernel_phase3(&ctx), "phase3 good");
- vb2_secdata_kernel_get(&ctx, VB2_SECDATA_KERNEL_VERSIONS, &v);
+ v = vb2_secdata_kernel_get(&ctx, VB2_SECDATA_KERNEL_VERSIONS);
TEST_EQ(v, 0x20004, " version");
reset_common_data(FOR_PHASE3);
sd->kernel_version = 0x20001;
TEST_SUCC(vb2api_kernel_phase3(&ctx), "phase3 no rollback");
- vb2_secdata_kernel_get(&ctx, VB2_SECDATA_KERNEL_VERSIONS, &v);
+ v = vb2_secdata_kernel_get(&ctx, VB2_SECDATA_KERNEL_VERSIONS);
TEST_EQ(v, 0x20002, " version");
reset_common_data(FOR_PHASE3);
sd->flags &= ~VB2_SD_FLAG_KERNEL_SIGNED;
TEST_SUCC(vb2api_kernel_phase3(&ctx), "phase3 unsigned kernel");
- vb2_secdata_kernel_get(&ctx, VB2_SECDATA_KERNEL_VERSIONS, &v);
+ v = vb2_secdata_kernel_get(&ctx, VB2_SECDATA_KERNEL_VERSIONS);
TEST_EQ(v, 0x20002, " version");
reset_common_data(FOR_PHASE3);
ctx.flags |= VB2_CONTEXT_RECOVERY_MODE;
TEST_SUCC(vb2api_kernel_phase3(&ctx), "phase3 recovery");
- vb2_secdata_kernel_get(&ctx, VB2_SECDATA_KERNEL_VERSIONS, &v);
+ v = vb2_secdata_kernel_get(&ctx, VB2_SECDATA_KERNEL_VERSIONS);
TEST_EQ(v, 0x20002, " version");
reset_common_data(FOR_PHASE3);
ctx.flags &= ~VB2_CONTEXT_ALLOW_KERNEL_ROLL_FORWARD;
TEST_SUCC(vb2api_kernel_phase3(&ctx), "phase3 no rollforward");
- vb2_secdata_kernel_get(&ctx, VB2_SECDATA_KERNEL_VERSIONS, &v);
+ v = vb2_secdata_kernel_get(&ctx, VB2_SECDATA_KERNEL_VERSIONS);
TEST_EQ(v, 0x20002, " version");
reset_common_data(FOR_PHASE3);
sd->status &= ~VB2_SD_STATUS_SECDATA_KERNEL_INIT;
- TEST_EQ(vb2api_kernel_phase3(&ctx),
- VB2_ERROR_SECDATA_KERNEL_SET_UNINITIALIZED, "phase3 set fail");
+ TEST_ABORT(vb2api_kernel_phase3(&ctx), "phase3 set fail");
}
int main(int argc, char* argv[])