From 52c69fc0152b6d63644bbdab8aa5b07892255436 Mon Sep 17 00:00:00 2001 From: Miloslav Trmač Date: Thu, 11 Nov 2010 00:45:30 +0100 Subject: Add tests of handling very large data at once --- tests/digests.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'tests/digests.c') diff --git a/tests/digests.c b/tests/digests.c index d8ca31c..19e54cd 100644 --- a/tests/digests.c +++ b/tests/digests.c @@ -96,12 +96,15 @@ static const struct tv tvs[] = #undef TV }; +#define LARGE_SIZE (10 * 1024 * 1024) + int main (void) { struct ncr_digest_session *sess; uint8_t dest[256]; size_t i, j, dest_size; + void *large; CK_RV res; for (i = 0; i < G_N_ELEMENTS (tvs); i++) @@ -199,5 +202,22 @@ main (void) assert (res == CKR_OK); } + res = ncr_digest_alloc (&sess, CKM_SHA256); + assert (res == CKR_OK); + res = ncr_digest_init (sess); + assert (res == CKR_OK); + + large = g_malloc0 (LARGE_SIZE); + dest_size = sizeof (dest); + res = ncr_digest (sess, dest, &dest_size, large, LARGE_SIZE); + assert (res == CKR_OK); + assert (dest_size == 32); + assert (memcmp (dest, "\xE5\xB8\x44\xCC\x57\xF5\x70\x94\xEA\x45\x85\xE2\x35\xF3\x6C\x78\xC1\xCD\x22\x22\x62\xBB\x89\xD5\x3C\x94\xDC\xB4\xD6\xB3\xE5\x5D", 32) + == 0); + g_free(large); + + res = ncr_digest_free (sess); + assert (res == CKR_OK); + return EXIT_SUCCESS; } -- cgit