xtea-test: factorize test code

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2012-09-30 17:19:54 +02:00
parent 3fa100244f
commit a0321dadfd

View File

@ -227,20 +227,19 @@ int main(void)
uint8_t buf[8];
int i;
#define CHECK(dst, src, ref, len, iv, dir, error) \
av_xtea_crypt(&ctx, dst, src, len, iv, dir);\
if (memcmp(dst, ref, 8*len)) {\
printf(error);\
return 1;\
}
for (i = 0; i < XTEA_NUM_TESTS; i++) {
av_xtea_init(&ctx, xtea_test_key[i]);
av_xtea_crypt(&ctx, buf, xtea_test_pt[i], 1, NULL, 0);
if (memcmp(buf, xtea_test_ct[i], 8)) {
printf("Test encryption failed.\n");
return 1;
}
CHECK(buf, xtea_test_pt[i], xtea_test_ct[i], 1, NULL, 0, "Test encryption failed.\n");
CHECK(buf, xtea_test_ct[i], xtea_test_pt[i], 1, NULL, 1, "Test decryption failed.\n");
av_xtea_crypt(&ctx, buf, xtea_test_ct[i], 1, NULL, 1);
if (memcmp(buf, xtea_test_pt[i], 8)) {
printf("Test decryption failed.\n");
return 1;
}
}
printf("Test encryption/decryption success.\n");