From b2780333ca18e3205b8e1bfb18f0cd01812c655a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20M=C3=B6ller?= <nisse@lysator.liu.se> Date: Wed, 25 Jun 2014 18:39:14 +0200 Subject: [PATCH] New function write_mpn, used in the testsuite. --- ChangeLog | 3 +++ testsuite/testutils.c | 24 +++++++++++++++++------- testsuite/testutils.h | 3 +++ 3 files changed, 23 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index c99c0d9f..1b5c4033 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,6 +2,9 @@ * testsuite/testutils.c (die): Use plain vfprintf, not gmp_vfprintf. + (write_mpn): New function. + (test_ecc_point): Use it, replacing gmp_fprintf. + * testsuite/testutils.h (write_mpn): Declare it. * der-iterator.c: Deleted HAVE_LIBGMP conditionals. diff --git a/testsuite/testutils.c b/testsuite/testutils.c index 17916157..a5f67f9d 100644 --- a/testsuite/testutils.c +++ b/testsuite/testutils.c @@ -1282,6 +1282,13 @@ struct ecc_ref_point const char *y; }; +void +write_mpn (FILE *f, int base, const mp_limb_t *xp, mp_size_t n) +{ + mpz_t t; + mpz_out_str (f, base, mpz_roinit_n (t,xp, n)); +} + static void test_ecc_point (const struct ecc_curve *ecc, const struct ecc_ref_point *ref, @@ -1290,13 +1297,16 @@ test_ecc_point (const struct ecc_curve *ecc, if (! (test_mpn (ref->x, p, ecc->size) && test_mpn (ref->y, p + ecc->size, ecc->size) )) { - gmp_fprintf (stderr, "Incorrect point!\n" - "got: x = %Nx\n" - " y = %Nx\n" - "ref: x = %s\n" - " y = %s\n", - p, ecc->size, p + ecc->size, ecc->size, - ref->x, ref->y); + fprintf (stderr, "Incorrect point!\n" + "got: x = "); + write_mpn (stderr, 16, p, ecc->size); + fprintf (stderr, "\n" + " y = "); + write_mpn (stderr, 16, p + ecc->size, ecc->size); + fprintf (stderr, "\n" + "ref: x = %s\n" + " y = %s\n", + ref->x, ref->y); abort(); } } diff --git a/testsuite/testutils.h b/testsuite/testutils.h index 53f7017d..71b093d2 100644 --- a/testsuite/testutils.h +++ b/testsuite/testutils.h @@ -164,6 +164,9 @@ test_armor(const struct nettle_armor *armor, mp_limb_t * xalloc_limbs (mp_size_t n); +void +write_mpn (FILE *f, int base, const mp_limb_t *xp, mp_size_t n); + void test_rsa_set_key_1(struct rsa_public_key *pub, struct rsa_private_key *key); -- GitLab