diff options
Diffstat (limited to 'tests/mpitests.c')
-rw-r--r-- | tests/mpitests.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/mpitests.c b/tests/mpitests.c index c5c60d71..1c4edb66 100644 --- a/tests/mpitests.c +++ b/tests/mpitests.c @@ -213,6 +213,24 @@ test_opaque (void) if (debug) gcry_log_debugmpi ("mpi", a); + p = gcry_xstrdup ("This is a test buffer"); + a = gcry_mpi_set_opaque_copy (NULL, p, 21*8+1); + gcry_free (p); + + if (!gcry_mpi_get_flag (a, GCRYMPI_FLAG_OPAQUE)) + die ("opaque flag not set\n"); + + p = gcry_mpi_get_opaque (a, &nbits); + if (!p) + die ("gcry_mpi_get_opaque returned NULL\n"); + if (nbits != 21*8+1) + die ("gcry_mpi_get_opaque returned a changed bit size\n"); + if (strcmp (p, "This is a test buffer")) + die ("gcry_mpi_get_opaque returned a changed buffer\n"); + + if (debug) + gcry_log_debugmpi ("mpi", a); + gcry_mpi_release (a); } |