diff options
author | Justus Winter <justus@g10code.com> | 2016-12-13 13:24:51 +0100 |
---|---|---|
committer | Justus Winter <justus@g10code.com> | 2016-12-13 13:52:19 +0100 |
commit | 4fae5c0b62f5a507a74db654c50ad1c8b182c6d5 (patch) | |
tree | ee1a255d0bbd4bc02b02677cc7982ec352cfce3d /tests/basic.c | |
parent | 1b15ff58f9c17c16ce44acc110e2865e7d4d2321 (diff) | |
download | libgcrypt-4fae5c0b62f5a507a74db654c50ad1c8b182c6d5.tar.gz |
tests: Use common code for all tests.
--
Also fix minor fallout from the format string warnings.
Signed-off-by: Justus Winter <justus@g10code.com>
Diffstat (limited to 'tests/basic.c')
-rw-r--r-- | tests/basic.c | 114 |
1 files changed, 35 insertions, 79 deletions
diff --git a/tests/basic.c b/tests/basic.c index ffb43976..90f23070 100644 --- a/tests/basic.c +++ b/tests/basic.c @@ -30,11 +30,8 @@ #include "../src/gcrypt-int.h" -#ifndef DIM -# define DIM(v) (sizeof(v)/sizeof((v)[0])) -#endif - #define PGM "basic" +#include "t-common.h" typedef struct test_spec_pubkey_key { @@ -56,40 +53,10 @@ test_spec_pubkey_t; #define FLAG_SIGN (1 << 1) #define FLAG_GRIP (1 << 2) -static int verbose; -static int error_count; static int in_fips_mode; -static int die_on_error; #define MAX_DATA_LEN 128 -#define digitp(p) (*(p) >= '0' && *(p) <= '9') -#define hexdigitp(a) (digitp (a) \ - || (*(a) >= 'A' && *(a) <= 'F') \ - || (*(a) >= 'a' && *(a) <= 'f')) -#define xtoi_1(p) (*(p) <= '9'? (*(p)- '0'): \ - *(p) <= 'F'? (*(p)-'A'+10):(*(p)-'a'+10)) -#define xtoi_2(p) ((xtoi_1(p) * 16) + xtoi_1((p)+1)) -#define xmalloc(a) gcry_xmalloc ((a)) -#define xcalloc(a,b) gcry_xcalloc ((a),(b)) -#define xstrdup(a) gcry_xstrdup ((a)) -#define xfree(a) gcry_free ((a)) - - - -static void -fail (const char *format, ...) -{ - va_list arg_ptr; - - va_start (arg_ptr, format); - vfprintf (stderr, format, arg_ptr); - va_end (arg_ptr); - error_count++; - if (die_on_error) - exit (1); -} - static void mismatch (const void *expected, size_t expectedlen, @@ -107,18 +74,6 @@ mismatch (const void *expected, size_t expectedlen, } -static void -die (const char *format, ...) -{ - va_list arg_ptr; - - va_start (arg_ptr, format); - vfprintf (stderr, format, arg_ptr); - va_end (arg_ptr); - exit (1); -} - - /* Convert STRING consisting of hex characters into its binary representation and return it as an allocated buffer. The valid length of the buffer is returned at R_LENGTH. The string is @@ -1593,8 +1548,8 @@ _check_gcm_cipher (unsigned int step) err = gcry_cipher_authenticate(hde, tv[i].aad + pos, poslen); if (err) { - fail ("aes-gcm, gcry_cipher_authenticate (%d) (%d:%d) failed: " - "%s\n", i, pos, step, gpg_strerror (err)); + fail ("aes-gcm, gcry_cipher_authenticate (%d) (%lu:%d) failed: " + "%s\n", i, (unsigned long) pos, step, gpg_strerror (err)); gcry_cipher_close (hde); gcry_cipher_close (hdd); return; @@ -1602,8 +1557,8 @@ _check_gcm_cipher (unsigned int step) err = gcry_cipher_authenticate(hdd, tv[i].aad + pos, poslen); if (err) { - fail ("aes-gcm, de gcry_cipher_authenticate (%d) (%d:%d) failed: " - "%s\n", i, pos, step, gpg_strerror (err)); + fail ("aes-gcm, de gcry_cipher_authenticate (%d) (%lu:%d) failed: " + "%s\n", i, (unsigned long) pos, step, gpg_strerror (err)); gcry_cipher_close (hde); gcry_cipher_close (hdd); return; @@ -1618,8 +1573,8 @@ _check_gcm_cipher (unsigned int step) tv[i].plaintext + pos, poslen); if (err) { - fail ("aes-gcm, gcry_cipher_encrypt (%d) (%d:%d) failed: %s\n", - i, pos, step, gpg_strerror (err)); + fail ("aes-gcm, gcry_cipher_encrypt (%d) (%lu:%d) failed: %s\n", + i, (unsigned long) pos, step, gpg_strerror (err)); gcry_cipher_close (hde); gcry_cipher_close (hdd); return; @@ -1636,8 +1591,8 @@ _check_gcm_cipher (unsigned int step) err = gcry_cipher_decrypt (hdd, out + pos, poslen, NULL, 0); if (err) { - fail ("aes-gcm, gcry_cipher_decrypt (%d) (%d:%d) failed: %s\n", - i, pos, step, gpg_strerror (err)); + fail ("aes-gcm, gcry_cipher_decrypt (%d) (%lu:%d) failed: %s\n", + i, (unsigned long) pos, step, gpg_strerror (err)); gcry_cipher_close (hde); gcry_cipher_close (hdd); return; @@ -1750,8 +1705,8 @@ _check_gcm_cipher (unsigned int step) if (tv[i].should_fail) goto next_tv; - fail ("aes-gcm, gcry_cipher_gettag(%d, %d) (byte-buf) failed: %s\n", - i, taglen2, gpg_strerror (err)); + fail ("aes-gcm, gcry_cipher_gettag(%d, %lu) (byte-buf) failed: %s\n", + i, (unsigned long) taglen2, gpg_strerror (err)); gcry_cipher_close (hde); gcry_cipher_close (hdd); return; @@ -1998,8 +1953,8 @@ _check_poly1305_cipher (unsigned int step) err = gcry_cipher_authenticate(hde, tv[i].aad + pos, poslen); if (err) { - fail ("poly1305, gcry_cipher_authenticate (%d) (%d:%d) failed: " - "%s\n", i, pos, step, gpg_strerror (err)); + fail ("poly1305, gcry_cipher_authenticate (%d) (%lu:%d) failed: " + "%s\n", i, (unsigned long) pos, step, gpg_strerror (err)); gcry_cipher_close (hde); gcry_cipher_close (hdd); return; @@ -2007,8 +1962,8 @@ _check_poly1305_cipher (unsigned int step) err = gcry_cipher_authenticate(hdd, tv[i].aad + pos, poslen); if (err) { - fail ("poly1305, de gcry_cipher_authenticate (%d) (%d:%d) failed: " - "%s\n", i, pos, step, gpg_strerror (err)); + fail ("poly1305, de gcry_cipher_authenticate (%d) (%lu:%d) failed: " + "%s\n", i, (unsigned long) pos, step, gpg_strerror (err)); gcry_cipher_close (hde); gcry_cipher_close (hdd); return; @@ -2023,8 +1978,8 @@ _check_poly1305_cipher (unsigned int step) tv[i].plaintext + pos, poslen); if (err) { - fail ("poly1305, gcry_cipher_encrypt (%d) (%d:%d) failed: %s\n", - i, pos, step, gpg_strerror (err)); + fail ("poly1305, gcry_cipher_encrypt (%d) (%lu:%d) failed: %s\n", + i, (unsigned long) pos, step, gpg_strerror (err)); gcry_cipher_close (hde); gcry_cipher_close (hdd); return; @@ -2041,8 +1996,8 @@ _check_poly1305_cipher (unsigned int step) err = gcry_cipher_decrypt (hdd, out + pos, poslen, NULL, 0); if (err) { - fail ("poly1305, gcry_cipher_decrypt (%d) (%d:%d) failed: %s\n", - i, pos, step, gpg_strerror (err)); + fail ("poly1305, gcry_cipher_decrypt (%d) (%lu:%d) failed: %s\n", + i, (unsigned long) pos, step, gpg_strerror (err)); gcry_cipher_close (hde); gcry_cipher_close (hdd); return; @@ -2709,8 +2664,8 @@ check_ccm_cipher (void) err = gcry_cipher_info (hde, GCRYCTL_GET_TAGLEN, NULL, &taglen2); if (err) { - fail ("cipher-ccm, gcryctl_get_taglen failed (tv %d): %s\n", - i, gpg_strerror (err)); + fail ("cipher-ccm, gcryctl_get_taglen failed (tv %lu): %s\n", + (unsigned long) i, gpg_strerror (err)); gcry_cipher_close (hde); gcry_cipher_close (hdd); return; @@ -2718,8 +2673,8 @@ check_ccm_cipher (void) if (taglen2 != authlen) { fail ("cipher-ccm, gcryctl_get_taglen returned bad length" - " (tv %d): got=%zu want=%zu\n", - i, taglen2, authlen); + " (tv %lu): got=%zu want=%zu\n", + (unsigned long) i, taglen2, authlen); gcry_cipher_close (hde); gcry_cipher_close (hdd); return; @@ -2758,8 +2713,8 @@ check_ccm_cipher (void) split); if (err) { - fail ("cipher-ccm, gcry_cipher_encrypt (%d:%d) failed: %s\n", - i, j, gpg_strerror (err)); + fail ("cipher-ccm, gcry_cipher_encrypt (%lu:%lu) failed: %s\n", + (unsigned long) i, (unsigned long) j, gpg_strerror (err)); gcry_cipher_close (hde); gcry_cipher_close (hdd); return; @@ -2768,15 +2723,16 @@ check_ccm_cipher (void) err = gcry_cipher_gettag (hde, &out[tv[i].plainlen], authlen); if (err) { - fail ("cipher-ccm, gcry_cipher_gettag (%d:%d) failed: %s\n", - i, j, gpg_strerror (err)); + fail ("cipher-ccm, gcry_cipher_gettag (%lu:%lu) failed: %s\n", + (unsigned long) i, (unsigned long) j, gpg_strerror (err)); gcry_cipher_close (hde); gcry_cipher_close (hdd); return; } if (memcmp (tv[i].ciphertext, out, tv[i].cipherlen)) - fail ("cipher-ccm, encrypt mismatch entry %d:%d\n", i, j); + fail ("cipher-ccm, encrypt mismatch entry %lu:%lu\n", + (unsigned long) i, (unsigned long) j); err = gcry_cipher_decrypt (hdd, out, tv[i].plainlen - split, NULL, 0); if (!err) @@ -2784,21 +2740,22 @@ check_ccm_cipher (void) NULL, 0); if (err) { - fail ("cipher-ccm, gcry_cipher_decrypt (%d:%d) failed: %s\n", - i, j, gpg_strerror (err)); + fail ("cipher-ccm, gcry_cipher_decrypt (%lu:%lu) failed: %s\n", + (unsigned long) i, (unsigned long) j, gpg_strerror (err)); gcry_cipher_close (hde); gcry_cipher_close (hdd); return; } if (memcmp (tv[i].plaintext, out, tv[i].plainlen)) - fail ("cipher-ccm, decrypt mismatch entry %d:%d\n", i, j); + fail ("cipher-ccm, decrypt mismatch entry %lu:%lu\n", + (unsigned long) i, (unsigned long) j); err = gcry_cipher_checktag (hdd, &out[tv[i].plainlen], authlen); if (err) { - fail ("cipher-ccm, gcry_cipher_checktag (%d:%d) failed: %s\n", - i, j, gpg_strerror (err)); + fail ("cipher-ccm, gcry_cipher_checktag (%lu:%lu) failed: %s\n", + (unsigned long) i, (unsigned long) j, gpg_strerror (err)); gcry_cipher_close (hde); gcry_cipher_close (hdd); return; @@ -9544,7 +9501,6 @@ main (int argc, char **argv) { gpg_error_t err; int last_argc = -1; - int debug = 0; int use_fips = 0; int selftest_only = 0; int pubkey_only = 0; |