summaryrefslogtreecommitdiff
path: root/tests/vboot_api_kernel2_tests.c
diff options
context:
space:
mode:
authorJoel Kitching <kitching@google.com>2019-05-29 16:25:05 +0800
committerCommit Bot <commit-bot@chromium.org>2019-06-07 20:09:43 +0000
commitefd0dc23e855c8ec5a4cd4e0bb08b4ae1e40bfb3 (patch)
tree7dc12209dcbace8a8c17de3e09e2c54bbb409075 /tests/vboot_api_kernel2_tests.c
parent40c35a022fc9ff9a2be0f394be45747e8f767931 (diff)
downloadvboot-efd0dc23e855c8ec5a4cd4e0bb08b4ae1e40bfb3.tar.gz
vboot: check display init when entering normal mode
In order to simplify code which uses VB2_NV_DISPLAY_REQUEST, centralize disabling this NVRAM flag to a function called at the start of VbBootNormal. Also disable VB2_NV_DIAG_REQUEST here, since display init is enabled for this request as well. BUG=b:124141368, chromium:948592, chromium:967298, b:133175864 TEST=make clean && make runtests BRANCH=none Change-Id: I8aa7c44671ada23c0500cd8a0c5d7f737298bb11 Signed-off-by: Joel Kitching <kitching@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/1634451 Commit-Queue: Jason Clinton <jclinton@chromium.org> Tested-by: Jason Clinton <jclinton@chromium.org> Reviewed-by: Joel Kitching <kitching@chromium.org>
Diffstat (limited to 'tests/vboot_api_kernel2_tests.c')
-rw-r--r--tests/vboot_api_kernel2_tests.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/tests/vboot_api_kernel2_tests.c b/tests/vboot_api_kernel2_tests.c
index fcace7a1..66de74aa 100644
--- a/tests/vboot_api_kernel2_tests.c
+++ b/tests/vboot_api_kernel2_tests.c
@@ -466,6 +466,20 @@ static void VbBootTest(void)
VbExEcEnteringMode(0, VB_EC_NORMAL);
TEST_EQ(VbBootNormal(&ctx), 1002, "VbBootNormal()");
TEST_EQ(VbGetMode(), VB_EC_NORMAL, "vboot_mode normal");
+
+ ResetMocks();
+ vb2_nv_set(&ctx, VB2_NV_DISPLAY_REQUEST, 1);
+ TEST_EQ(VbBootNormal(&ctx), VBERROR_REBOOT_REQUIRED,
+ "VbBootNormal() reboot to reset NVRAM display request");
+ TEST_EQ(vb2_nv_get(&ctx, VB2_NV_DISPLAY_REQUEST), 0,
+ " display request reset");
+
+ ResetMocks();
+ vb2_nv_set(&ctx, VB2_NV_DIAG_REQUEST, 1);
+ TEST_EQ(VbBootNormal(&ctx), VBERROR_REBOOT_REQUIRED,
+ "VbBootNormal() reboot to reset NVRAM diag request");
+ TEST_EQ(vb2_nv_get(&ctx, VB2_NV_DIAG_REQUEST), 0,
+ " diag request reset");
}
static void VbBootDevTest(void)