summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authoredisonhello <edisonhello@google.com>2021-08-31 16:48:29 +0800
committerCommit Bot <commit-bot@chromium.org>2021-09-14 08:03:14 +0000
commit0d72f07a52e25c53ce4529345994401c835eb9e2 (patch)
treec2c941245a07ad39db2f93f8bac2ecc5c7089de3 /tests
parent50fa4408ada6b891ce77de2879ea0bd7f875787f (diff)
downloadvboot-0d72f07a52e25c53ce4529345994401c835eb9e2.tar.gz
vboot/ui: Remove developer menu and related tests
This CL is a part of centralizing ui codes. The removed screens and unit tests will be added in depthcharge. Remove developer menu and its action function. Remove developer mode, developer to norm, developer boot external, developer invalid disk, developer select altfw screens. Remove unit tests for above screens and menu. BUG=b:172339016 TEST=export CC=x86_64-pc-linux-gnu-clang DEBUG=1 DETACHABLE=0; \ make -j test_setup && make -j runtests TEST=export CC=x86_64-pc-linux-gnu-clang DEBUG=1 DETACHABLE=1; \ make -j test_setup && make -j runtests BRANCH=none Cq-Depend: chromium:3132550 Signed-off-by: edisonhello <edisonhello@google.com> Change-Id: I45332f8e059eba612231362cc56a70da1336c7c2 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/3132504 Reviewed-by: Yu-Ping Wu <yupingso@chromium.org> Reviewed-by: Julius Werner <jwerner@chromium.org>
Diffstat (limited to 'tests')
-rw-r--r--tests/vb2_ui_action_tests.c64
-rw-r--r--tests/vb2_ui_tests.c502
-rw-r--r--tests/vboot_api_kernel4_tests.c2
3 files changed, 1 insertions, 567 deletions
diff --git a/tests/vb2_ui_action_tests.c b/tests/vb2_ui_action_tests.c
index 70ca23af..ba378f43 100644
--- a/tests/vb2_ui_action_tests.c
+++ b/tests/vb2_ui_action_tests.c
@@ -727,67 +727,6 @@ static void menu_select_tests(void)
VB2_DEBUG("...done.\n");
}
-static void vb2_ui_developer_mode_boot_altfw_action_tests(void)
-{
- VB2_DEBUG("Test developer mode boot alternate action...\n");
-
- /* Not allowed: not in dev mode */
- reset_common_data();
- ctx->flags |= VB2_CONTEXT_DEV_BOOT_ALTFW_ALLOWED;
- TEST_EQ(vb2_ui_developer_mode_boot_altfw_action(&mock_ui_context),
- VB2_REQUEST_UI_CONTINUE, "not allowed: not in dev mode");
- TEST_EQ(mock_ui_context.error_code, VB2_UI_ERROR_ALTFW_DISABLED,
- "ui_error code is set");
- TEST_EQ(mock_run_altfw_called, 0, " vb2ex_run_altfw not called");
-
- /* Not allowed: dev boot not allowed */
- reset_common_data();
- ctx->flags |= VB2_CONTEXT_DEVELOPER_MODE;
- ctx->flags &= ~(uint64_t)VB2_CONTEXT_DEV_BOOT_ALLOWED;
- ctx->flags |= VB2_CONTEXT_DEV_BOOT_ALTFW_ALLOWED;
- TEST_EQ(vb2_ui_developer_mode_boot_altfw_action(&mock_ui_context),
- VB2_REQUEST_UI_CONTINUE, "not allowed: dev boot not allowed");
- TEST_EQ(mock_ui_context.error_code, VB2_UI_ERROR_ALTFW_DISABLED,
- "ui_error code is set");
- TEST_EQ(mock_run_altfw_called, 0, " vb2ex_run_altfw not called");
-
- /* Not allowed: boot altfw not allowed */
- reset_common_data();
- ctx->flags |= VB2_CONTEXT_DEVELOPER_MODE;
- TEST_EQ(vb2_ui_developer_mode_boot_altfw_action(&mock_ui_context),
- VB2_REQUEST_UI_CONTINUE, "not allowed: boot altfw not allowed");
- TEST_EQ(mock_ui_context.error_code, VB2_UI_ERROR_ALTFW_DISABLED,
- "ui_error code is set");
- TEST_EQ(mock_run_altfw_called, 0, " vb2ex_run_altfw not called");
-
- /* Allowed */
- reset_common_data();
- ctx->flags |= VB2_CONTEXT_DEVELOPER_MODE;
- ctx->flags |= VB2_CONTEXT_DEV_BOOT_ALTFW_ALLOWED;
- mock_ui_context.state->selected_item = 2;
- TEST_EQ(vb2_ui_developer_mode_boot_altfw_action(&mock_ui_context),
- VB2_REQUEST_UI_CONTINUE, "allowed");
- TEST_EQ(mock_ui_context.error_code, VB2_UI_ERROR_ALTFW_FAILED,
- "ui_error code is set");
- TEST_EQ(mock_run_altfw_called, 1, " vb2ex_run_altfw called once");
- TEST_EQ(mock_altfw_last, 2, " select bootloader #2");
-
- /* CTRL+L = default bootloader */
- reset_common_data();
- ctx->flags |= VB2_CONTEXT_DEVELOPER_MODE;
- ctx->flags |= VB2_CONTEXT_DEV_BOOT_ALTFW_ALLOWED;
- mock_ui_context.key = VB_KEY_CTRL('L');
- mock_ui_context.state->selected_item = 4; /* Ignored */
- TEST_EQ(vb2_ui_developer_mode_boot_altfw_action(&mock_ui_context),
- VB2_REQUEST_UI_CONTINUE, "allowed: ctrl+l");
- TEST_EQ(mock_ui_context.error_code, VB2_UI_ERROR_ALTFW_FAILED,
- "ui_error code is set");
- TEST_EQ(mock_run_altfw_called, 1, " vb2ex_run_altfw called once");
- TEST_EQ(mock_altfw_last, 0, " select bootloader #0");
-
- VB2_DEBUG("...done.\n");
-}
-
static void ui_loop_tests(void)
{
int i;
@@ -989,9 +928,6 @@ int main(void)
menu_next_tests();
menu_select_tests();
- /* Screen actions */
- vb2_ui_developer_mode_boot_altfw_action_tests();
-
/* Core UI loop */
ui_loop_tests();
ui_loop_delay_tests();
diff --git a/tests/vb2_ui_tests.c b/tests/vb2_ui_tests.c
index 2eaae0c3..b56d6315 100644
--- a/tests/vb2_ui_tests.c
+++ b/tests/vb2_ui_tests.c
@@ -140,17 +140,6 @@ static void add_mock_pp_pressed(int pressed)
mock_pp_pressed[mock_pp_pressed_total++] = pressed;
}
-static void extend_calls_until_shutdown(void)
-{
- if (mock_calls_until_shutdown < mock_key_total)
- mock_calls_until_shutdown = mock_key_total;
- if (mock_calls_until_shutdown < mock_vbtlk_total)
- mock_calls_until_shutdown = mock_vbtlk_total;
- if (mock_calls_until_shutdown < mock_pp_pressed_total)
- mock_calls_until_shutdown = mock_pp_pressed_total;
- mock_calls_until_shutdown++;
-}
-
static void displayed_eq(const char *text,
enum vb2_screen screen,
uint32_t locale_id,
@@ -229,22 +218,6 @@ static void displayed_no_extra(int line)
#define DISPLAYED_NO_EXTRA() displayed_no_extra(__LINE__)
-static void expect_beep(uint32_t msec,
- uint32_t frequency,
- uint32_t time_expected)
-{
- if (mock_beep_total >= ARRAY_SIZE(mock_beep)) {
- TEST_TRUE(0, " mock_beep ran out of entries!");
- return;
- }
-
- mock_beep[mock_beep_total++] = (struct beep_call){
- .msec = msec,
- .frequency = frequency,
- .time_expected = time_expected,
- };
-}
-
/* Check if the result time falls in range [expected, expected + FUZZ_MS) */
static void check_time(uint32_t result, uint32_t expected, const char *desc)
{
@@ -565,477 +538,6 @@ vb2_error_t vb2ex_diag_get_storage_test_log(const char **log)
}
/* Tests */
-static void developer_tests(void)
-{
- VB2_DEBUG("Testing developer mode...\n");
-
- /* Power button short pressed = shutdown request */
- if (!DETACHABLE) {
- reset_common_data(FOR_DEVELOPER);
- add_mock_keypress(VB_BUTTON_POWER_SHORT_PRESS);
- mock_calls_until_shutdown = -1;
- TEST_EQ(vb2_developer_menu(ctx),
- VB2_REQUEST_SHUTDOWN,
- "power button short pressed = shutdown");
- }
-
- /* Proceed to internal disk after timeout */
- reset_common_data(FOR_DEVELOPER);
- add_mock_vbtlk(VB2_SUCCESS, VB_DISK_FLAG_FIXED);
- expect_beep(250, 400, DEV_DELAY_BEEP1_MS);
- expect_beep(250, 400, DEV_DELAY_BEEP2_MS);
- TEST_EQ(vb2_developer_menu(ctx), VB2_SUCCESS,
- "proceed to internal disk after timeout");
- check_time(mock_time_ms - mock_time_start_ms, DEV_DELAY_NORMAL_MS,
- " finished delay");
- TEST_EQ(mock_beep_count, 2, " beeped twice");
- TEST_TRUE(mock_iters >= mock_vbtlk_total, " used up mock_vbtlk");
-
- /* Don't proceed to internal disk after timeout (dev mode disallowed) */
- reset_common_data(FOR_DEVELOPER);
- ctx->flags &= ~(uint64_t)VB2_CONTEXT_DEV_BOOT_ALLOWED;
- TEST_EQ(vb2_ui_loop(ctx, VB2_SCREEN_DEVELOPER_MODE, NULL),
- VB2_REQUEST_SHUTDOWN,
- "do not proceed to internal disk after timeout "
- "(dev mode disallowed)");
-
- /* Use short delay */
- reset_common_data(FOR_DEVELOPER);
- gbb.flags |= VB2_GBB_FLAG_DEV_SCREEN_SHORT_DELAY;
- add_mock_vbtlk(VB2_SUCCESS, VB_DISK_FLAG_FIXED);
- TEST_EQ(vb2_developer_menu(ctx), VB2_SUCCESS,
- "use short delay");
- check_time(mock_time_ms - mock_time_start_ms, DEV_DELAY_SHORT_MS,
- " finished delay");
- TEST_EQ(mock_beep_count, 0, " never beeped");
-
- /* Stop timer on any user input: normal delay */
- reset_common_data(FOR_DEVELOPER);
- add_mock_keypress('A');
- add_mock_vbtlk(VB2_SUCCESS, VB_DISK_FLAG_FIXED);
- TEST_EQ(vb2_developer_menu(ctx), VB2_REQUEST_SHUTDOWN,
- "stop timer on any user input: normal delay");
- TEST_TRUE(mock_time_ms - mock_time_start_ms > DEV_DELAY_NORMAL_MS,
- " delay aborted");
- TEST_EQ(mock_calls_until_shutdown, 0, " loop forever");
- TEST_EQ(mock_beep_count, 0, " never beeped");
-
- /* Stop timer on any user input: short delay */
- reset_common_data(FOR_DEVELOPER);
- gbb.flags |= VB2_GBB_FLAG_DEV_SCREEN_SHORT_DELAY;
- add_mock_keypress('A');
- add_mock_vbtlk(VB2_SUCCESS, VB_DISK_FLAG_FIXED);
- TEST_EQ(vb2_developer_menu(ctx), VB2_REQUEST_SHUTDOWN,
- "stop timer on any user input: short delay");
- TEST_TRUE(mock_time_ms - mock_time_start_ms > DEV_DELAY_SHORT_MS,
- " delay aborted");
- TEST_EQ(mock_calls_until_shutdown, 0, " loop forever");
- TEST_EQ(mock_beep_count, 0, " never beeped");
-
- /* If fail to load internal disk, don't boot */
- reset_common_data(FOR_DEVELOPER);
- add_mock_vbtlk(VB2_ERROR_LK_NO_DISK_FOUND, VB_DISK_FLAG_FIXED);
- TEST_NEQ(vb2_developer_menu(ctx), VB2_SUCCESS,
- "if fail to load internal disk, don't boot");
- TEST_EQ(mock_calls_until_shutdown, 0, " loop forever");
-
- /* Select boot internal in dev menu */
- reset_common_data(FOR_DEVELOPER);
- add_mock_keypress(VB_KEY_ENTER);
- add_mock_vbtlk(VB2_SUCCESS, VB_DISK_FLAG_FIXED);
- TEST_EQ(vb2_developer_menu(ctx), VB2_SUCCESS,
- "select boot internal in dev menu");
-
- /* Ctrl+U = boot external */
- reset_common_data(FOR_DEVELOPER);
- add_mock_keypress(VB_KEY_CTRL('U'));
- add_mock_vbtlk(VB2_SUCCESS, VB_DISK_FLAG_REMOVABLE);
- TEST_EQ(vb2_developer_menu(ctx), VB2_SUCCESS,
- "ctrl+u = boot external");
-
- /* Ctrl+D = boot internal */
- reset_common_data(FOR_DEVELOPER);
- add_mock_keypress(VB_KEY_CTRL('D'));
- add_mock_vbtlk(VB2_SUCCESS, VB_DISK_FLAG_FIXED);
- TEST_EQ(vb2_developer_menu(ctx), VB2_SUCCESS,
- "ctrl+d = boot internal");
-
- /* VB_BUTTON_VOL_DOWN_LONG_PRESS = boot internal */
- if (DETACHABLE) {
- reset_common_data(FOR_DEVELOPER);
- add_mock_keypress(VB_BUTTON_VOL_DOWN_LONG_PRESS);
- add_mock_vbtlk(VB2_SUCCESS, VB_DISK_FLAG_FIXED);
- TEST_EQ(vb2_developer_menu(ctx), VB2_SUCCESS,
- "VB_BUTTON_VOL_DOWN_LONG_PRESS = boot internal");
- }
-
- /* Proceed to external disk after timeout */
- reset_common_data(FOR_DEVELOPER);
- add_mock_vbtlk(VB2_SUCCESS, VB_DISK_FLAG_REMOVABLE);
- mock_default_boot = VB2_DEV_DEFAULT_BOOT_TARGET_EXTERNAL;
- expect_beep(250, 400, DEV_DELAY_BEEP1_MS);
- expect_beep(250, 400, DEV_DELAY_BEEP2_MS);
- TEST_EQ(vb2_developer_menu(ctx), VB2_SUCCESS,
- "proceed to external disk after timeout");
- check_time(mock_time_ms - mock_time_start_ms, DEV_DELAY_NORMAL_MS,
- " finished delay");
- TEST_EQ(mock_beep_count, 2, " beeped twice");
- TEST_TRUE(mock_iters >= mock_vbtlk_total, " used up mock_vbtlk");
-
- /* Default boot from external not allowed, don't boot */
- reset_common_data(FOR_DEVELOPER);
- mock_default_boot = VB2_DEV_DEFAULT_BOOT_TARGET_EXTERNAL;
- ctx->flags &= ~(uint64_t)VB2_CONTEXT_DEV_BOOT_EXTERNAL_ALLOWED;
- TEST_EQ(vb2_developer_menu(ctx), VB2_REQUEST_SHUTDOWN,
- "default boot from external disk not allowed, don't boot");
-
- /* Don't proceed to external disk after timeout (dev mode disallowed) */
- reset_common_data(FOR_DEVELOPER);
- ctx->flags &= ~(uint64_t)VB2_CONTEXT_DEV_BOOT_ALLOWED;
- mock_default_boot = VB2_DEV_DEFAULT_BOOT_TARGET_EXTERNAL;
- TEST_EQ(vb2_ui_loop(ctx, VB2_SCREEN_DEVELOPER_MODE, NULL),
- VB2_REQUEST_SHUTDOWN,
- "do not proceed to external disk after timeout "
- "(dev mode disallowed)");
-
- /* If no external disk, don't boot */
- reset_common_data(FOR_DEVELOPER);
- add_mock_vbtlk(VB2_ERROR_LK_NO_DISK_FOUND, VB_DISK_FLAG_REMOVABLE);
- mock_default_boot = VB2_DEV_DEFAULT_BOOT_TARGET_EXTERNAL;
- TEST_EQ(vb2_developer_menu(ctx), VB2_REQUEST_SHUTDOWN,
- "if no external disk, don't boot");
-
- /* Select boot external in dev menu */
- reset_common_data(FOR_DEVELOPER);
- add_mock_keypress(VB_KEY_ENTER);
- add_mock_vbtlk(VB2_SUCCESS, VB_DISK_FLAG_REMOVABLE);
- mock_default_boot = VB2_DEV_DEFAULT_BOOT_TARGET_EXTERNAL;
- TEST_EQ(vb2_developer_menu(ctx), VB2_SUCCESS,
- "select boot external in dev menu");
-
- /* Ctrl+L = boot altfw (allowed) */
- reset_common_data(FOR_DEVELOPER);
- ctx->flags |= VB2_CONTEXT_DEV_BOOT_ALTFW_ALLOWED;
- add_mock_keypress(VB_KEY_CTRL('L'));
- TEST_EQ(vb2_developer_menu(ctx), VB2_REQUEST_SHUTDOWN,
- "ctrl+l = boot altfw");
- TEST_EQ(mock_run_altfw_called, 1, " vb2ex_run_altfw called");
-
- /* Ctrl+L = boot altfw (disallowed) */
- reset_common_data(FOR_DEVELOPER);
- add_mock_keypress(VB_KEY_CTRL('L'));
- TEST_EQ(vb2_developer_menu(ctx), VB2_REQUEST_SHUTDOWN,
- "ctrl+l = boot altfw");
- TEST_EQ(mock_run_altfw_called, 0,
- " vb2ex_run_altfw not called");
-
- /* VB_BUTTON_VOL_UP_LONG_PRESS = boot external */
- if (DETACHABLE) {
- reset_common_data(FOR_DEVELOPER);
- add_mock_keypress(VB_BUTTON_VOL_UP_LONG_PRESS);
- add_mock_vbtlk(VB2_SUCCESS, VB_DISK_FLAG_REMOVABLE);
- TEST_EQ(vb2_developer_menu(ctx), VB2_SUCCESS,
- "VB_BUTTON_VOL_UP_LONG_PRESS = boot external");
- }
-
- /* Select to_norm in dev menu and confirm */
- reset_common_data(FOR_DEVELOPER);
- add_mock_keypress(VB_KEY_UP);
- add_mock_keypress(VB_KEY_ENTER);
- add_mock_keypress(VB_KEY_ENTER);
- TEST_EQ(vb2_developer_menu(ctx), VB2_REQUEST_REBOOT,
- "select to_norm in dev menu and confirm");
- TEST_EQ(vb2_nv_get(ctx, VB2_NV_DISABLE_DEV_REQUEST), 1,
- " disable dev request");
-
- /* Select to_norm in dev menu and confirm (dev mode disallowed) */
- reset_common_data(FOR_DEVELOPER);
- ctx->flags &= ~(uint64_t)VB2_CONTEXT_DEV_BOOT_ALLOWED;
- add_mock_keypress(VB_KEY_UP);
- add_mock_keypress(VB_KEY_ENTER);
- add_mock_keypress(VB_KEY_ENTER);
- TEST_EQ(vb2_ui_loop(ctx, VB2_SCREEN_DEVELOPER_MODE, NULL),
- VB2_REQUEST_REBOOT,
- "select to_norm in dev menu and confirm (dev mode disallowed)");
- TEST_EQ(vb2_nv_get(ctx, VB2_NV_DISABLE_DEV_REQUEST), 1,
- " disable dev request");
-
- /* Select to_norm in dev menu and cancel */
- reset_common_data(FOR_DEVELOPER);
- add_mock_keypress(VB_KEY_UP);
- add_mock_keypress(VB_KEY_ENTER);
- add_mock_keypress(VB_KEY_DOWN);
- add_mock_keypress(VB_KEY_ENTER);
- TEST_EQ(vb2_developer_menu(ctx), VB2_REQUEST_SHUTDOWN,
- "select to_norm in dev menu and cancel");
- TEST_EQ(vb2_nv_get(ctx, VB2_NV_DISABLE_DEV_REQUEST), 0,
- " disable dev request");
-
- /* Ctrl+S = to_norm */
- reset_common_data(FOR_DEVELOPER);
- add_mock_keypress(VB_KEY_CTRL('S'));
- add_mock_keypress(VB_KEY_ENTER);
- TEST_EQ(vb2_developer_menu(ctx), VB2_REQUEST_REBOOT,
- "ctrl+s = to_norm");
- TEST_EQ(vb2_nv_get(ctx, VB2_NV_DISABLE_DEV_REQUEST), 1,
- " disable dev request");
-
- /* Dev mode forced by GBB flag */
- reset_common_data(FOR_DEVELOPER);
- gbb.flags |= VB2_GBB_FLAG_FORCE_DEV_SWITCH_ON;
- add_mock_keypress(VB_KEY_CTRL('S'));
- add_mock_keypress(VB_KEY_ENTER);
- TEST_EQ(vb2_developer_menu(ctx), VB2_REQUEST_SHUTDOWN,
- "dev mode forced by GBB flag");
- TEST_EQ(vb2_nv_get(ctx, VB2_NV_DISABLE_DEV_REQUEST), 0,
- " disable dev request");
-
- /* Power off */
- reset_common_data(FOR_DEVELOPER);
- add_mock_vbtlk(VB2_SUCCESS, VB_DISK_FLAG_FIXED);
- /* Navigate to the bottom most menu item */
- add_mock_keypress(VB_KEY_DOWN);
- add_mock_keypress(VB_KEY_DOWN);
- add_mock_keypress(VB_KEY_DOWN);
- add_mock_keypress(VB_KEY_ENTER);
- TEST_EQ(vb2_developer_menu(ctx), VB2_REQUEST_SHUTDOWN,
- "select power off");
-
- VB2_DEBUG("...done.\n");
-}
-
-static void debug_info_tests(void)
-{
- VB2_DEBUG("Testing debug info screen...\n");
-
- /* Tab = debug info for all menus */
- reset_common_data(FOR_DEVELOPER);
- add_mock_keypress('\t');
- TEST_EQ(vb2_developer_menu(ctx), VB2_REQUEST_SHUTDOWN,
- "tab = debug info in dev mode");
- DISPLAYED_PASS();
- DISPLAYED_EQ("debug info", VB2_SCREEN_DEBUG_INFO, MOCK_IGNORE,
- MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE);
- DISPLAYED_NO_EXTRA();
-
- VB2_DEBUG("...done.\n");
-}
-
-static void developer_screen_tests(void)
-{
- VB2_DEBUG("Testing developer mode screens...\n");
-
- /* Dev mode: default selected item */
- reset_common_data(FOR_DEVELOPER);
- add_mock_vbtlk(VB2_SUCCESS, VB_DISK_FLAG_FIXED);
- TEST_EQ(vb2_developer_menu(ctx), VB2_SUCCESS,
- "dev mode screen: set default selection to boot internal");
- DISPLAYED_EQ("dev mode screen", VB2_SCREEN_DEVELOPER_MODE,
- MOCK_IGNORE, 2, MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE);
-
- reset_common_data(FOR_DEVELOPER);
- add_mock_vbtlk(VB2_SUCCESS, VB_DISK_FLAG_REMOVABLE);
- mock_default_boot = VB2_DEV_DEFAULT_BOOT_TARGET_EXTERNAL;
- TEST_EQ(vb2_developer_menu(ctx), VB2_SUCCESS,
- "dev mode screen: set default selection to boot external");
- DISPLAYED_EQ("dev mode screen", VB2_SCREEN_DEVELOPER_MODE,
- MOCK_IGNORE, 3, MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE);
-
- /* Dev mode: disabled and hidden item mask */
- reset_common_data(FOR_DEVELOPER);
- ctx->flags |= VB2_CONTEXT_DEV_BOOT_ALTFW_ALLOWED;
- add_mock_vbtlk(VB2_SUCCESS, VB_DISK_FLAG_FIXED);
- TEST_EQ(vb2_developer_menu(ctx), VB2_SUCCESS,
- "dev mode screen: no disabled or hidden item");
- DISPLAYED_EQ("dev mode screen", VB2_SCREEN_DEVELOPER_MODE,
- MOCK_IGNORE, MOCK_IGNORE, 0x0, 0x0, MOCK_IGNORE);
-
- reset_common_data(FOR_DEVELOPER);
- ctx->flags |= VB2_CONTEXT_DEV_BOOT_ALTFW_ALLOWED;
- gbb.flags |= VB2_GBB_FLAG_FORCE_DEV_SWITCH_ON;
- add_mock_vbtlk(VB2_SUCCESS, VB_DISK_FLAG_FIXED);
- TEST_EQ(vb2_developer_menu(ctx), VB2_SUCCESS,
- "dev mode screen: hide to_norm item");
- DISPLAYED_EQ("dev mode screen", VB2_SCREEN_DEVELOPER_MODE,
- MOCK_IGNORE, MOCK_IGNORE, 0x0, 0x2, MOCK_IGNORE);
-
- reset_common_data(FOR_DEVELOPER);
- add_mock_vbtlk(VB2_SUCCESS, VB_DISK_FLAG_FIXED);
- ctx->flags &= ~(uint64_t)VB2_CONTEXT_DEV_BOOT_EXTERNAL_ALLOWED;
- ctx->flags |= VB2_CONTEXT_DEV_BOOT_ALTFW_ALLOWED;
- TEST_EQ(vb2_developer_menu(ctx), VB2_SUCCESS,
- "dev mode screen: hide boot external");
- DISPLAYED_EQ("dev mode screen", VB2_SCREEN_DEVELOPER_MODE,
- MOCK_IGNORE, MOCK_IGNORE, 0x0, 0x8, MOCK_IGNORE);
-
- /* Dev mode screen */
- reset_common_data(FOR_DEVELOPER); /* Select #2 by default */
- add_mock_vbtlk(VB2_SUCCESS, VB_DISK_FLAG_FIXED);
- /* #0: Language menu */
- add_mock_keypress(VB_KEY_UP);
- add_mock_keypress(VB_KEY_UP);
- add_mock_keypress(VB_KEY_ENTER);
- /* #1: Return to secure mode */
- add_mock_keypress(VB_KEY_ESC);
- add_mock_keypress(VB_KEY_DOWN);
- add_mock_keypress(VB_KEY_ENTER);
- /* #2: Boot internal */
- add_mock_keypress(VB_KEY_ESC);
- add_mock_keypress(VB_KEY_DOWN);
- add_mock_keypress(VB_KEY_ENTER);
- TEST_EQ(vb2_developer_menu(ctx), VB2_SUCCESS,
- "dev mode screen");
- /* #0: Language menu */
- DISPLAYED_PASS();
- DISPLAYED_PASS();
- DISPLAYED_EQ("dev mode", VB2_SCREEN_DEVELOPER_MODE,
- MOCK_IGNORE, 0, MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE);
- DISPLAYED_EQ("#0: language menu", VB2_SCREEN_LANGUAGE_SELECT,
- MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE,
- MOCK_IGNORE);
- /* #1: Return to secure mode */
- DISPLAYED_PASS();
- DISPLAYED_EQ("dev mode", VB2_SCREEN_DEVELOPER_MODE,
- MOCK_IGNORE, 1, MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE);
- DISPLAYED_EQ("#1: return to secure mode", VB2_SCREEN_DEVELOPER_TO_NORM,
- MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE,
- MOCK_IGNORE);
- /* #2: Boot internal */
- DISPLAYED_PASS();
- DISPLAYED_EQ("dev mode", VB2_SCREEN_DEVELOPER_MODE,
- MOCK_IGNORE, 2, MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE);
- VB2_DEBUG("#2: boot internal (no extra screen)\n");
- DISPLAYED_NO_EXTRA();
-
- reset_common_data(FOR_DEVELOPER); /* Select #3 by default */
- add_mock_vbtlk(VB2_SUCCESS, VB_DISK_FLAG_REMOVABLE);
- mock_default_boot = VB2_DEV_DEFAULT_BOOT_TARGET_EXTERNAL;
- /* #3: Boot external */
- add_mock_keypress(VB_KEY_ENTER);
- TEST_EQ(vb2_developer_menu(ctx), VB2_SUCCESS,
- "dev mode screen");
- /* #3: Boot external */
- DISPLAYED_EQ("dev mode", VB2_SCREEN_DEVELOPER_MODE,
- MOCK_IGNORE, 3, MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE);
- VB2_DEBUG("#3: boot external (no extra screen)\n");
- DISPLAYED_NO_EXTRA();
-
- reset_common_data(FOR_DEVELOPER); /* Select #2 by default */
- ctx->flags |= VB2_CONTEXT_DEV_BOOT_ALTFW_ALLOWED;
- /* #4: Alternate boot */
- add_mock_keypress(VB_KEY_DOWN);
- add_mock_keypress(VB_KEY_DOWN);
- add_mock_keypress(VB_KEY_ENTER);
- add_mock_keypress(VB_KEY_ENTER);
- TEST_EQ(vb2_developer_menu(ctx), VB2_REQUEST_SHUTDOWN,
- "dev mode screen");
- TEST_EQ(mock_run_altfw_called, 1, " vb2ex_run_altfw called");
-
- reset_common_data(FOR_DEVELOPER); /* Select #2 by default */
- add_mock_vbtlk(VB2_SUCCESS, VB_DISK_FLAG_FIXED);
- /* #5: Advanced options */
- add_mock_keypress(VB_KEY_DOWN);
- add_mock_keypress(VB_KEY_DOWN);
- add_mock_keypress(VB_KEY_ENTER);
- /* End of menu */
- add_mock_keypress(VB_KEY_ESC);
- add_mock_keypress(VB_KEY_DOWN);
- add_mock_keypress(VB_KEY_DOWN); /* Blocked */
- TEST_EQ(vb2_developer_menu(ctx), VB2_REQUEST_SHUTDOWN,
- "dev mode screen");
- /* #5: Advanced options */
- DISPLAYED_PASS();
- DISPLAYED_PASS();
- DISPLAYED_EQ("dev mode", VB2_SCREEN_DEVELOPER_MODE,
- MOCK_IGNORE, 5, MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE);
- DISPLAYED_EQ("#4: advanced options", VB2_SCREEN_ADVANCED_OPTIONS,
- MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE,
- MOCK_IGNORE);
- /* End of menu */
- DISPLAYED_PASS();
- DISPLAYED_EQ("end of menu", VB2_SCREEN_DEVELOPER_MODE,
- MOCK_IGNORE, 6, MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE);
- DISPLAYED_NO_EXTRA();
-
- /* Advanced options screen: disabled and hidden item mask */
- reset_common_data(FOR_DEVELOPER);
- add_mock_keypress(VB_KEY_DOWN);
- add_mock_keypress(VB_KEY_DOWN);
- add_mock_keypress(VB_KEY_ENTER);
- TEST_EQ(vb2_developer_menu(ctx), VB2_REQUEST_SHUTDOWN,
- "advanced options screen: hide to_dev");
- DISPLAYED_PASS();
- DISPLAYED_PASS();
- DISPLAYED_PASS();
- DISPLAYED_EQ("advanced options", VB2_SCREEN_ADVANCED_OPTIONS,
- MOCK_IGNORE, MOCK_IGNORE, 0x0, 0x2, MOCK_IGNORE);
-
- /* Advanced options screen */
- reset_common_data(FOR_DEVELOPER);
- add_mock_keypress(VB_KEY_DOWN);
- add_mock_keypress(VB_KEY_DOWN);
- add_mock_keypress(VB_KEY_ENTER);
- /* #0: Language menu */
- add_mock_keypress(VB_KEY_UP);
- add_mock_keypress(VB_KEY_ENTER);
- /* #1: (Hidden) */
- /* #2: Debug info */
- add_mock_keypress(VB_KEY_ESC);
- add_mock_keypress(VB_KEY_DOWN);
- add_mock_keypress(VB_KEY_ENTER);
- /* #3: Firmware log */
- add_mock_keypress(VB_KEY_ESC);
- add_mock_keypress(VB_KEY_DOWN);
- add_mock_keypress(VB_KEY_ENTER);
- /* #4: Back */
- add_mock_keypress(VB_KEY_ESC);
- add_mock_keypress(VB_KEY_DOWN);
- add_mock_keypress(VB_KEY_ENTER);
- /* End of menu */
- add_mock_keypress(VB_KEY_ENTER);
- extend_calls_until_shutdown();
- TEST_EQ(vb2_developer_menu(ctx), VB2_REQUEST_SHUTDOWN,
- "advanced options screen");
- DISPLAYED_PASS();
- DISPLAYED_PASS();
- DISPLAYED_PASS();
- DISPLAYED_PASS();
- /* #0: Language menu */
- DISPLAYED_EQ("advanced options", VB2_SCREEN_ADVANCED_OPTIONS,
- MOCK_IGNORE, 0, MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE);
- DISPLAYED_EQ("#0: language menu", VB2_SCREEN_LANGUAGE_SELECT,
- MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE,
- MOCK_IGNORE);
- /* #1: (Hidden) */
- /* #2: Debug info */
- DISPLAYED_PASS();
- DISPLAYED_EQ("advanced options", VB2_SCREEN_ADVANCED_OPTIONS,
- MOCK_IGNORE, 2, MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE);
- DISPLAYED_EQ("#2: debug info", VB2_SCREEN_DEBUG_INFO,
- MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE,
- MOCK_IGNORE);
- /* #3: Firmware log */
- DISPLAYED_PASS();
- DISPLAYED_EQ("advanced options", VB2_SCREEN_ADVANCED_OPTIONS,
- MOCK_IGNORE, 3, MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE);
- DISPLAYED_EQ("#3: firmware log", VB2_SCREEN_FIRMWARE_LOG,
- MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE,
- MOCK_IGNORE);
- /* #4: Back */
- DISPLAYED_PASS();
- DISPLAYED_EQ("advanced options", VB2_SCREEN_ADVANCED_OPTIONS,
- MOCK_IGNORE, 4, MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE);
- DISPLAYED_EQ("#4: back", VB2_SCREEN_DEVELOPER_MODE,
- MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE,
- MOCK_IGNORE);
- /* End of menu */
- DISPLAYED_EQ("end of menu", VB2_SCREEN_ADVANCED_OPTIONS,
- MOCK_IGNORE, 2, MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE);
- DISPLAYED_NO_EXTRA();
-
- VB2_DEBUG("...done.\n");
-}
-
static void diagnostics_screen_tests(void)
{
VB2_DEBUG("Testing diagnostic screens...\n");
@@ -1146,11 +648,7 @@ static void diagnostics_screen_tests(void)
int main(void)
{
- developer_tests();
- debug_info_tests();
-
/* Screen displayed */
- developer_screen_tests();
diagnostics_screen_tests();
return gTestSuccess ? 0 : 255;
diff --git a/tests/vboot_api_kernel4_tests.c b/tests/vboot_api_kernel4_tests.c
index 2e4026df..14c6ea34 100644
--- a/tests/vboot_api_kernel4_tests.c
+++ b/tests/vboot_api_kernel4_tests.c
@@ -137,7 +137,7 @@ static vb2_error_t boot_dev(struct vb2_context *c)
return vbboot_retval;
}
-vb2_error_t vb2_developer_menu(struct vb2_context *c)
+vb2_error_t vb2ex_developer_ui(struct vb2_context *c)
{
return boot_dev(c);
}