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.c40
1 files changed, 39 insertions, 1 deletions
diff --git a/tests/vboot_api_kernel2_tests.c b/tests/vboot_api_kernel2_tests.c
index 6420d518..aebfab64 100644
--- a/tests/vboot_api_kernel2_tests.c
+++ b/tests/vboot_api_kernel2_tests.c
@@ -293,6 +293,45 @@ static void VbBootDevTest(void)
TEST_EQ(VbBootDeveloper(&cparams, &lkp), 1002, "Timeout");
TEST_EQ(vbexlegacy_called, 1, " try legacy");
+ /* Proceed to legacy after timeout if boot legacy and default boot
+ * legacy are set */
+ ResetMocks();
+ VbNvSet(VbApiKernelGetVnc(), VBNV_DEV_DEFAULT_BOOT,
+ VBNV_DEV_DEFAULT_BOOT_LEGACY);
+ VbNvSet(VbApiKernelGetVnc(), VBNV_DEV_BOOT_LEGACY, 1);
+ TEST_EQ(VbBootDeveloper(&cparams, &lkp), 1002, "Timeout");
+ TEST_EQ(vbexlegacy_called, 1, " try legacy");
+
+ /* Proceed to legacy boot mode only if enabled */
+ ResetMocks();
+ VbNvSet(VbApiKernelGetVnc(), VBNV_DEV_DEFAULT_BOOT,
+ VBNV_DEV_DEFAULT_BOOT_LEGACY);
+ TEST_EQ(VbBootDeveloper(&cparams, &lkp), 1002, "Timeout");
+ TEST_EQ(vbexlegacy_called, 0, " not legacy");
+
+ /* Proceed to usb after timeout if boot usb and default boot
+ * usb are set */
+ ResetMocks();
+ VbNvSet(VbApiKernelGetVnc(), VBNV_DEV_DEFAULT_BOOT,
+ VBNV_DEV_DEFAULT_BOOT_USB);
+ VbNvSet(VbApiKernelGetVnc(), VBNV_DEV_BOOT_USB, 1);
+ vbtlk_retval = VBERROR_SUCCESS - VB_DISK_FLAG_REMOVABLE;
+ TEST_EQ(VbBootDeveloper(&cparams, &lkp), 0, "Ctrl+U USB");
+
+ /* Proceed to usb boot mode only if enabled */
+ ResetMocks();
+ VbNvSet(VbApiKernelGetVnc(), VBNV_DEV_DEFAULT_BOOT,
+ VBNV_DEV_DEFAULT_BOOT_USB);
+ TEST_EQ(VbBootDeveloper(&cparams, &lkp), 1002, "Timeout");
+
+ /* If no USB tries fixed disk */
+ ResetMocks();
+ VbNvSet(VbApiKernelGetVnc(), VBNV_DEV_BOOT_USB, 1);
+ VbNvSet(VbApiKernelGetVnc(), VBNV_DEV_DEFAULT_BOOT,
+ VBNV_DEV_DEFAULT_BOOT_USB);
+ TEST_EQ(VbBootDeveloper(&cparams, &lkp), 1002, "Ctrl+U enabled");
+ TEST_EQ(vbexlegacy_called, 0, " not legacy");
+
/* Up arrow is uninteresting / passed to VbCheckDisplayKey() */
ResetMocks();
mock_keypress[0] = VB_KEY_UP;
@@ -402,7 +441,6 @@ static void VbBootDevTest(void)
TEST_EQ(vbexlegacy_called, 0, " not legacy");
ResetMocks();
-
gbb.flags |= GBB_FLAG_FORCE_DEV_BOOT_LEGACY;
mock_keypress[0] = 0x0c;
TEST_EQ(VbBootDeveloper(&cparams, &lkp), 1002, "Ctrl+L force legacy");