summaryrefslogtreecommitdiff
path: root/tests/vb2_ui_tests.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/vb2_ui_tests.c')
-rw-r--r--tests/vb2_ui_tests.c502
1 files changed, 0 insertions, 502 deletions
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;