<pre style='margin:0'>
Christopher Nielsen (mascguy) pushed a commit to branch master
in repository macports-legacy-support.
</pre>
<p><a href="https://github.com/macports/macports-legacy-support/commit/f9b7e0da3919ceb09ca2da8c3bac2aec125fc227">https://github.com/macports/macports-legacy-support/commit/f9b7e0da3919ceb09ca2da8c3bac2aec125fc227</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit f9b7e0da3919ceb09ca2da8c3bac2aec125fc227
</span>Author: Fred Wright <fw@fwright.net>
AuthorDate: Sun May 18 00:34:54 2025 -0700
<span style='display:block; white-space:pre;color:#404040;'> test_arc4random: Fix verbosity.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> TESTED:
</span><span style='display:block; white-space:pre;color:#404040;'> Output as expected.
</span><span style='display:block; white-space:pre;color:#404040;'> "Passes" on all platforms.
</span>---
test/test_arc4random.c | 33 ++++++++++++++++++++-------------
1 file changed, 20 insertions(+), 13 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/test/test_arc4random.c b/test/test_arc4random.c
</span><span style='display:block; white-space:pre;color:#808080;'>index 724d6f7..b62938b 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/test/test_arc4random.c
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/test/test_arc4random.c
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,12 +1,18 @@
</span> /*
* Simple test harness and benchmark for MT Arc4Random
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * Note that this is almost entirely just a benchmark, and not an actual
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * test of the randomness of the result, which would be complicated. The
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * only thing really being "tested" is that the function can be called.
</span> */
<span style='display:block; white-space:pre;background:#e0ffe0;'>+#include <errno.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#include <fcntl.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#include <libgen.h>
</span> #include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-#include <errno.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#include <string.h>
</span> #include <unistd.h>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-#include <fcntl.h>
</span>
/*
* Performance counter access.
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -25,7 +31,6 @@ static inline uint64_t sys_cpu_timestamp(void)
</span>
#elif defined(__x86_64__)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> static inline uint64_t sys_cpu_timestamp(void)
{
uint64_t res;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -51,7 +56,7 @@ static inline uint64_t sys_cpu_timestamp(void)
</span> * Generate 'siz' byte RNG in a tight loop and provide averages.
*/
static void
<span style='display:block; white-space:pre;background:#ffe0e0;'>-bench(int fd, size_t siz, size_t niter)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bench(int fd, size_t siz, size_t niter, int verbose)
</span> {
size_t j;
uint8_t *buf = malloc(siz);
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -79,36 +84,38 @@ bench(int fd, size_t siz, size_t niter)
</span>
double speedup = ss / sa;
<span style='display:block; white-space:pre;background:#ffe0e0;'>- printf("%6lu, %9.4f,\t%9.4f,\t%6.2f\n", siz, sa, ss, speedup);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (verbose) printf("%6lu,\t%9.4f,\t%9.4f,\t%6.2f\n", siz, sa, ss, speedup);
</span>
free(buf);
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> #define NITER 8192
int
<span style='display:block; white-space:pre;background:#ffe0e0;'>-main()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+main(int argc, char *argv[])
</span> {
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ int verbose = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ char *progname = basename(argv[0]);
</span> int i;
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (argc > 1 && !strcmp(argv[1], "-v")) verbose = 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (verbose) printf("%s started\n", progname);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> int fd = open("/dev/urandom", O_RDONLY);
int args[] = { 16, 32, 64, 256, 512 };
int nargs = 5;
<span style='display:block; white-space:pre;background:#ffe0e0;'>- printf("size, arc4rand,\tsysrand,\tspeed-up\n");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (verbose) printf(" size,\t arc4rand,\t sysrand,\tspeedup\n");
</span> for (i = 0; i < nargs; ++i) {
int z = args[i];
if (z <= 0) continue;
<span style='display:block; white-space:pre;background:#ffe0e0;'>- bench(fd, z, NITER);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bench(fd, z, NITER, verbose);
</span> }
close(fd);
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ printf("%s completed.\n", progname);
</span> return 0;
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-/* EOF */
</span></pre><pre style='margin:0'>
</pre>