diff options
Diffstat (limited to 'tests/vboot_api_kernel2_tests.c')
-rw-r--r-- | tests/vboot_api_kernel2_tests.c | 16 |
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; |