xtea-test: factorize test code
authorMichael Niedermayer <michaelni@gmx.at>
Sun, 30 Sep 2012 15:19:54 +0000 (17:19 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Sun, 30 Sep 2012 15:51:45 +0000 (17:51 +0200)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavutil/xtea.c

index d9c2858..bfc613d 100644 (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");