aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacob Bachmeyer <jcb@gnu.org>2022-11-26 22:08:48 -0600
committerJacob Bachmeyer <jcb@gnu.org>2022-11-26 22:08:48 -0600
commitc173c009bd41b821e9fad4938d69d2204de69e55 (patch)
tree7ef497b70e4f89ed4981834a16d8489ee0f8db66
parent999b7c0475d5f31c9fc29be58a97078bf6f0f2ec (diff)
Fix miscounting of expected failures in C unit test API
-rw-r--r--ChangeLog4
-rw-r--r--dejagnu.h6
2 files changed, 8 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index d7ea8c2..2bc6eb7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
2022-11-26 Jacob Bachmeyer <jcb@gnu.org>
+ * dejagnu.h (xpass): Fix use of wrong counter.
+ (xfail): Likewise.
+ (totals): Report unexpected passes if any occurred.
+
* doc/dejagnu.texi (DejaGnu unit test protocol): Add end marker
line using "END" to allow detecting tests that exit prematurely.
The "Totals:" line was previously used for this purpose, but it
diff --git a/dejagnu.h b/dejagnu.h
index df23890..2b22b76 100644
--- a/dejagnu.h
+++ b/dejagnu.h
@@ -77,7 +77,7 @@ xpass (const char* fmt, ...)
{
va_list ap;
- passed++;
+ xpassed++;
va_start (ap, fmt);
vsnprintf (buffer, sizeof (buffer), fmt, ap);
va_end (ap);
@@ -103,7 +103,7 @@ xfail (const char* fmt, ...)
{
va_list ap;
- failed++;
+ xfailed++;
va_start (ap, fmt);
vsnprintf (buffer, sizeof (buffer), fmt, ap);
va_end (ap);
@@ -157,6 +157,8 @@ totals (void)
printf ("\t#real failed:\t\t%d\n", failed);
if (xfailed)
printf ("\t#expected failures:\t\t%d\n", xfailed);
+ if (xpassed)
+ printf ("\t#unexpected passes:\t\t%d\n", xpassed);
if (untest)
printf ("\t#untested:\t\t%d\n", untest);
if (unresolve)