summaryrefslogtreecommitdiff
path: root/tests/vboot_api_kernel2_tests.c
diff options
context:
space:
mode:
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 aa3e20dc..c1572c2f 100644
--- a/tests/vboot_api_kernel2_tests.c
+++ b/tests/vboot_api_kernel2_tests.c
@@ -220,6 +220,12 @@ static void VbBootDevTest(void)
TEST_EQ(u, 0, " recovery reason");
TEST_EQ(audio_looping_calls_left, 0, " used up audio");
+ /* Proceed to legacy after timeout if GBB flag set */
+ ResetMocks();
+ gbb.flags |= GBB_FLAG_DEFAULT_DEV_BOOT_LEGACY;
+ TEST_EQ(VbBootDeveloper(&cparams, &lkp), 1002, "Timeout");
+ TEST_EQ(vbexlegacy_called, 1, " try legacy");
+
/* Up arrow is uninteresting / passed to VbCheckDisplayKey() */
ResetMocks();
mock_keypress[0] = VB_KEY_UP;
@@ -313,6 +319,14 @@ static void VbBootDevTest(void)
VbNvGet(VbApiKernelGetVnc(), VBNV_RECOVERY_REQUEST, &u);
TEST_EQ(u, 0, " recovery reason");
TEST_NEQ(audio_looping_calls_left, 0, " aborts audio");
+ TEST_EQ(vbexlegacy_called, 0, " not legacy");
+
+ /* Ctrl+D doesn't boot legacy even if GBB flag is set */
+ ResetMocks();
+ mock_keypress[0] = 0x04;
+ gbb.flags |= GBB_FLAG_DEFAULT_DEV_BOOT_LEGACY;
+ TEST_EQ(VbBootDeveloper(&cparams, &lkp), 1002, "Ctrl+D");
+ TEST_EQ(vbexlegacy_called, 0, " not legacy");
/* Ctrl+L tries legacy boot mode only if enabled */
ResetMocks();