summaryrefslogtreecommitdiff
path: root/tests/rng-fork.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/rng-fork.c')
-rw-r--r--tests/rng-fork.c119
1 files changed, 57 insertions, 62 deletions
diff --git a/tests/rng-fork.c b/tests/rng-fork.c
index 7ff14153da..d2692e2f59 100644
--- a/tests/rng-fork.c
+++ b/tests/rng-fork.c
@@ -36,77 +36,72 @@
#include <gnutls/crypto.h>
#if !defined(_WIN32)
-static void dump(const char* name, unsigned char* buf, int buf_size)
+static void dump(const char *name, unsigned char *buf, int buf_size)
{
-int i;
- printf("%s: ", name);
- for(i=0;i<buf_size;i++)
- printf("%.2x:", buf[i]);
- printf("\n");
+ int i;
+ printf("%s: ", name);
+ for (i = 0; i < buf_size; i++)
+ printf("%.2x:", buf[i]);
+ printf("\n");
}
-
+
#define FILENAME "./rng-test"
-
-void
-doit (void)
+
+void doit(void)
{
- unsigned char buf1[32];
- unsigned char buf2[32];
- pid_t pid;
- int ret;
- FILE* fp;
+ unsigned char buf1[32];
+ unsigned char buf2[32];
+ pid_t pid;
+ int ret;
+ FILE *fp;
+
+ global_init();
+ pid = fork();
+ if (pid == 0) {
+ fp = fopen(FILENAME, "w");
+ if (fp == NULL)
+ fail("cannot open file");
+
+ gnutls_rnd(GNUTLS_RND_NONCE, buf1, sizeof(buf1));
+ if (debug)
+ dump("buf1", buf1, sizeof(buf1));
+
+ fwrite(buf1, 1, sizeof(buf1), fp);
+ fclose(fp);
+ } else {
+ /* daddy */
+ gnutls_rnd(GNUTLS_RND_NONCE, buf2, sizeof(buf2));
+ if (debug)
+ dump("buf2", buf2, sizeof(buf2));
+ waitpid(pid, NULL, 0);
+
+ fp = fopen(FILENAME, "r");
+ if (fp == NULL)
+ fail("cannot open file");
+
+ ret = fread(buf1, 1, sizeof(buf1), fp);
+
+ fclose(fp);
+ remove(FILENAME);
- global_init ();
- pid = fork();
- if (pid == 0)
- {
- fp = fopen(FILENAME, "w");
- if (fp == NULL)
- fail("cannot open file");
-
- gnutls_rnd (GNUTLS_RND_NONCE, buf1, sizeof (buf1));
- if (debug) dump("buf1", buf1, sizeof(buf1));
-
- fwrite(buf1, 1, sizeof(buf1), fp);
- fclose(fp);
- }
- else
- {
- /* daddy */
- gnutls_rnd (GNUTLS_RND_NONCE, buf2, sizeof (buf2));
- if (debug) dump("buf2", buf2, sizeof(buf2));
- waitpid(pid, NULL, 0);
-
- fp = fopen(FILENAME, "r");
- if (fp == NULL)
- fail("cannot open file");
-
- ret = fread(buf1, 1, sizeof(buf1), fp);
-
- fclose(fp);
- remove(FILENAME);
-
- if (ret != sizeof(buf1))
- {
- fail("error testing the random generator.");
- return;
- }
+ if (ret != sizeof(buf1)) {
+ fail("error testing the random generator.");
+ return;
+ }
- if (memcmp(buf1, buf2, sizeof(buf1))==0)
- {
- fail("error in the random generator. Produces same valus after fork()");
- return;
- }
- if(debug)
- success("success\n");
- }
+ if (memcmp(buf1, buf2, sizeof(buf1)) == 0) {
+ fail("error in the random generator. Produces same valus after fork()");
+ return;
+ }
+ if (debug)
+ success("success\n");
+ }
- gnutls_global_deinit ();
+ gnutls_global_deinit();
}
#else
-void
-doit (void)
+void doit(void)
{
- exit (77);
+ exit(77);
}
#endif