summaryrefslogtreecommitdiffstats
path: root/generic/tclTest.c
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2018-06-25 20:38:16 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2018-06-25 20:38:16 (GMT)
commitfdee46ab16b879589155729e6db4fdabe235880f (patch)
treeba7a7a4cc25027d8df81784b5a53e2add157f47b /generic/tclTest.c
parent94f9cf81ed3e156bd372a3cac249974d1acb4e1d (diff)
parent0839047d8bed631eeb82c7c3e26b0f13461717e6 (diff)
downloadtcl-fdee46ab16b879589155729e6db4fdabe235880f.zip
tcl-fdee46ab16b879589155729e6db4fdabe235880f.tar.gz
tcl-fdee46ab16b879589155729e6db4fdabe235880f.tar.bz2
merge 8.6
Diffstat (limited to 'generic/tclTest.c')
-rw-r--r--generic/tclTest.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/generic/tclTest.c b/generic/tclTest.c
index ac01ecf..814d734 100644
--- a/generic/tclTest.c
+++ b/generic/tclTest.c
@@ -44,6 +44,7 @@
DLLEXPORT int Tcltest_Init(Tcl_Interp *interp);
DLLEXPORT int Tcltest_SafeInit(Tcl_Interp *interp);
+EXTERN TCL_NORETURN void Tcltest_Exit(ClientData clientData);
/*
* Dynamic string shared by TestdcallCmd and DelCallbackProc; used to collect
@@ -570,6 +571,10 @@ Tcltest_Init(
return TCL_ERROR;
}
+
+ /* Finalizer */
+ Tcl_SetExitProc(Tcltest_Exit);
+
/*
* Create additional commands and math functions for testing Tcl.
*/
@@ -797,6 +802,17 @@ Tcltest_SafeInit(
return Procbodytest_SafeInit(interp);
}
+TCL_NORETURN void Tcltest_Exit(
+ ClientData clientData
+) {
+ int status = PTR2INT(clientData);
+ Tcl_Finalize();
+ TclThreadTestFinalize();
+ TclpExit(status);
+ Tcl_Panic("OS exit failed!");
+}
+
+
/*
*----------------------------------------------------------------------
*