summaryrefslogtreecommitdiff
path: root/tests/vb2_api_tests.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/vb2_api_tests.c')
-rw-r--r--tests/vb2_api_tests.c29
1 files changed, 18 insertions, 11 deletions
diff --git a/tests/vb2_api_tests.c b/tests/vb2_api_tests.c
index b3ad5fda..c2a52dbb 100644
--- a/tests/vb2_api_tests.c
+++ b/tests/vb2_api_tests.c
@@ -112,7 +112,7 @@ static void reset_common_data(enum reset_type t)
k->algorithm = mock_algorithm;
if (t == FOR_EXTEND_HASH || t == FOR_CHECK_HASH)
- vb2api_init_hash(ctx, VB2_HASH_TAG_FW_BODY, NULL);
+ vb2api_init_hash(ctx, VB2_HASH_TAG_FW_BODY);
if (t == FOR_CHECK_HASH)
vb2api_extend_hash(ctx, mock_body, mock_body_size);
@@ -289,6 +289,14 @@ static void misc_tests(void)
12, "vb2api_fail request");
TEST_EQ(vb2_nv_get(ctx, VB2_NV_RECOVERY_SUBCODE),
34, "vb2api_fail subcode");
+
+ /* Test get_firmware_size() */
+ reset_common_data(FOR_MISC);
+ TEST_EQ(vb2api_get_firmware_size(ctx), mock_body_size, "firmware_size");
+
+ reset_common_data(FOR_MISC);
+ sd->preamble_size = 0;
+ TEST_EQ(vb2api_get_firmware_size(ctx), 0, "firmware_size too early");
}
static void phase1_tests(void)
@@ -550,12 +558,11 @@ static void init_hash_tests(void)
{
struct vb2_packed_key *k;
int wb_used_before;
- uint32_t size;
/* For now, all we support is body signature hash */
reset_common_data(FOR_MISC);
wb_used_before = sd->workbuf_used;
- TEST_SUCC(vb2api_init_hash(ctx, VB2_HASH_TAG_FW_BODY, &size),
+ TEST_SUCC(vb2api_init_hash(ctx, VB2_HASH_TAG_FW_BODY),
"init hash good");
TEST_EQ(sd->hash_offset, wb_used_before, "hash context offset");
TEST_EQ(sd->hash_size, sizeof(struct vb2_digest_context),
@@ -567,43 +574,43 @@ static void init_hash_tests(void)
TEST_EQ(sd->hash_remaining_size, mock_body_size, "hash remaining");
wb_used_before = sd->workbuf_used;
- TEST_SUCC(vb2api_init_hash(ctx, VB2_HASH_TAG_FW_BODY, NULL),
+ TEST_SUCC(vb2api_init_hash(ctx, VB2_HASH_TAG_FW_BODY),
"init hash again");
TEST_EQ(sd->workbuf_used, wb_used_before, "init hash reuses context");
reset_common_data(FOR_MISC);
- TEST_EQ(vb2api_init_hash(ctx, VB2_HASH_TAG_INVALID, &size),
+ TEST_EQ(vb2api_init_hash(ctx, VB2_HASH_TAG_INVALID),
VB2_ERROR_API_INIT_HASH_TAG, "init hash invalid tag");
reset_common_data(FOR_MISC);
sd->preamble_size = 0;
- TEST_EQ(vb2api_init_hash(ctx, VB2_HASH_TAG_FW_BODY, &size),
+ TEST_EQ(vb2api_init_hash(ctx, VB2_HASH_TAG_FW_BODY),
VB2_ERROR_API_INIT_HASH_PREAMBLE, "init hash preamble");
reset_common_data(FOR_MISC);
- TEST_EQ(vb2api_init_hash(ctx, VB2_HASH_TAG_FW_BODY + 1, &size),
+ TEST_EQ(vb2api_init_hash(ctx, VB2_HASH_TAG_FW_BODY + 1),
VB2_ERROR_API_INIT_HASH_TAG, "init hash unknown tag");
reset_common_data(FOR_MISC);
sd->workbuf_used = sd->workbuf_size + VB2_WORKBUF_ALIGN -
vb2_wb_round_up(sizeof(struct vb2_digest_context));
- TEST_EQ(vb2api_init_hash(ctx, VB2_HASH_TAG_FW_BODY, &size),
+ TEST_EQ(vb2api_init_hash(ctx, VB2_HASH_TAG_FW_BODY),
VB2_ERROR_API_INIT_HASH_WORKBUF, "init hash workbuf");
reset_common_data(FOR_MISC);
sd->data_key_size = 0;
- TEST_EQ(vb2api_init_hash(ctx, VB2_HASH_TAG_FW_BODY, &size),
+ TEST_EQ(vb2api_init_hash(ctx, VB2_HASH_TAG_FW_BODY),
VB2_ERROR_API_INIT_HASH_DATA_KEY, "init hash data key");
reset_common_data(FOR_MISC);
sd->data_key_size--;
- TEST_EQ(vb2api_init_hash(ctx, VB2_HASH_TAG_FW_BODY, &size),
+ TEST_EQ(vb2api_init_hash(ctx, VB2_HASH_TAG_FW_BODY),
VB2_ERROR_UNPACK_KEY_SIZE, "init hash data key size");
reset_common_data(FOR_MISC);
k = vb2_member_of(sd, sd->data_key_offset);
k->algorithm--;
- TEST_EQ(vb2api_init_hash(ctx, VB2_HASH_TAG_FW_BODY, &size),
+ TEST_EQ(vb2api_init_hash(ctx, VB2_HASH_TAG_FW_BODY),
VB2_ERROR_SHA_INIT_ALGORITHM, "init hash algorithm");
}