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