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.c269
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();