summaryrefslogtreecommitdiffstats
path: root/tests/thread.test
Commit message (Collapse)AuthorAgeFilesLines
* Revise results of the thread-7.28 through thread-7.31 tests to account for ↵Joe Mistachkin2011-11-211-236/+322
| | | | the fact they are canceled via a script sent to the thread asynchronously, which then impacts the error message handling. Attempt to manually drain the event queue for the main thread after joining the test thread to make sure no stray events are processed at the wrong time on the main thread. Revise all the synchronization and comparison semantics related to the thread id and error message.
* Remove unnecessary [after] calls from the thread tests. Make error message ↵Joe Mistachkin2011-11-211-8/+14
| | | | matching more robust for tests that may have built-in race conditions. Test thread-7.26 must first unset all thread testing related variables.
* Remove all use of thread::release from the thread 7.x tests, replacing it ↵Joe Mistachkin2011-11-181-50/+67
| | | | with a script that can easily cause 'stuck' threads to self-destruct for those test cases that require it. Also, make the error message handling far more robust by keeping track of every asynchronous error.
* Refactor all the remaining thread-7.x tests that were using [testthread]. ↵Joe Mistachkin2011-11-181-88/+67
| | | | Note that this test file now requires the very latest version of the Thread package to pass all tests. In addition, the thread-7.18 and thread-7.19 tests have been flagged as knownBug because they cannot pass without modifications to the [expr] command, persuant to TIP #392.
* More work in progress converting tests from [testthread] to Thread package.dgp2011-11-091-262/+235
|
* Work in progress converting tests from [testthread cancel] to [thread::cancel]dgp2011-11-011-343/+270
|
* Stop using the deprecated thread management commands of the tcltest package.dgp2011-09-231-11/+29
| | | | The test suite ought to provide these tools for itself. They do not belong in a testing harness.
* Revise the thread exit handling of the [testthread] command so that itdgp2011-09-211-1/+0
| | | | properly maintains the per-process data structures even when the thread exits for reasons other than the [testthread exit] command.
* Plug most memory leaks in thread.test.dgp2011-09-191-16/+22
|\
| * stop segfaultthread_leaksdgp2011-09-121-1/+5
| |
| * Attempt to convert test thread-7.26dgp2011-09-121-9/+9
|/
* more conversion workdgp2011-09-121-20/+15
|
* Work in progress taking leaks out of thread.test.dgp2011-09-121-75/+61
|
* Convert [testthread] use to Thread package use in thread-6.1.dgp2011-09-121-9/+6
| | | Eliminates a memory leak in `make valgrind`.
* Now that we're no longer using SCM based on RCS, the RCS Keyword linesdgp2011-03-021-2/+0
|\ | | | | cause more harm than good. Purged them (except in zlib files).
| * Now that we're no longer using SCM based on RCS, the RCS Keyword lines causedgp2011-03-021-2/+0
| |\ | | | | | | more harm than good. Purged them.
| | * Now that we're no longer using SCM based on RCS, the RCS Keyword lines causedgp2011-03-011-2/+0
| | | | | | | | | more harm than good. Purged them.
| | * Fix for [Bug 1565466]Joe Mistachkin2009-10-181-4/+7
| | |
| * | Fix for [Bug 988703, 1565466]Joe Mistachkin2009-10-181-4/+7
| | |
* | | Fix for [Bug 1565466]Joe Mistachkin2009-10-181-4/+7
| | |
* | | fix [2021443] inconsistant "wrong # args" messagesnijtmans2008-07-191-2/+2
| | |
* | | TIP 285 ImplementationJoe Mistachkin2008-06-131-3/+1191
|/ /
* | merge stable branch onto HEADdgp2007-12-131-1/+1
| |
* | thread-4.4: clear ::errorInfo in the thread as a message is left here from ↵patthoyts2007-08-211-2/+2
| | | | | | | | init.tcl on windows due to no tcl_pkgPath.
* | * generic/tclBasic.c: Use fully qualified variable names fordgp2007-08-141-2/+3
| | | | | | | | | | | | * tests/thread.test: ::errorInfo and ::errorCode so that string * tests/trace.test: reported to variable traces are fully qualified in agreement with Tcl 8.4 operations.
* | * tests/*.test: updated all tests to refer explicitly to thetip_278_20061009Miguel Sofer2006-10-091-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | global variables ::errorInfo, ::errorCode, ::env and ::tcl_platform: many were relying on the alternative lookup in the global namespace, that feature is tested specifically in namespace and variable tests. The modified testfiles are: apply.test, basic.test, case.test, cmdIL.test, cmdMZ.test, compExpr-old.test, error.test, eval.test, event.test, expr.test, fileSystem.test, for.test, http.test, if.test, incr-old.test, incr.test, interp.test, io.test, ioCmd.test, load.test, misc.test, namespace.test, parse.test, parseOld.test, pkg.test, proc-old.test, set.test, switch.test, tcltest.test, thread.test, var.test, while-old.test, while.test.
* | * generic/tclExecute.c (IllegalExprOperandType,TclExecuteByteCode):dgp2004-10-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | Removed several DECACHE_INFO/CACHE_INFO pairs that are no longer needed for protection because routines like Tcl_SetErrorCode() and Tcl_AddErrorInfo() can no longer re-enter bytecode execution. * generic/tclResult.c (TclProcessReturn): Bug fix. Be sure that a missing -errorinfo option when code == TCL_ERROR causes the errorInfo field to get reset. * tests/thread.test (thread-4.4): Test depended on a ::errorInfo value initialized to "". Added code to test to setup that requirement.
* | Added tests for deep-object-freeingdkf2004-06-181-1/+18
| |
* | Remove extraneous spacedkf2004-06-181-23/+1
| |
* | Massive test cleanup; all tests are run, and constraints are used where ↵dkf2004-05-191-5/+3
|/ | | | necessary.
* 2000-05-02 Andreas Kupries <a.kupries@westend.com>kupries2000-05-021-3/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Overall changes: (1) Implementation of joinable threads for all platforms. (2) Additional API's for channels. Required to allow the thread extension to move channels between threads. * generic/tcl.decls (lines 1360f): Added Tcl_JoinThread, Tcl_IsChannelShared, Tcl_IsChannelRegistered, Tcl_CutChannel, Tcl_SpliceChannel, Tcl_IsChannelExisting and Tcl_ClearChannelHandlers (slots 394 to 400). * generic/tclIO.c: Implemented Tcl_IsChannelRegistered, Tcl_IsChannelShared, Tcl_CutChannel, Tcl_SpliceChannel, Tcl_IsChannelExisting and Tcl_ClearChannelHandlers. Tcl_CutChannel uses code from CloseChannel. Replaced this code by a call to Tcl_CutChannel. Replaced several code fragments adding channels to the channel list with calls to Tcl_SpliceChannel. Removed now unused variables from CloseChannel and Tcl_UnstackChannel. Tcl_ClearChannelHandlers uses code from Tcl_Close. Replaced this code by a call to Tcl_ClearChannelHandlers. Removed now unused variables from Tcl_Close. Added the subcommands 'cut', 'forgetch', 'splice' and 'isshared' to the test code (TclTestChannelCmd). * unix/tclUnixThread.c: Implemented Tcl_JoinThread using the pthread-functionality. * win/tclWinThrd.c: Fixed several small typos in comments. Implemented Tcl_JoinThread using a platform independent emulation layer (see generic/tclThreadJoin.c below). Added 'joinLock' to serialize Tcl_CreateThread and TclpExitThread to prevent a race for joinable threads. * mac/tclMacThrd.c: Implemented Tcl_JoinThread using a platform independent emulation layer (see generic/tclThreadJoin.c below). Due to the cooperative nature of threading on this platform the race mentioned above is not present. * generic/tclThreadJoin.c: New file. Contains a platform independent emulation layer helping in the implementation of joinable threads for the win and mac platforms. * generic/tclInt.h: Added declarations for TclJoinThread, TclRememberJoinableThread and TclSignalExitThread. These procedures define the API of the emulation layer for joinable threads (see generic/tclThreadJoin.c above). * win/Makefile.in: * win/makefile.vc: Added generic/tclTheadJoin.o to the rules. * mac/: I don't know to which file generic/tclTheadJoin.o has to be added to so that it compiles. Sorry. * unix/tclUnixChan.c: #ifdef'd the thread-local list of file channels as it prevents us from transfering channels. To restore this we may need an extended interface to drivers in the future. Target: 9.0. Found while testing the new transfer of channels. The information in this list for a channel was left behind and then crashed the system during finalization. * generic/tclThreadTest.c: Added -joinable flag to 'testthread create'. Added subcommand 'testthread join'. * doc/CrtChannel.3: Added documentation for Tcl_IsChannelRegistered, Tcl_IsChannelShared, Tcl_CutChannel, Tcl_SpliceChannel, Tcl_IsChannelExisting and Tcl_ClearChannelHandlers. * doc/Thread.3: Added documentation for Tcl_JoinThread. * tests/thread.test: Added tests for joining of threads.
* * tests/*.test: Changed all occurances of "namespace importericm2000-04-101-2/+2
| | | | ::tcltest" to "namespace import -force ::tcltest" [Bug: 3948].
* new test caseshobbs1999-10-211-13/+1
|
* Changed the tests to use the testConstraints array that thejenn1999-07-011-3/+3
| | | | test harness uses instead of the old name (testConfig).
* Fixed style problems in many of the test files.rjohnson1999-06-261-2/+2
| | | | Fixed bug in pkg.test where defs.tcl was still being used.
* Modified the tests to use the package tcltestjenn1999-06-261-2/+3
|
* Resynced with mainline.rjohnson1999-04-211-1/+1
|
* moved the ThreadReap command to ::tcltest::threadReap. Now each thread test ↵hershey1999-04-201-82/+88
| | | | | | | | | calls threadReap at the beginning and end of the test, inside the test body. This fixes the problem where the test suite was exiting on a call to threadReap (reap was killing the main thread by accident because other tests were leaving threads running and setting mainthread to be the list of running threads).
* merged tcl 8.1 branch back into the main trunkstanton1999-04-161-0/+240