<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/9071596ca2216fc83c7444b92a63a9e9692e1946">https://github.com/macports/macports-legacy-support/commit/9071596ca2216fc83c7444b92a63a9e9692e1946</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 9071596ca2216fc83c7444b92a63a9e9692e1946
</span>Author: Fred Wright <fw@fwright.net>
AuthorDate: Mon May 12 22:16:29 2025 -0700
<span style='display:block; white-space:pre;color:#404040;'> test_sysconf: Fix verbosity.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Implements verbose option, and adjusts output accordingly.
</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;'> Passes on all platforms.
</span><span style='display:block; white-space:pre;color:#404040;'> Output as expected.
</span>---
test/test_sysconf.c | 50 ++++++++++++++++++++++++++++++++------------------
1 file changed, 32 insertions(+), 18 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/test/test_sysconf.c b/test/test_sysconf.c
</span><span style='display:block; white-space:pre;color:#808080;'>index cbd3695..1c5ea58 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/test/test_sysconf.c
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/test/test_sysconf.c
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,6 +1,6 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> /*
* Copyright (c) 2019 Christian Cornelssen
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ * Copyright (c) 2025 Frederick H. G. Wright II <fw@fwright.net>
</span> *
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -27,44 +27,56 @@ typedef long (*itol_t)(int);
</span> typedef struct { long sysconf; } scv_t;
typedef struct { itol_t sysconf; } scf_t;
<span style='display:block; white-space:pre;background:#ffe0e0;'>-#include <unistd.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#include <stdio.h>
</span> #include <assert.h>
<span style='display:block; white-space:pre;background:#e0ffe0;'>+#include <libgen.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#include <stdio.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#include <string.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#include <unistd.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+int
</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;'>+{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int ret = 0, verbose = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ char *progname = basename(argv[0]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><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:#ffe0e0;'>-int main() {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- printf("***sysconf wrapper tests started\n\n");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (verbose) printf("%s started\n", progname);
</span> /* Test with direct function call */
long nconf = sysconf(_SC_NPROCESSORS_CONF);
long nonln = sysconf(_SC_NPROCESSORS_ONLN);
long nphyspages = sysconf(_SC_PHYS_PAGES);
<span style='display:block; white-space:pre;background:#ffe0e0;'>- printf("nconf = %ld; nonln = %ld;\n", nconf, nonln);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (verbose) printf(" nconf = %ld; nonln = %ld;\n", nconf, nonln);
</span> assert (nconf > 0);
assert (nonln > 0);
<span style='display:block; white-space:pre;background:#ffe0e0;'>- printf("sysconf(_SC_NPROCESSORS_XXXX) supported.\n");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (verbose) printf(" sysconf(_SC_NPROCESSORS_XXXX) supported.\n");
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>- printf("nphyspages = %ld\n", nphyspages);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (verbose) printf(" nphyspages = %ld\n", nphyspages);
</span> assert (nphyspages > 0);
<span style='display:block; white-space:pre;background:#ffe0e0;'>- printf("sysconf(_SC_PHYS_PAGES) supported.\n\n");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- printf("Total system memory = %f GB\n", ((double)sysconf(_SC_PHYS_PAGES)) * ((double)sysconf(_SC_PAGESIZE)/(1024*1024*1024)));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (verbose) printf(" sysconf(_SC_PHYS_PAGES) supported.\n");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (verbose) printf(" Total system memory = %f GiB\n",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ((double)sysconf(_SC_PHYS_PAGES))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * ((double)sysconf(_SC_PAGESIZE)/(1024*1024*1024)));
</span>
/* Test with name (reference) only */
{
itol_t f = sysconf;
assert (f(_SC_NPROCESSORS_CONF) == nconf);
assert (f(_SC_NPROCESSORS_ONLN) == nonln);
<span style='display:block; white-space:pre;background:#ffe0e0;'>- printf("f = sysconf, f(_SC_NPROCESSORS_XXXX) supported.\n");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (verbose) printf(" f = sysconf, f(_SC_NPROCESSORS_XXXX)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ " supported.\n");
</span>
assert (f(_SC_PHYS_PAGES) == nphyspages);
<span style='display:block; white-space:pre;background:#ffe0e0;'>- printf("f = sysconf, f(_SC_PHYS_PAGES) supported.\n\n");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (verbose) printf(" f = sysconf, f(_SC_PHYS_PAGES) supported.\n");
</span> }
/* Test with function macro disabler */
assert ((sysconf)(_SC_NPROCESSORS_CONF) == nconf);
assert ((sysconf)(_SC_NPROCESSORS_ONLN) == nonln);
<span style='display:block; white-space:pre;background:#ffe0e0;'>- printf("(sysconf)(_SC_NPROCESSORS_XXXX) supported.\n");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (verbose) printf(" (sysconf)(_SC_NPROCESSORS_XXXX) supported.\n");
</span>
assert ((sysconf)(_SC_PHYS_PAGES) == nphyspages);
<span style='display:block; white-space:pre;background:#ffe0e0;'>- printf("(sysconf)(_SC_PHYS_PAGES) supported.\n\n");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (verbose) printf(" (sysconf)(_SC_PHYS_PAGES) supported.\n");
</span>
/* Test with same-named fields */
{
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -76,10 +88,12 @@ int main() {
</span> assert (scv.sysconf == nonln);
scv.sysconf = scf.sysconf(_SC_PHYS_PAGES);
assert (scv.sysconf == nphyspages);
<span style='display:block; white-space:pre;background:#ffe0e0;'>- printf("scv.sysconf = scf.sysconf(_SC_NPROCESSORS_XXXX) supported.\n");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- printf("scv.sysconf = scf.sysconf(_SC_PHYS_PAGES) supported.\n");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (verbose) printf(" scv.sysconf = scf.sysconf(_SC_NPROCESSORS_XXXX)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ " supported.\n");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (verbose) printf(" scv.sysconf = scf.sysconf(_SC_PHYS_PAGES)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ " supported.\n");
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>- printf("***sysconf wrapper tests completed\n\n");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ printf("%s %s.\n", progname, ret ? "failed" : "passed");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return ret;
</span> }
</pre><pre style='margin:0'>
</pre>