diff options
Diffstat (limited to 'tests/vb2_ui_tests.c')
-rw-r--r-- | tests/vb2_ui_tests.c | 269 |
1 files changed, 197 insertions, 72 deletions
diff --git a/tests/vb2_ui_tests.c b/tests/vb2_ui_tests.c index 516ec6f0..86833640 100644 --- a/tests/vb2_ui_tests.c +++ b/tests/vb2_ui_tests.c @@ -27,6 +27,8 @@ struct display_call { uint32_t locale_id; uint32_t selected_item; uint32_t disabled_item_mask; + /* TODO(b/156448738): Add more params and their tests */ + uint32_t current_page; }; struct beep_call { @@ -88,6 +90,8 @@ static int mock_pp_pressed_total; static int mock_enable_dev_mode; +static uint32_t mock_log_page_count; + static void add_mock_key(uint32_t press, int trusted) { if (mock_key_total >= ARRAY_SIZE(mock_key) || @@ -145,6 +149,7 @@ static void displayed_eq(const char *text, uint32_t locale_id, uint32_t selected_item, uint32_t disabled_item_mask, + uint32_t current_page, int line) { char text_info[32], text_buf[128]; @@ -180,6 +185,12 @@ static void displayed_eq(const char *text, TEST_EQ(mock_displayed[mock_displayed_i].disabled_item_mask, disabled_item_mask, text_buf); } + if (current_page != MOCK_IGNORE) { + sprintf(text_buf, " %s current_page of %s", + text_info, text); + TEST_EQ(mock_displayed[mock_displayed_i].current_page, + current_page, text_buf); + } mock_displayed_i++; } @@ -200,7 +211,7 @@ static void displayed_no_extra(int line) #define DISPLAYED_PASS() \ displayed_eq("", MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE, \ - __LINE__) + MOCK_IGNORE, __LINE__) #define DISPLAYED_NO_EXTRA() displayed_no_extra(__LINE__) @@ -306,6 +317,9 @@ static void reset_common_data(enum reset_type t) /* For vb2_enable_developer_mode */ mock_enable_dev_mode = 0; + /* For vb2ex_prepare_log_screen */ + mock_log_page_count = 1; + /* Avoid Iteration #0 */ add_mock_keypress(0); if (t == FOR_MANUAL_RECOVERY) @@ -327,6 +341,7 @@ vb2_error_t vb2ex_display_ui(enum vb2_screen screen, uint32_t selected_item, uint32_t disabled_item_mask, int timer_disabled, + uint32_t current_page, enum vb2_ui_error error_code) { struct display_call displayed = (struct display_call){ @@ -334,6 +349,7 @@ vb2_error_t vb2ex_display_ui(enum vb2_screen screen, .locale_id = locale_id, .selected_item = selected_item, .disabled_item_mask = disabled_item_mask, + .current_page = current_page, }; /* Ignore repeated calls with same arguments */ @@ -343,9 +359,10 @@ vb2_error_t vb2ex_display_ui(enum vb2_screen screen, return VB2_SUCCESS; VB2_DEBUG("displayed %d: screen = %#x, locale_id = %u, " - "selected_item = %u, disabled_item_mask = %#x\n", + "selected_item = %u, disabled_item_mask = %#x, " + "current_page = %u\n", mock_displayed_count, screen, locale_id, selected_item, - disabled_item_mask); + disabled_item_mask, current_page); if (mock_displayed_count >= ARRAY_SIZE(mock_displayed)) { TEST_TRUE(0, " mock vb2ex_display_ui ran out of entries!"); @@ -496,6 +513,17 @@ void vb2_enable_developer_mode(struct vb2_context *c) mock_enable_dev_mode = 1; } +const char *vb2ex_get_debug_info(struct vb2_context *c) +{ + return NULL; +} + +uint32_t vb2ex_prepare_log_screen(const char *str) +{ + return mock_log_page_count; +} + + /* Tests */ static void developer_tests(void) { @@ -653,10 +681,10 @@ static void developer_tests(void) TEST_EQ(vb2_developer_menu(ctx), VB2_REQUEST_SHUTDOWN, "if dev mode is disabled, goes to to_norm screen repeatedly"); DISPLAYED_EQ("to_norm", VB2_SCREEN_DEVELOPER_TO_NORM, - MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); + MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); DISPLAYED_PASS(); DISPLAYED_EQ("to_norm", VB2_SCREEN_DEVELOPER_TO_NORM, - MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); + MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); DISPLAYED_NO_EXTRA(); /* Select to_norm in dev menu and confirm */ @@ -788,11 +816,11 @@ static void manual_recovery_tests(void) TEST_EQ(vb2_manual_recovery_menu(ctx), VB2_SUCCESS, "boots after valid image appears"); DISPLAYED_EQ("recovery select", VB2_SCREEN_RECOVERY_SELECT, - MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); + MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); DISPLAYED_EQ("recovery invalid", VB2_SCREEN_RECOVERY_INVALID, - MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); + MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); DISPLAYED_EQ("recovery select", VB2_SCREEN_RECOVERY_SELECT, - MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); + MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); DISPLAYED_NO_EXTRA(); /* Ctrl+D = to_dev; space = cancel */ @@ -803,11 +831,11 @@ static void manual_recovery_tests(void) "ctrl+d = to_dev; space = cancel"); TEST_EQ(mock_enable_dev_mode, 0, " dev mode not enabled"); DISPLAYED_EQ("recovery select", VB2_SCREEN_RECOVERY_SELECT, - MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); + MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); DISPLAYED_EQ("to_dev", VB2_SCREEN_RECOVERY_TO_DEV, - MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); + MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); DISPLAYED_EQ("recovery select", VB2_SCREEN_RECOVERY_SELECT, - MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); + MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); DISPLAYED_NO_EXTRA(); /* Cancel to_dev transition */ @@ -875,7 +903,8 @@ static void manual_recovery_tests(void) "physical presence button stuck?"); TEST_EQ(mock_enable_dev_mode, 0, " dev mode not enabled"); DISPLAYED_EQ("recovery select", VB2_SCREEN_RECOVERY_SELECT, - MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); + MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE, + MOCK_IGNORE); DISPLAYED_NO_EXTRA(); /* Button stuck, enter to_dev again */ @@ -893,9 +922,11 @@ static void manual_recovery_tests(void) " used up mock_pp_pressed"); TEST_EQ(mock_enable_dev_mode, 1, " dev mode enabled"); DISPLAYED_EQ("recovery select", VB2_SCREEN_RECOVERY_SELECT, - MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); + MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE, + MOCK_IGNORE); DISPLAYED_EQ("to_dev", VB2_SCREEN_RECOVERY_TO_DEV, - MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); + MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE, + MOCK_IGNORE); DISPLAYED_NO_EXTRA(); /* Cancel with holding pp button, enter again */ @@ -926,13 +957,17 @@ static void manual_recovery_tests(void) " used up mock_pp_pressed"); TEST_EQ(mock_enable_dev_mode, 1, " dev mode enabled"); DISPLAYED_EQ("recovery select", VB2_SCREEN_RECOVERY_SELECT, - MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); + MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE, + MOCK_IGNORE); DISPLAYED_EQ("to_dev", VB2_SCREEN_RECOVERY_TO_DEV, - MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); + MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE, + MOCK_IGNORE); DISPLAYED_EQ("recovery select", VB2_SCREEN_RECOVERY_SELECT, - MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); + MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE, + MOCK_IGNORE); DISPLAYED_EQ("to_dev", VB2_SCREEN_RECOVERY_TO_DEV, - MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); + MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE, + MOCK_IGNORE); DISPLAYED_NO_EXTRA(); } @@ -955,15 +990,15 @@ static void language_selection_tests(void) TEST_EQ(vb2_manual_recovery_menu(ctx), VB2_REQUEST_SHUTDOWN, "change language"); DISPLAYED_EQ("RECOVERY_SELECT default", VB2_SCREEN_RECOVERY_SELECT, - 23, MOCK_IGNORE, MOCK_IGNORE); + 23, MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); DISPLAYED_EQ("RECOVERY_SELECT lang", VB2_SCREEN_RECOVERY_SELECT, - 23, 0, MOCK_IGNORE); + 23, 0, MOCK_IGNORE, MOCK_IGNORE); DISPLAYED_EQ("LANGUAGE_SELECT 23", VB2_SCREEN_LANGUAGE_SELECT, - 23, 23, MOCK_IGNORE); + 23, 23, MOCK_IGNORE, MOCK_IGNORE); DISPLAYED_EQ("LANGUAGE_SELECT 24", VB2_SCREEN_LANGUAGE_SELECT, - 23, 24, MOCK_IGNORE); + 23, 24, MOCK_IGNORE, MOCK_IGNORE); DISPLAYED_EQ("RECOVERY_SELECT new locale", VB2_SCREEN_RECOVERY_SELECT, - 24, MOCK_IGNORE, MOCK_IGNORE); + 24, MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); DISPLAYED_NO_EXTRA(); TEST_EQ(vb2_nv_get(ctx, VB2_NV_LOCALIZATION_INDEX), 24, " locale 24 saved to nvdata"); @@ -979,13 +1014,102 @@ static void language_selection_tests(void) TEST_EQ(vb2_manual_recovery_menu(ctx), VB2_REQUEST_SHUTDOWN, "enter language menu"); DISPLAYED_EQ("RECOVERY_SELECT default", VB2_SCREEN_RECOVERY_SELECT, - 23, MOCK_IGNORE, MOCK_IGNORE); + 23, MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); DISPLAYED_EQ("RECOVERY_SELECT lang", VB2_SCREEN_RECOVERY_SELECT, - 23, 0, MOCK_IGNORE); + 23, 0, MOCK_IGNORE, MOCK_IGNORE); DISPLAYED_EQ("LANGUAGE_SELECT index 0", VB2_SCREEN_LANGUAGE_SELECT, - 23, 0, MOCK_IGNORE); + 23, 0, MOCK_IGNORE, MOCK_IGNORE); DISPLAYED_EQ("RECOVERY_SELECT locale 0", VB2_SCREEN_RECOVERY_SELECT, - 0, MOCK_IGNORE, MOCK_IGNORE); + 0, MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); + DISPLAYED_NO_EXTRA(); + + 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); + DISPLAYED_NO_EXTRA(); + + reset_common_data(FOR_BROKEN_RECOVERY); + add_mock_keypress('\t'); + TEST_EQ(vb2_broken_recovery_menu(ctx), VB2_REQUEST_SHUTDOWN, + "tab = debug info in broken recovery mode"); + DISPLAYED_PASS(); + DISPLAYED_EQ("debug info", VB2_SCREEN_DEBUG_INFO, + MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); + DISPLAYED_NO_EXTRA(); + + reset_common_data(FOR_MANUAL_RECOVERY); + add_mock_keypress('\t'); + TEST_EQ(vb2_manual_recovery_menu(ctx), VB2_REQUEST_SHUTDOWN, + "tab = debug info in manual recovery mode"); + DISPLAYED_PASS(); + DISPLAYED_EQ("debug info", VB2_SCREEN_DEBUG_INFO, + MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); + DISPLAYED_NO_EXTRA(); + + /* Failed to enter debug info */ + reset_common_data(FOR_MANUAL_RECOVERY); + mock_log_page_count = 0; + add_mock_keypress('\t'); + TEST_EQ(vb2_manual_recovery_menu(ctx), VB2_REQUEST_SHUTDOWN, + "failed to enter debug info"); + DISPLAYED_PASS(); + DISPLAYED_NO_EXTRA(); + + /* Get a one-page debug info */ + reset_common_data(FOR_MANUAL_RECOVERY); + add_mock_keypress('\t'); + add_mock_keypress(VB_KEY_ENTER); /* back */ + TEST_EQ(vb2_manual_recovery_menu(ctx), VB2_REQUEST_SHUTDOWN, + "get a one-page debug info"); + DISPLAYED_PASS(); + DISPLAYED_EQ("debug info", VB2_SCREEN_DEBUG_INFO, + MOCK_IGNORE, 3, 0x6, 0); + DISPLAYED_EQ("back to root screen", VB2_SCREEN_RECOVERY_SELECT, + MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); + DISPLAYED_NO_EXTRA(); + + /* Get a three-page debug info and navigate */ + reset_common_data(FOR_MANUAL_RECOVERY); + mock_log_page_count = 3; + add_mock_keypress('\t'); + add_mock_keypress(VB_KEY_ENTER); /* page 0, select on page down */ + add_mock_keypress(VB_KEY_ENTER); /* page 1, select on page down */ + add_mock_keypress(VB_KEY_ENTER); /* page 2, select on page up */ + add_mock_keypress(VB_KEY_ENTER); /* page 1, select on page up */ + add_mock_keypress(VB_KEY_ENTER); /* page 0, select on page down */ + add_mock_keypress(VB_KEY_DOWN); + add_mock_keypress(VB_KEY_ENTER); /* page 1, select on back */ + TEST_EQ(vb2_manual_recovery_menu(ctx), VB2_REQUEST_SHUTDOWN, + "get a three-page debug info and navigate"); + DISPLAYED_PASS(); + DISPLAYED_EQ("debug info page #0", VB2_SCREEN_DEBUG_INFO, + MOCK_IGNORE, 2, 0x2, 0); + DISPLAYED_EQ("debug info page #1", VB2_SCREEN_DEBUG_INFO, + MOCK_IGNORE, 2, 0x0, 1); + DISPLAYED_EQ("debug info page #2", VB2_SCREEN_DEBUG_INFO, + MOCK_IGNORE, 1, 0x4, 2); + DISPLAYED_EQ("debug info page #1", VB2_SCREEN_DEBUG_INFO, + MOCK_IGNORE, 1, 0x0, 1); + DISPLAYED_EQ("debug info page #0", VB2_SCREEN_DEBUG_INFO, + MOCK_IGNORE, 2, 0x2, 0); + DISPLAYED_EQ("debug info page #1", VB2_SCREEN_DEBUG_INFO, + MOCK_IGNORE, 2, 0x0, 1); + DISPLAYED_EQ("debug info page #1", VB2_SCREEN_DEBUG_INFO, + MOCK_IGNORE, 3, 0x0, 1); + DISPLAYED_EQ("back to root screen", VB2_SCREEN_RECOVERY_SELECT, + MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); DISPLAYED_NO_EXTRA(); VB2_DEBUG("...done.\n"); @@ -1001,7 +1125,7 @@ static void developer_screen_tests(void) 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, 2, MOCK_IGNORE, MOCK_IGNORE); reset_common_data(FOR_DEVELOPER); add_mock_vbtlk(VB2_SUCCESS, VB_DISK_FLAG_REMOVABLE); @@ -1009,7 +1133,7 @@ static void developer_screen_tests(void) 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, 3, MOCK_IGNORE, MOCK_IGNORE); /* Dev mode: disabled item mask */ reset_common_data(FOR_DEVELOPER); @@ -1017,7 +1141,7 @@ static void developer_screen_tests(void) TEST_EQ(vb2_developer_menu(ctx), VB2_SUCCESS, "dev mode screen: no disabled item mask"); DISPLAYED_EQ("dev mode screen", VB2_SCREEN_DEVELOPER_MODE, - MOCK_IGNORE, MOCK_IGNORE, 0x0); + MOCK_IGNORE, MOCK_IGNORE, 0x0, MOCK_IGNORE); reset_common_data(FOR_DEVELOPER); gbb.flags |= VB2_GBB_FLAG_FORCE_DEV_SWITCH_ON; @@ -1025,7 +1149,7 @@ static void developer_screen_tests(void) TEST_EQ(vb2_developer_menu(ctx), VB2_SUCCESS, "dev mode screen: disable to_norm item"); DISPLAYED_EQ("dev mode screen", VB2_SCREEN_DEVELOPER_MODE, - MOCK_IGNORE, MOCK_IGNORE, 0x2); + MOCK_IGNORE, MOCK_IGNORE, 0x2, MOCK_IGNORE); reset_common_data(FOR_DEVELOPER); add_mock_vbtlk(VB2_SUCCESS, VB_DISK_FLAG_FIXED); @@ -1033,7 +1157,7 @@ static void developer_screen_tests(void) TEST_EQ(vb2_developer_menu(ctx), VB2_SUCCESS, "dev mode screen: disable boot external"); DISPLAYED_EQ("dev mode screen", VB2_SCREEN_DEVELOPER_MODE, - MOCK_IGNORE, MOCK_IGNORE, 0x8); + MOCK_IGNORE, MOCK_IGNORE, 0x8, MOCK_IGNORE); /* Dev mode screen */ reset_common_data(FOR_DEVELOPER); /* Select #2 by default */ @@ -1056,19 +1180,19 @@ static void developer_screen_tests(void) DISPLAYED_PASS(); DISPLAYED_PASS(); DISPLAYED_EQ("dev mode", VB2_SCREEN_DEVELOPER_MODE, - MOCK_IGNORE, 0, MOCK_IGNORE); + MOCK_IGNORE, 0, MOCK_IGNORE, MOCK_IGNORE); DISPLAYED_EQ("#0: language menu", VB2_SCREEN_LANGUAGE_SELECT, - MOCK_IGNORE, MOCK_IGNORE, 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, 1, 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, MOCK_IGNORE, MOCK_IGNORE); /* #2: Boot internal */ DISPLAYED_PASS(); DISPLAYED_EQ("dev mode", VB2_SCREEN_DEVELOPER_MODE, - MOCK_IGNORE, 2, MOCK_IGNORE); + MOCK_IGNORE, 2, MOCK_IGNORE, MOCK_IGNORE); VB2_DEBUG("#2: boot internal (no extra screen)\n"); DISPLAYED_NO_EXTRA(); @@ -1081,7 +1205,7 @@ static void developer_screen_tests(void) "dev mode screen"); /* #3: Boot external */ DISPLAYED_EQ("dev mode", VB2_SCREEN_DEVELOPER_MODE, - MOCK_IGNORE, 3, MOCK_IGNORE); + MOCK_IGNORE, 3, MOCK_IGNORE, MOCK_IGNORE); VB2_DEBUG("#3: boot external (no extra screen)\n"); DISPLAYED_NO_EXTRA(); @@ -1101,13 +1225,13 @@ static void developer_screen_tests(void) DISPLAYED_PASS(); DISPLAYED_PASS(); DISPLAYED_EQ("dev mode", VB2_SCREEN_DEVELOPER_MODE, - MOCK_IGNORE, 4, MOCK_IGNORE); + MOCK_IGNORE, 4, MOCK_IGNORE, MOCK_IGNORE); DISPLAYED_EQ("#4: advanced options", VB2_SCREEN_ADVANCED_OPTIONS, - MOCK_IGNORE, MOCK_IGNORE, 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, 5, MOCK_IGNORE); + MOCK_IGNORE, 5, MOCK_IGNORE, MOCK_IGNORE); DISPLAYED_NO_EXTRA(); /* Advanced options screen */ @@ -1134,19 +1258,19 @@ static void developer_screen_tests(void) DISPLAYED_PASS(); /* #0: Language menu */ DISPLAYED_EQ("advanced options", VB2_SCREEN_ADVANCED_OPTIONS, - MOCK_IGNORE, 0, 0x2); + MOCK_IGNORE, 0, 0x2, MOCK_IGNORE); DISPLAYED_EQ("#0: language menu", VB2_SCREEN_LANGUAGE_SELECT, - MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); + MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); /* #1: (Disabled) */ /* #2: Back */ DISPLAYED_PASS(); DISPLAYED_EQ("advanced options", VB2_SCREEN_ADVANCED_OPTIONS, - MOCK_IGNORE, 2, 0x2); + MOCK_IGNORE, 2, 0x2, MOCK_IGNORE); DISPLAYED_EQ("#2: back", VB2_SCREEN_DEVELOPER_MODE, - MOCK_IGNORE, MOCK_IGNORE, 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, 2, MOCK_IGNORE, MOCK_IGNORE); DISPLAYED_NO_EXTRA(); VB2_DEBUG("...done.\n"); @@ -1171,18 +1295,18 @@ static void broken_recovery_screen_tests(void) /* #0: Language menu */ DISPLAYED_PASS(); DISPLAYED_EQ("broken screen", VB2_SCREEN_RECOVERY_BROKEN, - MOCK_IGNORE, 0, 0x0); + MOCK_IGNORE, 0, 0x0, MOCK_IGNORE); DISPLAYED_EQ("#0: language menu", VB2_SCREEN_LANGUAGE_SELECT, - MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); + MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); /* #1: Advanced options */ DISPLAYED_PASS(); DISPLAYED_EQ("broken screen", VB2_SCREEN_RECOVERY_BROKEN, - MOCK_IGNORE, 1, 0x0); + MOCK_IGNORE, 1, 0x0, MOCK_IGNORE); DISPLAYED_EQ("#1: advanced options", VB2_SCREEN_ADVANCED_OPTIONS, - MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); + MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); /* End of menu */ DISPLAYED_EQ("end of menu", VB2_SCREEN_RECOVERY_BROKEN, - MOCK_IGNORE, 1, MOCK_IGNORE); + MOCK_IGNORE, 1, MOCK_IGNORE, MOCK_IGNORE); DISPLAYED_NO_EXTRA(); /* Advanced options screen */ @@ -1205,19 +1329,19 @@ static void broken_recovery_screen_tests(void) /* #0: Language menu */ DISPLAYED_PASS(); DISPLAYED_EQ("advanced options", VB2_SCREEN_ADVANCED_OPTIONS, - MOCK_IGNORE, 0, 0x2); + MOCK_IGNORE, 0, 0x2, MOCK_IGNORE); DISPLAYED_EQ("#0: language menu", VB2_SCREEN_LANGUAGE_SELECT, - MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); + MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); /* #1: (Disabled) */ /* #2: Back */ DISPLAYED_PASS(); DISPLAYED_EQ("advanced options", VB2_SCREEN_ADVANCED_OPTIONS, - MOCK_IGNORE, 2, 0x2); + MOCK_IGNORE, 2, 0x2, MOCK_IGNORE); DISPLAYED_EQ("#2: back", VB2_SCREEN_RECOVERY_BROKEN, - MOCK_IGNORE, MOCK_IGNORE, 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, 2, MOCK_IGNORE, MOCK_IGNORE); DISPLAYED_NO_EXTRA(); VB2_DEBUG("...done.\n"); @@ -1252,31 +1376,31 @@ static void manual_recovery_screen_tests(void) /* #0: Language menu */ DISPLAYED_PASS(); DISPLAYED_EQ("recovery select", VB2_SCREEN_RECOVERY_SELECT, - MOCK_IGNORE, 0, 0x0); + MOCK_IGNORE, 0, 0x0, MOCK_IGNORE); DISPLAYED_EQ("#0: language menu", VB2_SCREEN_LANGUAGE_SELECT, - MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); + MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); /* #1: Phone recovery */ DISPLAYED_PASS(); DISPLAYED_EQ("recovery select", VB2_SCREEN_RECOVERY_SELECT, - MOCK_IGNORE, 1, 0x0); + MOCK_IGNORE, 1, 0x0, MOCK_IGNORE); DISPLAYED_EQ("#1: phone recovery", VB2_SCREEN_RECOVERY_PHONE_STEP1, - MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); + MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); /* #2: External disk recovery */ DISPLAYED_PASS(); DISPLAYED_EQ("recovery select", VB2_SCREEN_RECOVERY_SELECT, - MOCK_IGNORE, 2, 0x0); + MOCK_IGNORE, 2, 0x0, MOCK_IGNORE); DISPLAYED_EQ("#2: disk recovery", VB2_SCREEN_RECOVERY_DISK_STEP1, - MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); + MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); /* #3: Advanced options */ DISPLAYED_PASS(); DISPLAYED_EQ("recovery select", VB2_SCREEN_RECOVERY_SELECT, - MOCK_IGNORE, 3, 0x0); + MOCK_IGNORE, 3, 0x0, MOCK_IGNORE); DISPLAYED_EQ("#3: advanced options", VB2_SCREEN_ADVANCED_OPTIONS, - MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); + MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); /* End of menu */ DISPLAYED_PASS(); DISPLAYED_EQ("end of menu", VB2_SCREEN_RECOVERY_SELECT, - MOCK_IGNORE, 4, MOCK_IGNORE); + MOCK_IGNORE, 4, MOCK_IGNORE, MOCK_IGNORE); DISPLAYED_NO_EXTRA(); /* Advanced options screen */ @@ -1307,25 +1431,25 @@ static void manual_recovery_screen_tests(void) /* #0: Language menu */ DISPLAYED_PASS(); DISPLAYED_EQ("advanced options", VB2_SCREEN_ADVANCED_OPTIONS, - MOCK_IGNORE, 0, 0x0); + MOCK_IGNORE, 0, 0x0, MOCK_IGNORE); DISPLAYED_EQ("#0: language menu", VB2_SCREEN_LANGUAGE_SELECT, - MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); + MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); /* #1: Enable dev mode */ DISPLAYED_PASS(); DISPLAYED_EQ("advanced options", VB2_SCREEN_ADVANCED_OPTIONS, - MOCK_IGNORE, 1, 0x0); + MOCK_IGNORE, 1, 0x0, MOCK_IGNORE); DISPLAYED_EQ("#1: enable dev mode", VB2_SCREEN_RECOVERY_TO_DEV, - MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); + MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); /* #2: Back */ DISPLAYED_PASS(); DISPLAYED_EQ("advanced options", VB2_SCREEN_ADVANCED_OPTIONS, - MOCK_IGNORE, 2, 0x0); + MOCK_IGNORE, 2, 0x0, MOCK_IGNORE); DISPLAYED_EQ("#2: back", VB2_SCREEN_RECOVERY_SELECT, - MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); + MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); /* End of menu */ DISPLAYED_PASS(); DISPLAYED_EQ("end of menu", VB2_SCREEN_ADVANCED_OPTIONS, - MOCK_IGNORE, 2, 0x0); + MOCK_IGNORE, 2, 0x0, MOCK_IGNORE); DISPLAYED_NO_EXTRA(); VB2_DEBUG("...done.\n"); @@ -1337,6 +1461,7 @@ int main(void) broken_recovery_tests(); manual_recovery_tests(); language_selection_tests(); + debug_info_tests(); /* Screen displayed */ developer_screen_tests(); |