diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/vb2_api_tests.c | 12 | ||||
-rw-r--r-- | tests/vb2_misc_tests.c | 4 | ||||
-rw-r--r-- | tests/vboot_api_kernel4_tests.c | 10 |
3 files changed, 18 insertions, 8 deletions
diff --git a/tests/vb2_api_tests.c b/tests/vb2_api_tests.c index c2a52dbb..9cb2f195 100644 --- a/tests/vb2_api_tests.c +++ b/tests/vb2_api_tests.c @@ -393,7 +393,7 @@ static void phase1_tests(void) TEST_EQ(vb2_nv_get(ctx, VB2_NV_TPM_REQUESTED_REBOOT), 1, " tpm reboot request"); TEST_EQ(vb2_nv_get(ctx, VB2_NV_RECOVERY_REQUEST), - 0, " recovery request"); + VB2_RECOVERY_RO_TPM_REBOOT, " recovery request"); reset_common_data(FOR_MISC); ctx->flags |= VB2_CONTEXT_SECDATA_WANTS_REBOOT; @@ -405,7 +405,7 @@ static void phase1_tests(void) TEST_EQ(vb2_nv_get(ctx, VB2_NV_TPM_REQUESTED_REBOOT), 1, " tpm reboot request"); TEST_EQ(vb2_nv_get(ctx, VB2_NV_RECOVERY_REQUEST), - VB2_RECOVERY_RO_UNSPECIFIED, " recovery request not cleared"); + VB2_RECOVERY_RO_UNSPECIFIED, " recovery request"); reset_common_data(FOR_MISC); vb2_nv_set(ctx, VB2_NV_TPM_REQUESTED_REBOOT, 1); @@ -416,8 +416,8 @@ static void phase1_tests(void) " recovery reason"); TEST_EQ(vb2_nv_get(ctx, VB2_NV_TPM_REQUESTED_REBOOT), 0, " tpm reboot request"); - TEST_EQ(vb2_nv_get(ctx, VB2_NV_RECOVERY_REQUEST), 0, - " recovery request cleared"); + TEST_EQ(vb2_nv_get(ctx, VB2_NV_RECOVERY_REQUEST), + VB2_RECOVERY_RO_UNSPECIFIED, " recovery request"); reset_common_data(FOR_MISC); ctx->flags |= VB2_CONTEXT_SECDATA_WANTS_REBOOT; @@ -429,8 +429,8 @@ static void phase1_tests(void) " recovery reason"); TEST_EQ(vb2_nv_get(ctx, VB2_NV_TPM_REQUESTED_REBOOT), 1, " tpm reboot request"); - TEST_EQ(vb2_nv_get(ctx, VB2_NV_RECOVERY_REQUEST), 0, - " recovery request cleared"); + TEST_EQ(vb2_nv_get(ctx, VB2_NV_RECOVERY_REQUEST), + VB2_RECOVERY_RO_UNSPECIFIED, " recovery request"); /* Cases for checking DISPLAY_INIT and DISPLAY_AVAILABLE. */ reset_common_data(FOR_MISC); diff --git a/tests/vb2_misc_tests.c b/tests/vb2_misc_tests.c index 22de3ae2..2a3f88dc 100644 --- a/tests/vb2_misc_tests.c +++ b/tests/vb2_misc_tests.c @@ -414,7 +414,7 @@ static void recovery_tests(void) vb2_nv_set(ctx, VB2_NV_RECOVERY_REQUEST, 3); vb2_check_recovery(ctx); TEST_EQ(sd->recovery_reason, 3, "Recovery reason from request"); - TEST_EQ(vb2_nv_get(ctx, VB2_NV_RECOVERY_REQUEST), 0, "NV cleared"); + 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, @@ -427,7 +427,7 @@ static void recovery_tests(void) vb2_check_recovery(ctx); TEST_EQ(sd->recovery_reason, 5, "Recovery reason already failed"); TEST_EQ(vb2_nv_get(ctx, VB2_NV_RECOVERY_REQUEST), - 0, "NV still cleared"); + 4, "NV not cleared"); /* Override */ reset_common_data(); diff --git a/tests/vboot_api_kernel4_tests.c b/tests/vboot_api_kernel4_tests.c index cbae595c..97a6b1d2 100644 --- a/tests/vboot_api_kernel4_tests.c +++ b/tests/vboot_api_kernel4_tests.c @@ -301,6 +301,16 @@ static void VbSlkTest(void) commit_data_retval = VB2_ERROR_UNKNOWN; test_slk(0, 0, "Recovery return unknown write error"); + /* Boot recovery - nvstorage cleared */ + ResetMocks(); + sd->recovery_reason = 123; + vb2_nv_set(ctx, VB2_NV_RECOVERY_REQUEST, 5); + vb2_nv_set(ctx, VB2_NV_RECOVERY_SUBCODE, 13); + test_slk(0, 0, "Recovery with nvstorage"); + TEST_EQ(vb2_nv_get(ctx, VB2_NV_RECOVERY_SUBCODE), + 0, " recovery subcode cleared"); + + /* Boot recovery - memory retraining */ ResetMocks(); sd->recovery_reason = VB2_RECOVERY_TRAIN_AND_REBOOT; test_slk(VBERROR_REBOOT_REQUIRED, 0, "Recovery train and reboot"); |