summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYu-Ping Wu <yupingso@chromium.org>2020-08-04 14:31:01 +0800
committerCommit Bot <commit-bot@chromium.org>2020-08-12 13:36:56 +0000
commit4f2fc7ae50e01b45a5e88982084e3974a232b028 (patch)
treeb7359eee11564d1ebd2ba10a62fb85dcc9ca36fe
parenta8f3a03198d1e813508e56174cb5eeed4f9b41a1 (diff)
downloadvboot-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>
-rw-r--r--tests/vboot_api_kernel4_tests.c39
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");