<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/74ee5b52a09ba4149d8a53453bb612dff9c85cc6">https://github.com/macports/macports-legacy-support/commit/74ee5b52a09ba4149d8a53453bb612dff9c85cc6</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 74ee5b52a09ba4149d8a53453bb612dff9c85cc6
</span>Author: Fred Wright <fw@fwright.net>
AuthorDate: Tue May 13 10:37:37 2025 -0700

<span style='display:block; white-space:pre;color:#404040;'>    test_queues: Add optional verbosity.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    This implements -v, and provides the usual chatter when given.  It
</span><span style='display:block; white-space:pre;color:#404040;'>    also provides a one-line report in non-verbose mode.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    It also gets rid of assert, in favor of normal messages.
</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>---
 xtest/test_queues.c | 56 ++++++++++++++++++++++++++++++++++++++++-------------
 1 file changed, 43 insertions(+), 13 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/xtest/test_queues.c b/xtest/test_queues.c
</span><span style='display:block; white-space:pre;color:#808080;'>index a0ae0af..f9ae150 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/xtest/test_queues.c
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/xtest/test_queues.c
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -20,8 +20,10 @@
</span>  *    SLIST_REMOVE_AFTER
  */
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-#include <assert.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#include <libgen.h>
</span> #include <stddef.h>  /* For NULL */
<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> #include <sys/queue.h>
 
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -52,11 +54,14 @@ static slist_entry_t slist_entries[] = {
</span> };
 #define SLIST_NUM (sizeof(slist_entries) / sizeof(slist_entries[0]))
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-static void
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-test_slist(void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+static int
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+test_slist(int verbose)
</span> {
<span style='display:block; white-space:pre;background:#e0ffe0;'>+  int ret = 0;
</span>   slist_entry_t *ep, *tp;
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+  if (verbose) printf("  Testing SLIST_REMOVE_AFTER\n");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span>   /* Fill the queue with the sample entries (reversed) */
   for (ep = &slist_entries[0]; ep < &slist_entries[SLIST_NUM]; ++ep) {
     SLIST_INSERT_HEAD(&slist_head, ep, next);
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -65,13 +70,21 @@ test_slist(void)
</span>   /* Get and check the first entry */
   ep = &slist_entries[SLIST_NUM - 1];
   tp = SLIST_FIRST(&slist_head);
<span style='display:block; white-space:pre;background:#ffe0e0;'>-  assert(tp->value == ep->value);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  if (tp->value != ep->value) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    printf("    *** SLIST_FIRST got wrong entry\n");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ret = 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  }
</span> 
   /* Remove the following entry, then check the one after */
   SLIST_REMOVE_AFTER(tp, next);
   ep = &slist_entries[SLIST_NUM - 1 - 2];
   tp = SLIST_NEXT(tp, next);
<span style='display:block; white-space:pre;background:#ffe0e0;'>-  assert(tp->value == ep->value);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  if (tp->value != ep->value) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    printf("    *** SLIST_REMOVE_AFTER got wrong entry\n");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ret = 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  return ret;
</span> }
 
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -98,11 +111,14 @@ static stailq_entry_t stailq_entries[] = {
</span> };
 #define STAILQ_NUM (sizeof(stailq_entries) / sizeof(stailq_entries[0]))
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-static void
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-test_stailq(void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+static int
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+test_stailq(int verbose)
</span> {
<span style='display:block; white-space:pre;background:#e0ffe0;'>+  int ret = 0;
</span>   stailq_entry_t *ep, *tp;
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+  if (verbose) printf("  Testing STAILQ_FOREACH\n");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span>   /* Fill the queue with the sample entries */
   for (ep = &stailq_entries[0]; ep < &stailq_entries[STAILQ_NUM]; ++ep) {
     STAILQ_INSERT_TAIL(&stailq_head, ep, next);
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -111,21 +127,35 @@ test_stailq(void)
</span>   /* See if STAILQ_FOREACH returns expected sequence */
   ep = &stailq_entries[0];
   STAILQ_FOREACH(tp, &stailq_head, next) {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    assert(tp->value == ep++->value);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if (tp->value != ep++->value) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      printf("    *** STAILQ_FOREACH got wrong entry\n");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      ret = 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span>   }
 
   /* Check expected end */
<span style='display:block; white-space:pre;background:#ffe0e0;'>-  assert(ep == &stailq_entries[STAILQ_NUM]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  if (ep != &stailq_entries[STAILQ_NUM]) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    printf("    *** STAILQ_FOREACH ended at wrong entry\n");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ret = 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  return ret;
</span> }
 
 
 int
 main(int argc, char *argv[])
 {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-  (void) argc; (void) argv;
</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:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  if (verbose) printf("%s starting.\n", progname);
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-  test_slist();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-  test_stailq();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  ret |= test_slist(verbose);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  ret |= test_stailq(verbose);
</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>