summaryrefslogtreecommitdiff
path: root/tests/mpitests.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/mpitests.c')
-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);
}