summaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* * generic/tclInt.h (TclNRSwitchObjCmd):Kevin B Kenny2009-07-141-1/+17
| | | | | | | * generic/tclBasic.c (builtInCmds): * generic/tclCmdMZ.c (Tcl_SwitchObjCmd): * tests/switch.test (switch-15.1): Make non-bytecoded [switch] command aware of NRE. [Bug 2821401]
* * generic/tclCompile.c (TclInitCompileEnv, EnterCmdWordIndex,andreas_kupries2009-07-141-1/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TclCleanupByteCode, TclCompileScript): * generic/tclExecute.c (TclCompileObj, TclExecuteByteCode): * tclCompile.h (ExtCmdLoc): * tclInt.h (ExtIndex, CFWordBC, CmdFrame): * tclBasic.c (DeleteInterpProc, TclArgumentBCEnter, TclArgumentBCRelease, TclArgumentGet, SAVE_CONTEXT, RESTORE_CONTEXT, NRCoroutineExitCallback, TclNRCoroutineObjCmd): * generic/tclCmdAH.c (TclNRForObjCmd, TclNRForIterCallback, ForNextCallback): * generic/tclCmdMZ.c (TclNRWhileObjCmd): Extended the bytecode compiler initialization to recognize the compilation of whole files (NRE enabled 'source' command) and switch to the counting of absolute lines in that case. Further extended the bytecode compiler to track the start line in the generated information, and modified the bytecode execution to recompile an object if the location as per the calling context doesn't match the location saved in the bytecode. This part could be optimized more by using more memory to keep all possibilities which occur around, or by just adjusting the location information instead of a total recompile. Reworked the handling of literal command arguments in bytecode to be saved (compiler) and used (execution) per command (See the TCL_INVOKE_STK* instructions), and not per the whole bytecode. This, and the previous change remove the problems with location data caused by literal sharing (across whole files, but also proc bodies). Simplified the associated datastructures (ExtIndex is gone, as is the function EnterCmdWordIndex). The last change causes the hashtable 'lineLABCPtr' to be state which has to be kept per coroutine, like the CmdFrame stack. Reworked the coroutine support code to create, delete and switch the information as needed. Further reworked the tailcall command as well, it has to pop its own arguments when run in a bytecode context to keep a proper stack in 'lineLABCPtr'. Fixed the mishandling of line information in the NRE-enabled 'for' and 'while' commands introduced when both were made to share their iteration callbacks without taking into account that the loop body is found in different words of the command. Introduced a separate data structure to hold all the callback information, as we went over the limit of 4 direct client-data values for NRE callbacks. The above fixes [Bug 1605269].
* ZlibTransformClose may be called with a NULL interpreter during finalization andpatthoyts2009-07-101-36/+168
| | | | | Tcl_SetChannelError requires a list. Added some tests to ensure error propagation from the zlib library to the interp.
* [Bug #2818131] Added tests and fixed a typo that broke zlib push for deflate ↵patthoyts2009-07-091-6/+94
| | | | format.
* Additional tests for zlib stacked channel with fcopy in various modes.patthoyts2009-07-051-1/+120
|
* Make [zlib push] work with [fcopy].dkf2009-07-051-1/+29
|
* Handle cleanup when all tests skipped [Bug 2812355]patthoyts2009-06-251-1/+1
|
* Made namespace scope corrections to some of the testing machinerydgp2009-06-253-28/+17
| | | | surrounding [testnrelevels]. Fixes up some -singleproc 1 failures.
* Fix [Bug 2811598].dkf2009-06-241-1/+2
|
* More test suite cleanup for "-singleproc 1 -debug 1" testing.dgp2009-06-249-10/+22
|
* Correct failures during -singleproc 1 test suite run.dgp2009-06-243-38/+43
| | | | Correct duplicate test names.
* Clean up procs after testing to avoid problems with -singleproc testing [Bug ↵patthoyts2009-06-241-1/+5
| | | | 2811492]
* * generic/tclCompile.c: The value stashed in iPtr->compiledProcPtrdgp2009-06-131-1/+14
| | | | | | | | | | | | | * generic/tclProc.c: when compiling a proc survives too long. We * tests/execute.test: only need it there long enough for the right TclInitCompileEnv() call to re-stash it into envPtr->procPtr. Once that is done, the CompileEnv controls. If we let the value of iPtr->compiledProcPtr linger, though, then any other bytecode compile operation that takes place will also have its CompileEnv initialized with it, and that's not correct. The value is meant to control the compile of the proc body only, not other compile tasks that happen along. Thanks to Carlos Tasada for discovering and reporting the problem. [Bug 2802881].
* * generic/tclGetDate.y: Fixed a thread safety bug in the generatedKevin B Kenny2009-06-091-4/+39
| | | | | | | | | | * library/clock.tcl: Bison parser (needed a %pure-parser * tests/clock.test: declaration to avoid static variables). Discovered that the %pure-parser declaration allowed for returning the Bison error message to the Tcl caller in the event of a syntax error, so did so. * generic/tclDate.c: bison 2.3
* * tests/expr.test: Added many tests demonstrating the brokendgp2009-06-011-1/+326
| | | | cases of [Bug 2798543].
* Added more introspection: ability to look up namespace of an object.dkf2009-05-151-2/+10
|
* Fix [Bug 2414858].dkf2009-05-081-3/+14
|
* Fix [Bug 2788468].dkf2009-05-081-42/+51
|
* Fix [Bug 1513659].dkf2009-05-072-36/+88
|
* * tests/interp.test: interp-20.50 test for Bug 2486550.dgp2009-05-061-1/+9
|
* Removed newline appended to POST data.patthoyts2009-04-192-9/+110
| | | | Added tests to check that the data provided by a POST is as stated in the content-length [Bug 2715421]
* Clarify the rules for resolution of what forwarded methods forward to.dkf2009-04-111-1/+93
|
* Improved HTTP/1.1 support and added specific HTTP/1.1 testing.patthoyts2009-04-103-2/+807
| | | | | | | | This patch makes use of the 8.6 zlib support to provide for deflate and gzip support and handles the -channel option with compression and chunked transfer encoding. For the -handler option we currently disable HTTP/1.1 features as we cannot properly pass the data through to the caller.
* Specific check for [Bug 26245326]patthoyts2009-04-102-3/+29
| | | | | This bug is caused by receiving a partial HTTP response line which caused premature switching of the state in the client package before we received the whole line.
* * generic/tclPathObj.c (TclPathPart): TclPathPart() was computingdgp2009-03-271-1/+13
| | | | | | * tests/fileName.test: the wrong results for both [file dirname] and [file tail] on "path" arguments with the PATHFLAGS != 0 intrep and with an empty string for the "joined-on" part. [Bug 2710920]
* Fix [Bug 2704302]dkf2009-03-241-1/+26
|
* Fix [Bug 2673163]dkf2009-03-241-59/+54
|
* removed extra cleanupTests callMiguel Sofer2009-03-211-5/+1
|
* forgot one file :}Miguel Sofer2009-03-211-2/+25
|
* * tclInt.h: commentsMiguel Sofer2009-03-211-2/+88
| | | | | | * tests/tailcall.test: added tests to show that [tailcall] does not currently always execute in constant space: interp-alias, ns-imports and ensembles "leak" as of this commit.
* * tests/nre.test: [foreach] has been NR-enabled for a while, theMiguel Sofer2009-03-211-2/+2
| | | | test was marked 'knownBug': unmark it.
* * generic/tclBasic.c: Fix for (among others) [Bug 2699087]Miguel Sofer2009-03-211-3/+13
| | | | | | | | | * generic/tclCmdAH.c: Tailcalls now perform properly even from * generic/tclExecute.c: within [eval]ed scripts. * generic/tclInt.h: More tests missing, as well as proper exploration and testing of the interaction with "redirectors" like interp-alias (suspect that it does not happen in constant space) and pure-eval commands.
* * generic/tclExecute.c: proper fix for [Bug 2415422]. ReenabledMiguel Sofer2009-03-211-1/+18
| | | | | | * tests/nre.test: the failing assertion that was disabled on 2008-12-18: the assertion is correct, the fault was in the management of expansions.
* * generic/tclExecute.c: fix both test and code for tailcallMiguel Sofer2009-03-211-3/+5
| | | | * tests/tailcall.test: from within a compiled [eval] body.
* * tests/stringObj.test: Test stringObj-6.9 checks thatdgp2009-03-211-1/+7
| | | | | Tcl_AppendStringsToObj() no longer crashes when operating on a pure unicode value. [Bug 2597185]
* * tests/tailcall.test: slightly improved testsMiguel Sofer2009-03-211-5/+27
|
* * generic/tcl.h:Miguel Sofer2009-03-192-400/+458
| | | | | | | | | | | | | | * generic/tclInt.h: * generic/tclBasic.c: * generic/tclExecute.c: * generic/tclNamesp.c (Tcl_PopCallFrame): Rewritten tailcall implementation, ::unsupported::atProcExit is (temporarily?) gone. The new approach is much simpler, and also closer to being correct. This commit fixes [Bug 2649975] and [Bug 2695587]. * tests/coroutine.test: Moved the tests to their own files, * tests/tailcall.test: removed the unsupported.test. Added * tests/unsupported.test: tests for the fixed bugs.
* Move the implementation of [try] from Tcl to C. Not yet bytecoded.dkf2009-03-091-13/+13
|
* Fix bug 2662434dkf2009-03-041-1/+4
|
* Revert commits of 20080723. Those were speed tests, that are inherently ↵ferrieux2009-02-222-19/+2
| | | | brittle.
* * generic/tclPathObj.c: Fixed mistaken logic in TclFSGetPathType()dgp2009-02-201-1/+7
| | | | | | * tests/fileName.test: that assumed (not "absolute" => "relative"). This is a false assumption on Windows, where "volumerelative" is another possibility. [Bug 2571597].
* * generic/tclStringObj.c: Factor out common GrowStringBuffer().dgp2009-02-171-2/+2
| | | | | | | | | | | * generic/tclStringObj.c: Convert Tcl_AppendStringsToObj into * tests/stringObj.test: a radically simpler implementation where we just loop over calls to Tcl_AppendToObj. This fixes [Bug 2597185]. It also creates a *** POTENTIAL INCOMPATIBILITY *** in that T_ASTO can now allocate more space than is strictly required, like all the other Tcl_Append* routines. The incompatibility was detected by test stringObj-6.5, which I've updated to reflect the new behavior.
* * generic/tclTestObj.c: Replace the [teststringobj ualloc] testingdgp2009-02-161-3/+3
| | | | | * tests/stringObj.test: command with [teststringobj maxchars] and update the tests.
* * generic/tclStringObj.c: Added protections from invalid memorydgp2009-02-161-1/+35
| | | | | | | * generic/tclTestObj.c: accesses when we append (some part of) * tests/stringObj.test: a Tcl_Obj to itself. Added the appendself and appendself2 subcommands to the [teststringobj] testing command and added tests to the test suite. [Bug 2603158]
* Fix tricky point that meant it was next to impossible to extend [oo::define].dkf2009-02-121-1/+20
|
* Fix [Bug 2568434]dkf2009-02-051-38/+30
|
* * generic/tclInterp.c: Reverted the conversion of [interp] into andgp2009-02-022-18/+21
| | | | | | | | * tests/interp.test: ensemble. Such conversion is not necessary * tests/nre.test: (or even all that helpful) in the NRE-enabling of [interp invokehidden], and it has other implications -- including significant forkage of the 8.5 and 8.6 implementations -- that are better off avoided if there's no gain.
* improved test fixesdgp2009-01-301-13/+7
|
* Fix [Bug 2006888]dkf2009-01-291-46/+45
|
* * generic/tclInterp.c: Convert the [interp] command into adgp2009-01-292-16/+19
| | | | | | * tests/interp.test: [namespace ensemble]. Work in progress * tests/nre.test: to NRE-enable the [interp invokehidden] subcommand.