diff options
Diffstat (limited to 'tests/vb2_misc_tests.c')
-rw-r--r-- | tests/vb2_misc_tests.c | 32 |
1 files changed, 9 insertions, 23 deletions
diff --git a/tests/vb2_misc_tests.c b/tests/vb2_misc_tests.c index c552301e..99f8bae4 100644 --- a/tests/vb2_misc_tests.c +++ b/tests/vb2_misc_tests.c @@ -22,6 +22,7 @@ static struct vb2_context *ctx; static struct vb2_shared_data *sd; static struct vb2_gbb_header gbb; static struct vb2_secdata_fwmp *fwmp; +static enum vb2_boot_mode *boot_mode; /* Mocked function data */ static enum vb2_resource_index mock_resource_index; @@ -29,7 +30,6 @@ static void *mock_resource_ptr; static uint32_t mock_resource_size; static int mock_tpm_clear_called; static int mock_tpm_clear_retval; -static int allow_recovery_retval; static void reset_common_data(void) { @@ -53,16 +53,13 @@ static void reset_common_data(void) mock_tpm_clear_called = 0; mock_tpm_clear_retval = VB2_SUCCESS; - allow_recovery_retval = 0; + + boot_mode = (enum vb2_boot_mode *)&ctx->boot_mode; + *boot_mode = VB2_BOOT_MODE_NORMAL; }; /* Mocked functions */ -int vb2api_allow_recovery(struct vb2_context *c) -{ - return allow_recovery_retval; -} - struct vb2_gbb_header *vb2_get_gbb(struct vb2_context *c) { return &gbb; @@ -430,8 +427,6 @@ static void recovery_tests(void) 0, "recovery not yet decided before testing check_recovery()"); vb2_check_recovery(ctx); TEST_EQ(sd->recovery_reason, 0, "No recovery reason"); - TEST_EQ(sd->flags & VB2_SD_FLAG_MANUAL_RECOVERY, - 0, "Not manual recovery"); TEST_EQ(ctx->flags & VB2_CONTEXT_RECOVERY_MODE, 0, "Not recovery mode"); TEST_NEQ(sd->status & VB2_SD_STATUS_RECOVERY_DECIDED, @@ -443,8 +438,6 @@ static void recovery_tests(void) vb2_check_recovery(ctx); TEST_EQ(sd->recovery_reason, 3, "Recovery reason from request"); TEST_EQ(vb2_nv_get(ctx, VB2_NV_RECOVERY_REQUEST), 3, "NV not cleared"); - TEST_EQ(sd->flags & VB2_SD_FLAG_MANUAL_RECOVERY, - 0, "Not manual recovery"); TEST_NEQ(ctx->flags & VB2_CONTEXT_RECOVERY_MODE, 0, "Recovery mode"); TEST_NEQ(sd->status & VB2_SD_STATUS_RECOVERY_DECIDED, @@ -468,8 +461,6 @@ static void recovery_tests(void) vb2_check_recovery(ctx); TEST_EQ(sd->recovery_reason, VB2_RECOVERY_RO_MANUAL, "Recovery reason forced"); - TEST_NEQ(sd->flags & VB2_SD_FLAG_MANUAL_RECOVERY, - 0, "SD flag set"); TEST_NEQ(sd->status & VB2_SD_STATUS_RECOVERY_DECIDED, 0, "Recovery decided"); @@ -480,8 +471,6 @@ static void recovery_tests(void) vb2_check_recovery(ctx); TEST_EQ(sd->recovery_reason, VB2_RECOVERY_RO_MANUAL, "Recovery reason forced"); - TEST_NEQ(sd->flags & VB2_SD_FLAG_MANUAL_RECOVERY, - 0, "SD flag set"); TEST_NEQ(sd->status & VB2_SD_STATUS_RECOVERY_DECIDED, 0, "Recovery decided"); @@ -492,8 +481,6 @@ static void recovery_tests(void) vb2_check_recovery(ctx); TEST_EQ(sd->recovery_reason, VB2_RECOVERY_US_TEST, "Recovery reason forced from BROKEN"); - TEST_NEQ(sd->flags & VB2_SD_FLAG_MANUAL_RECOVERY, - 0, "SD flag set"); TEST_NEQ(sd->status & VB2_SD_STATUS_RECOVERY_DECIDED, 0, "Recovery decided"); } @@ -661,7 +648,6 @@ static void dev_switch_tests(void) static void enable_dev_tests(void) { reset_common_data(); - allow_recovery_retval = 0; TEST_FAIL(vb2api_enable_developer_mode(ctx), "vb2api_enable_developer_mode - failed"); TEST_EQ(vb2_secdata_firmware_get(ctx, VB2_SECDATA_FIRMWARE_FLAGS) & @@ -669,7 +655,7 @@ static void enable_dev_tests(void) " dev mode flag not set"); reset_common_data(); - allow_recovery_retval = 1; + *boot_mode = VB2_BOOT_MODE_MANUAL_RECOVERY; TEST_SUCC(vb2api_enable_developer_mode(ctx), "vb2api_enable_developer_mode - success"); TEST_NEQ(vb2_secdata_firmware_get(ctx, VB2_SECDATA_FIRMWARE_FLAGS) & @@ -678,7 +664,7 @@ static void enable_dev_tests(void) /* secdata_firmware not initialized, aborts */ reset_common_data(); - allow_recovery_retval = 1; + *boot_mode = VB2_BOOT_MODE_MANUAL_RECOVERY; sd->status &= ~VB2_SD_STATUS_SECDATA_FIRMWARE_INIT; sd->status |= VB2_SD_STATUS_RECOVERY_DECIDED; TEST_ABORT(vb2api_enable_developer_mode(ctx), @@ -830,7 +816,7 @@ static void clear_recovery_tests(void) /* Manual recovery */ reset_common_data(); - allow_recovery_retval = 1; + *boot_mode = VB2_BOOT_MODE_MANUAL_RECOVERY; sd->recovery_reason = 4; ctx->flags |= VB2_CONTEXT_RECOVERY_MODE; vb2_nv_set(ctx, VB2_NV_RECOVERY_REQUEST, 5); @@ -841,9 +827,9 @@ static void clear_recovery_tests(void) TEST_EQ(vb2_nv_get(ctx, VB2_NV_RECOVERY_SUBCODE), 0, " subcode cleared"); - /* BROKEN recovery */ + /* Broken screen */ reset_common_data(); - allow_recovery_retval = 0; + *boot_mode = VB2_BOOT_MODE_BROKEN_SCREEN; sd->recovery_reason = 4; ctx->flags |= VB2_CONTEXT_RECOVERY_MODE; vb2_nv_set(ctx, VB2_NV_RECOVERY_REQUEST, 5); |