summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorWerner Koch <wk@gnupg.org>2013-11-04 16:47:13 +0100
committerWerner Koch <wk@gnupg.org>2013-11-05 17:26:52 +0100
commit630aca794ddf057fb7265b7dc346374743036af4 (patch)
tree3c9d55d4567e3c2c919ebd720c6798df50eeedb4 /tests
parentd50a88d1e29124d038196fec6082fd093e922604 (diff)
downloadlibgcrypt-630aca794ddf057fb7265b7dc346374743036af4.tar.gz
mpi: Add function gcry_mpi_set_opaque_copy.
* src/gcrypt.h.in (gcry_mpi_set_opaque_copy): New. * src/visibility.c (gcry_mpi_set_opaque_copy): New. * src/visibility.h (gcry_mpi_set_opaque_copy): Mark visible. * src/libgcrypt.def, src/libgcrypt.vers: Add new API. * tests/mpitests.c (test_opaque): Add test. Signed-off-by: Werner Koch <wk@gnupg.org>
Diffstat (limited to 'tests')
-rw-r--r--tests/mpitests.c18
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);
}