diff options
author | Joel Kitching <kitching@google.com> | 2020-04-16 13:18:52 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-04-17 12:52:37 +0000 |
commit | 297ea05cf12ce31156f8648983431332b50c995c (patch) | |
tree | 43b6b669e042e2609bcb54a836afe5b98f38f848 /tests/vboot_legacy_clamshell_tests.c | |
parent | 860328536239e78ec33c1c7132ac0e98121f07eb (diff) | |
download | vboot-297ea05cf12ce31156f8648983431332b50c995c.tar.gz |
vboot: remove VBERROR_TPM_SET_BOOT_MODE_STATE error code
Since secdata and nvdata get/set functions no longer return error
codes, and instead use VB2_ASSERT and VB2_DIE to abort on failure,
vb2_enable_developer_mode no longer has any error code to return.
Change the function return type to void, and remove checks around
the function call. As a result, VBERROR_TPM_SET_BOOT_MODE_STATE
becomes unused and we may remove it. Finally, move the
USB_BOOT_ON_DEV logic (enable USB boot when on transition to dev
mode) into vb2_enable_developer_mode. Also add unit tests.
BUG=b:124141368, chromium:988410
TEST=make clean && make runtests
BRANCH=none
Change-Id: I286d9343c4c751ff24bf4c149a26fbe5306e383a
Signed-off-by: Joel Kitching <kitching@google.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/2152212
Reviewed-by: Joel Kitching <kitching@chromium.org>
Commit-Queue: Joel Kitching <kitching@chromium.org>
Tested-by: Joel Kitching <kitching@chromium.org>
Diffstat (limited to 'tests/vboot_legacy_clamshell_tests.c')
-rw-r--r-- | tests/vboot_legacy_clamshell_tests.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/tests/vboot_legacy_clamshell_tests.c b/tests/vboot_legacy_clamshell_tests.c index 48ae6add..054a2239 100644 --- a/tests/vboot_legacy_clamshell_tests.c +++ b/tests/vboot_legacy_clamshell_tests.c @@ -39,7 +39,7 @@ static enum VbAltFwIndex_t altfw_num; static uint64_t current_ticks; static int trust_ec; static int virtdev_set; -static uint32_t virtdev_retval; +static uint32_t virtdev_fail; static uint32_t mock_keypress[16]; static uint32_t mock_keyflags[8]; static uint32_t mock_keypress_count; @@ -108,7 +108,7 @@ static void ResetMocks(void) current_ticks = 0; trust_ec = 0; virtdev_set = 0; - virtdev_retval = 0; + virtdev_fail = 0; set_vendor_data_called = 0; memset(screens_displayed, 0, sizeof(screens_displayed)); @@ -267,10 +267,10 @@ vb2_error_t VbDisplayScreen(struct vb2_context *c, uint32_t screen, int force, return VB2_SUCCESS; } -vb2_error_t vb2_enable_developer_mode(struct vb2_context *c) +void vb2_enable_developer_mode(struct vb2_context *c) { + VB2_ASSERT(!virtdev_fail); virtdev_set = 1; - return virtdev_retval; } vb2_error_t VbExSetVendorData(const char *vendor_data_value) @@ -1438,7 +1438,7 @@ static void VbBootRecTest(void) VbBootRecTestGpio(GPIO_PRESENCE | GPIO_SHUTDOWN, GPIO_PRESENCE, 0, 0, "Ctrl+D todev confirm via both then presence"); - /* Handle TPM error in enabling dev mode */ + /* Don't handle TPM error in enabling dev mode */ ResetMocks(); sd->flags = VB2_SD_FLAG_MANUAL_RECOVERY; MockGpioAfter(10, GPIO_SHUTDOWN); @@ -1447,11 +1447,11 @@ static void VbBootRecTest(void) mock_keypress[0] = VB_KEY_CTRL('D'); mock_keypress[1] = VB_KEY_ENTER; mock_keyflags[1] = VB_KEY_FLAG_TRUSTED_KEYBOARD; - virtdev_retval = VB2_ERROR_MOCK; + virtdev_fail = 1; vbtlk_expect_removable = 1; - TEST_EQ(VbBootRecoveryLegacyClamshell(ctx), - VBERROR_TPM_SET_BOOT_MODE_STATE, - "Ctrl+D todev failure"); + TEST_ABORT(VbBootRecoveryLegacyClamshell(ctx), + "Ctrl+D todev failure"); + TEST_EQ(virtdev_set, 0, " virtual dev mode still off"); /* Test Diagnostic Mode via Ctrl-C - display available */ ResetMocks(); |