From c173c009bd41b821e9fad4938d69d2204de69e55 Mon Sep 17 00:00:00 2001 From: Jacob Bachmeyer Date: Sat, 26 Nov 2022 22:08:48 -0600 Subject: Fix miscounting of expected failures in C unit test API --- ChangeLog | 4 ++++ dejagnu.h | 6 ++++-- 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 + * 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) -- cgit v1.1