summaryrefslogtreecommitdiffstats
path: root/generic/tclTest.c
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2020-04-21 15:59:47 (GMT)
committerdgp <dgp@users.sourceforge.net>2020-04-21 15:59:47 (GMT)
commit7a644db668f49fa33fdf76fe9fc3f7c269ec7579 (patch)
tree8735527bd6a42263a64af739b93a2964c9dcbf1f /generic/tclTest.c
parent2958d5196de3452ea46a083603d4ce1dc0d05d2a (diff)
parent4da0e252257e24143039784510363d066545be27 (diff)
downloadtcl-7a644db668f49fa33fdf76fe9fc3f7c269ec7579.zip
tcl-7a644db668f49fa33fdf76fe9fc3f7c269ec7579.tar.gz
tcl-7a644db668f49fa33fdf76fe9fc3f7c269ec7579.tar.bz2
[c574e50a3b] Stop segfault in tests utf-2.[89]. Create clean test suite
runs for the TCL_UTF_MAX = 4, 6 builds.
Diffstat (limited to 'generic/tclTest.c')
-rw-r--r--generic/tclTest.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/generic/tclTest.c b/generic/tclTest.c
index 8c29aa7..b9fd204 100644
--- a/generic/tclTest.c
+++ b/generic/tclTest.c
@@ -281,6 +281,7 @@ static Tcl_CmdProc Testset2Cmd;
static Tcl_CmdProc TestseterrorcodeCmd;
static Tcl_ObjCmdProc TestsetobjerrorcodeCmd;
static Tcl_CmdProc TestsetplatformCmd;
+static Tcl_ObjCmdProc TestsizeCmd;
static Tcl_CmdProc TeststaticpkgCmd;
static Tcl_CmdProc TesttranslatefilenameCmd;
static Tcl_CmdProc TestupvarCmd;
@@ -592,6 +593,7 @@ Tcltest_Init(
TestFindLastCmd, NULL, NULL);
Tcl_CreateCommand(interp, "testsetplatform", TestsetplatformCmd,
NULL, NULL);
+ Tcl_CreateObjCommand(interp, "testsize", TestsizeCmd, NULL, NULL);
Tcl_CreateCommand(interp, "teststaticpkg", TeststaticpkgCmd,
NULL, NULL);
Tcl_CreateCommand(interp, "testtranslatefilename",
@@ -4122,6 +4124,35 @@ TestsetplatformCmd(
return TCL_OK;
}
+static int
+TestsizeCmd(
+ ClientData clientData, /* Unused */
+ Tcl_Interp* interp, /* Tcl interpreter */
+ int objc, /* Parameter count */
+ Tcl_Obj *const * objv) /* Parameter vector */
+{
+ if (objc != 2) {
+ goto syntax;
+ }
+ if (strcmp(Tcl_GetString(objv[1]), "time_t") == 0) {
+ Tcl_SetObjResult(interp, Tcl_NewWideIntObj(sizeof(time_t)));
+ return TCL_OK;
+ }
+ if (strcmp(Tcl_GetString(objv[1]), "st_mtime") == 0) {
+ Tcl_StatBuf *statPtr;
+ Tcl_SetObjResult(interp, Tcl_NewWideIntObj(sizeof(statPtr->st_mtime)));
+ return TCL_OK;
+ }
+ if (strcmp(Tcl_GetString(objv[1]), "unichar") == 0) {
+ Tcl_SetObjResult(interp, Tcl_NewWideIntObj(sizeof(Tcl_UniChar)));
+ return TCL_OK;
+ }
+
+syntax:
+ Tcl_WrongNumArgs(interp, 1, objv, "time_t|st_mtime|unichar");
+ return TCL_ERROR;
+}
+
/*
*----------------------------------------------------------------------
*