From af06b6042ec224ec821e6a7d3b62be22457a135c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Niels=20M=C3=B6ller?= <nisse@lysator.liu.se>
Date: Wed, 9 Oct 2002 23:14:31 +0200
Subject: [PATCH] New test case.

Rev: src/nettle/testsuite/dsa-keygen-test.c:1.1
---
 testsuite/dsa-keygen-test.c | 50 +++++++++++++++++++++++++++++++++++++
 1 file changed, 50 insertions(+)
 create mode 100644 testsuite/dsa-keygen-test.c

diff --git a/testsuite/dsa-keygen-test.c b/testsuite/dsa-keygen-test.c
new file mode 100644
index 00000000..7ec83fa5
--- /dev/null
+++ b/testsuite/dsa-keygen-test.c
@@ -0,0 +1,50 @@
+#include "testutils.h"
+
+#include "knuth-lfib.h"
+
+#if __GNUC__
+# define UNUSED __attribute__ ((__unused__))
+#else
+# define UNUSED
+#endif
+
+static void
+progress(void *ctx UNUSED, int c)
+{
+  fputc(c, stderr);
+}
+
+int
+test_main(void)
+{
+#if WITH_PUBLIC_KEY
+
+  struct dsa_public_key pub;
+  struct dsa_private_key key;
+  
+  struct knuth_lfib_ctx lfib;
+  
+  dsa_private_key_init(&key);
+  dsa_public_key_init(&pub);
+
+  /* Generate a 1024 bit key with random e */
+  knuth_lfib_init(&lfib, 13);
+
+  if (!dsa_generate_keypair(&pub, &key,
+			    &lfib, (nettle_random_func) knuth_lfib_random,
+			    NULL, verbose ? progress : NULL,
+			    1024))
+    FAIL();
+
+  test_dsa_key(&pub, &key);
+  test_dsa(&pub, &key);
+
+  dsa_public_key_clear(&pub);
+  dsa_private_key_clear(&key);
+  
+  SUCCESS();
+  
+#else /* !WITH_PUBLIC_KEY */
+  SKIP();
+#endif /* !WITH_PUBLIC_KEY */
+}
-- 
GitLab