aboutsummaryrefslogtreecommitdiff
path: root/ChangeLog
diff options
context:
space:
mode:
authorJacob Bachmeyer <jcb@gnu.org>2022-11-30 22:52:25 -0600
committerJacob Bachmeyer <jcb@gnu.org>2022-11-30 22:52:25 -0600
commitcc2dcde3edb178434be6ce74fdd12322a35fcfb5 (patch)
tree008fb21128bf7c744327772e772065cf7b3a0f58 /ChangeLog
parent25c50aa4235fd396b740f19c5641dea5adaebc27 (diff)
downloaddejagnu-cc2dcde3edb178434be6ce74fdd12322a35fcfb5.zip
dejagnu-cc2dcde3edb178434be6ce74fdd12322a35fcfb5.tar.gz
dejagnu-cc2dcde3edb178434be6ce74fdd12322a35fcfb5.tar.bz2
Revise generation of "END" messages in dejagnu.h
The "END" message is now produced upon normal exit, without requiring that the totals() function or method be called. The C++ API now emits totals only when the last TestState object in the program is destroyed, instead of every time a TestState object is destroyed. This required adding code to track the number of live TestState objects.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog13
1 files changed, 13 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 128bf52..27d1b57 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,18 @@
2022-11-30 Jacob Bachmeyer <jcb@gnu.org>
+ * dejagnu.h (DG__endmsg): New function, called using atexit().
+ (endmsg_registered, TestState_count): Add fields to DG__status.
+ (DG__init): New function, to register DG__endmsg.
+ (pass, xpass, fail, xfail, untested, unresolved, unsupported)
+ (note): Call DG__init to ensure libdejagnu initialization.
+ (totals): Move "END" message to DG__endmsg.
+ (TestState::TestState): Consider DG__endmsg registered when a
+ TestState object is constructed.
+ (TestState::TestState, TestState::~TestState): Track number of
+ live TestState objects in global status structure.
+ (TestState::~TestState): Call totals() and emit "END" message only
+ when the last TestState object is destroyed.
+
* dejagnu.h (outstate): Remove.
(TestState::pass, TestState::xpass, TestState::fail)
(TestState::xfail, TestState::untested, TestState::unresolved)