diff options
author | Yu-Ping Wu <yupingso@chromium.org> | 2020-08-04 14:31:01 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-08-12 13:36:56 +0000 |
commit | 4f2fc7ae50e01b45a5e88982084e3974a232b028 (patch) | |
tree | b7359eee11564d1ebd2ba10a62fb85dcc9ca36fe /tests/vboot_api_kernel4_tests.c | |
parent | a8f3a03198d1e813508e56174cb5eeed4f9b41a1 (diff) | |
download | vboot-4f2fc7ae50e01b45a5e88982084e3974a232b028.tar.gz |
vboot/tests: Fix unit tests with MENU_UI=1
Fix vboot_api_kernel4_tests with MENU_UI=1 by mocking UI functions for
menu UI.
BRANCH=none
BUG=b:146399181, b:156448738
TEST=MENU_UI=0 DIAGNOSTIC_UI=0 make runtests
TEST=MENU_UI=0 DIAGNOSTIC_UI=1 make runtests
TEST=MENU_UI=1 DIAGNOSTIC_UI=0 make runtests
TEST=MENU_UI=1 DIAGNOSTIC_UI=1 make runtests
Change-Id: Ie1bf4296a757bd1a65c7d0e17f954db4a0dafc3f
Signed-off-by: Yu-Ping Wu <yupingso@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/2336206
Reviewed-by: Joel Kitching <kitching@chromium.org>
Diffstat (limited to 'tests/vboot_api_kernel4_tests.c')
-rw-r--r-- | tests/vboot_api_kernel4_tests.c | 39 |
1 files changed, 32 insertions, 7 deletions
diff --git a/tests/vboot_api_kernel4_tests.c b/tests/vboot_api_kernel4_tests.c index 44021c83..8076d837 100644 --- a/tests/vboot_api_kernel4_tests.c +++ b/tests/vboot_api_kernel4_tests.c @@ -11,6 +11,7 @@ #include "2nvstorage.h" #include "2secdata.h" #include "2sysincludes.h" +#include "2ui.h" #include "host_common.h" #include "load_kernel_fw.h" #include "test_common.h" @@ -138,6 +139,11 @@ static vb2_error_t boot_dev(struct vb2_context *c) return vbboot_retval; } +vb2_error_t vb2_developer_menu(struct vb2_context *c) +{ + return boot_dev(c); +} + vb2_error_t VbBootDeveloperLegacyClamshell(struct vb2_context *c) { return boot_dev(c); @@ -148,31 +154,50 @@ vb2_error_t VbBootDeveloperLegacyMenu(struct vb2_context *c) return boot_dev(c); } -static vb2_error_t boot_legacy(struct vb2_context *c) +static void rec_check(struct vb2_context *c) { TEST_EQ(current_recovery_reason, expected_recovery_reason, " recovery reason"); TEST_TRUE(commit_data_called, " commit data"); +} +vb2_error_t vb2_manual_recovery_menu(struct vb2_context *c) +{ + rec_check(c); if (vbboot_retval == -3) return VB2_ERROR_MOCK; + return vbboot_retval; +} +vb2_error_t vb2_broken_recovery_menu(struct vb2_context *c) +{ + rec_check(c); + if (vbboot_retval == -4) + return VB2_ERROR_MOCK; return vbboot_retval; } vb2_error_t VbBootRecoveryLegacyClamshell(struct vb2_context *c) { - return boot_legacy(c); + rec_check(c); + /* Don't care if it's manual recovery or not */ + if (vbboot_retval == -3 || vbboot_retval == -4) + return VB2_ERROR_MOCK; + return vbboot_retval; } vb2_error_t VbBootRecoveryLegacyMenu(struct vb2_context *c) { - return boot_legacy(c); + rec_check(c); + /* Don't care if it's manual recovery or not */ + if (vbboot_retval == -3 || vbboot_retval == -4) + return VB2_ERROR_MOCK; + return vbboot_retval; } vb2_error_t VbBootDiagnosticLegacyClamshell(struct vb2_context *c) { - if (vbboot_retval == -4) + if (vbboot_retval == -5) return VB2_ERROR_MOCK; return vbboot_retval; @@ -243,11 +268,11 @@ static void select_and_load_kernel_tests(void) test_slk(VB2_ERROR_MOCK, 0, "Normal boot bad"); /* Check that NV_DIAG_REQUEST triggers diagnostic UI */ - if (DIAGNOSTIC_UI) { + if (DIAGNOSTIC_UI && !MENU_UI) { reset_common_data(); mock_diagnostic_ui_enabled = 1; vb2_nv_set(ctx, VB2_NV_DIAG_REQUEST, 1); - vbboot_retval = -4; + vbboot_retval = -5; test_slk(VB2_ERROR_MOCK, 0, "Normal boot with diag enabled"); TEST_EQ(vb2_nv_get(ctx, VB2_NV_DIAG_REQUEST), @@ -298,7 +323,7 @@ static void select_and_load_kernel_tests(void) /* Boot recovery */ reset_common_data(); sd->recovery_reason = 123; - vbboot_retval = -3; + vbboot_retval = -4; test_slk(VB2_ERROR_MOCK, 0, "Recovery boot bad"); TEST_TRUE(commit_data_called, " commit data"); |