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.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/vboot_api_kernel2_tests.c b/tests/vboot_api_kernel2_tests.c
index 1cb2d835..21ea3063 100644
--- a/tests/vboot_api_kernel2_tests.c
+++ b/tests/vboot_api_kernel2_tests.c
@@ -419,6 +419,7 @@ static void VbBootRecTest(void)
shutdown_request_calls_left = 100;
mock_num_disks[0] = 1;
mock_num_disks[1] = 1;
+ mock_num_disks[2] = 1;
vbtlk_retval = VBERROR_NO_DISK_FOUND - VB_DISK_FLAG_REMOVABLE;
TEST_EQ(VbBootRecovery(&cparams, &lkp), VBERROR_SHUTDOWN_REQUESTED,
"Remove");
@@ -455,6 +456,21 @@ static void VbBootRecTest(void)
TEST_EQ(screens_displayed[0], VB_SCREEN_RECOVERY_INSERT,
" insert screen");
+ /* Removal if no disk initially found, but found on second attempt */
+ ResetMocks();
+ shutdown_request_calls_left = 100;
+ mock_num_disks[0] = 0;
+ mock_num_disks[1] = 1;
+ vbtlk_retval = VBERROR_NO_DISK_FOUND - VB_DISK_FLAG_REMOVABLE;
+ TEST_EQ(VbBootRecovery(&cparams, &lkp), VBERROR_SHUTDOWN_REQUESTED,
+ "Remove");
+ TEST_EQ(screens_displayed[0], VB_SCREEN_RECOVERY_REMOVE,
+ " remove screen");
+ TEST_EQ(screens_displayed[1], VB_SCREEN_BLANK,
+ " blank screen");
+ TEST_EQ(screens_displayed[2], VB_SCREEN_RECOVERY_INSERT,
+ " insert screen");
+
/* Bad disk count doesn't require removal */
ResetMocks();
mock_num_disks[0] = -1;