<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>