diff options
Diffstat (limited to 'tests/vb2_ui_tests.c')
-rw-r--r-- | tests/vb2_ui_tests.c | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/tests/vb2_ui_tests.c b/tests/vb2_ui_tests.c index c29f7f77..00c6e935 100644 --- a/tests/vb2_ui_tests.c +++ b/tests/vb2_ui_tests.c @@ -236,6 +236,7 @@ enum reset_type { FOR_DEVELOPER, FOR_BROKEN_RECOVERY, FOR_MANUAL_RECOVERY, + FOR_DIAGNOSTICS, }; /* Reset mock data (for use before each test) */ @@ -1548,6 +1549,55 @@ static void manual_recovery_screen_tests(void) VB2_DEBUG("...done.\n"); } +static void diagnostics_screen_tests(void) +{ + VB2_DEBUG("Testing diagnostic screens...\n"); + + /* Diagnostics screen */ + reset_common_data(FOR_DIAGNOSTICS); + + /* #0: Language menu */ + add_mock_keypress(VB_KEY_UP); + add_mock_keypress(VB_KEY_ENTER); + /* #1: Storage (no-op) */ + add_mock_keypress(VB_KEY_ESC); + add_mock_keypress(VB_KEY_DOWN); + /* #2: Quick memory test (no-op) */ + add_mock_keypress(VB_KEY_DOWN); + /* #3: Full memory test (no-op) */ + add_mock_keypress(VB_KEY_DOWN); + /* #4: Power off (End of menu) */ + add_mock_keypress(VB_KEY_DOWN); + add_mock_keypress(VB_KEY_ENTER); + mock_calls_until_shutdown = -1; + TEST_EQ(vb2_diagnostic_menu(ctx), VB2_REQUEST_SHUTDOWN, + "diagnostic screen"); + + DISPLAYED_EQ("default on first button of menu", + VB2_SCREEN_DIAGNOSTICS, MOCK_IGNORE, 1, 0x0, MOCK_IGNORE); + /* #0: Language menu */ + DISPLAYED_EQ("language selection", + VB2_SCREEN_DIAGNOSTICS, MOCK_IGNORE, 0, 0x0, MOCK_IGNORE); + DISPLAYED_EQ("#0: language menu", VB2_SCREEN_LANGUAGE_SELECT, + MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); + /* #1: Storage (no-op) */ + DISPLAYED_PASS(); + DISPLAYED_EQ("storage button", + VB2_SCREEN_DIAGNOSTICS, MOCK_IGNORE, 1, 0x0, MOCK_IGNORE); + /* #2: Quick memory test (no-op) */ + DISPLAYED_EQ("quick memory test button", + VB2_SCREEN_DIAGNOSTICS, MOCK_IGNORE, 2, 0x0, MOCK_IGNORE); + /* #3: Full memory test (no-op) */ + DISPLAYED_EQ("full memory test button", + VB2_SCREEN_DIAGNOSTICS, MOCK_IGNORE, 3, 0x0, MOCK_IGNORE); + /* #4: Power of (End of menu) */ + DISPLAYED_EQ("power off", + VB2_SCREEN_DIAGNOSTICS, MOCK_IGNORE, 4, 0x0, MOCK_IGNORE); + DISPLAYED_NO_EXTRA(); + + VB2_DEBUG("...done.\n"); +} + int main(void) { developer_tests(); @@ -1560,6 +1610,7 @@ int main(void) developer_screen_tests(); broken_recovery_screen_tests(); manual_recovery_screen_tests(); + diagnostics_screen_tests(); return gTestSuccess ? 0 : 255; } |