summaryrefslogtreecommitdiffstats
path: root/tests/parseExpr.test
Commit message (Collapse)AuthorAgeFilesLines
* Shortcut in TclParseNumber(): If obj is a dict or list, don't bother to ↵jan.nijtmans2017-02-081-3/+2
| | | | | | generate the string representation if we know already beforehand that the parsing will fail. Use TCL_NO_DEPRECATED in stead of KILL_OCTAL for removing the (deprecated un-prefixed) octal support. Adapt test-cases, so they work without octal support as well.
* Eliminate exess spacings in many test-casesjan.nijtmans2016-03-101-2/+2
|
* [d2ffcca163] Limit parsing results that are documented to accept only ASCII ↵dgp2014-12-051-0/+9
|\ | | | | | | chars to actually follow that constraint. This requires not trusting isalnum(.) and isalpha(.) to deliver portable identical results.
| * The isalpha(.) calls remaining in the expr parser still bring nonportability.dgp2014-12-041-0/+3
| | | | | | Commit a test that demonstrates that.
| * Same issue in expr parser also tested and fixed.dgp2014-11-261-0/+6
| |
* | Modify the "gettimes" test-command to use the Tcl_Obj API. jan.nijtmans2014-07-161-2/+3
| | | | | | | | New "testbytestring" command which can be used to replace the (to-be-deprecated) "bytestring" command from tcltest and/or the "indentity" encoding. Adapt many testcases to use the "testbytestring" command.
* | For Parse/eval & msgcat, select modernizations from Patrick Fradin + -debug fixdgp2013-01-301-5/+3
|\ \ | |/
| * For Parse/eval, select modernizations from Patrick Fradin.dgp2013-01-301-5/+3
| |
* | No longer build tcltest.exe to run the tests,but use tclsh86.exe in ↵jan.nijtmans2012-07-291-0/+3
| | | | | | | | combination with tcltest86.dll to do that (Windows only)
| |
| \
*-. \ 3401704 Allow function names like influence(), nanobot(), and 99bottles()dgp2011-09-071-0/+66
|\ \ \ | | |/ | | | | | | | | | that have been parsed as missing operator syntax errors before with the form NUMBER + FUNCTION. ***POTENTIAL INCOMPATIBILITY***
| | * remove stray copy/pastedgp2011-09-071-4/+0
| |/
| * Tidiness, comments, and tests.dgp_3401704dgp2011-09-071-0/+61
|/
* 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.
| * * tests/cmdMZ.test: Updated [package require tcltest] lines todgp2003-10-061-2/+2
| | | | | | | | | | | | | | * tests/fileSystem.test: indiciate that these test files * tests/notify.test: use features of tcltest 2. [Bug 706114] * tests/parseExpr.test: * tests/unixNotfy.test:
* | merge stable branch onto HEADdgp2007-12-131-1/+1
| |
* | * generic/tclIOCmd.c: Revise [open] so that it interprets leadingdgp2007-10-151-10/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | zero strings passed as the "permissions" argument as octal numbers, even if Tcl itself no longer parses integers in that way. * unix/tclUnixFCmd.c: Revise the "-permissions" [file attribute] so that it interprets leading zero strings as octal numbers, even if Tcl itself no longer parses integers in that way. * generic/tclCompExpr.c: Corrections to code that produces * generic/tclUtil.c: extended "bad octal" error messages. * tests/cmdAH.test: Test revisions so that tests pass whether or * tests/cmdIL.test: not Tcl parses leading zero strings as octal. * tests/compExpr-old.test: * tests/compExpr.test: * tests/compile.test: * tests/expr-old.test: * tests/expr.test: * tests/incr.test: * tests/io.test: * tests/lindex.test: * tests/link.test: * tests/mathop.test: * tests/parseExpr.test: * tests/set.test: * tests/string.test: * tests/stringComp.test:
* | * tests/parseExpr.test: Update source file name of expr parser code.dgp2007-08-061-3/+3
| | | | | | | | | | | | | | | | | | * generic/tclCompExpr.c: Added a "mark" field to the OpNode struct, which is used to guide tree traversal. This field costs nothing since alignement requirements used the memory already. Rewrote ConvertTreeToTokens() to use the new field, which permitted consolidation of utility routines CopyTokens() and GenerateTokensForLiteral().
* | * generic/tclCompExpr.c: More commentary.dgp2007-07-161-1/+92
| | | | | | | | | | | | * tests/parseExpr.test: Several tests of syntax error messages to check that when expression substrings are truncated they leave visible the context relevant to the reported error.
* | * generic/tclParseExpr.c: Minimal collection of new testsdgp2006-08-231-1/+178
| | | | | | | | | | | | * tests/parseExpr.test: testing the error messages of the new expr parser. Several bug fixes and code simplifications that appeared during that effort.
* | * tests/compExpr-old.test: Update existing tests to not faildgp2006-08-221-246/+211
| | | | | | | | | | | | | | | | | | | | | | * tests/compExpr.test: with the new expr parser. * tests/compile.test: * tests/expr-old.test: * tests/expr.test: * tests/for.test: * tests/if.test: * tests/parseExpr.test: * tests/while.test:
* | * tests/compExpr-old.test: add 'oldExprParser' constraint to all testsdas2006-08-021-49/+53
| | | | | | | | | | | | | | | | | | | | | | * tests/compExpr.test: that depend on the exact format of the error * tests/compile.test: messages of the pre-2006-07-05 expression * tests/expr-old.test: parser. The constraint is on by default (i.e. * tests/expr.test: those test still fail), but it can be turned * tests/for.test: off by passing '-constraints newExprParser' * tests/if.test: to tcltest, which will skip the 196 failing * tests/parseExpr.test: tests in the testsuite that are caused by * tests/while.test: the new expression parser error messages.
* | * generic/tclParseExpr.c: Completely new expression parserdgp2006-07-051-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | that builds a parse tree instead of operating with deep recursion. This corrects reports of stack-blowing crashes parsing long expressions [Bug 906201] and replaces a fundamentally O(N^2) algorithm with an O(N) one [RFE 903765]. The new parser is better able to generate error messages that clearly report both the nature and context of the syntax error [Bugs 1029267, 1381715]. For now, the code for the old parser is still present and can be activated with a "#define OLD_EXPR_PARSER 1". This is for the sake of a clean implementation patch, and for ease of benchmarking. The new parser is non-recursive, so much lighter in stack consumption, but it does use more heap, so there may be cases where parsing of long expressions that succeeded with the old parser will lead to out of memory panics with the new one. There are still more improvements possible on that point, though significant progress may require changes to the Tcl_Token specifications documented for the public Tcl_Parse*() routines. ***POTENTIAL INCOMPATIBILITY*** for any callers that rely on the exact (usually terrible) error messages generated by the old parser. This includes a large number of tests in the test suite. * generic/tclInt.h: Replaced TclParseWhiteSpace() with * generic/tclParse.c: TclParseAllWhiteSpace() which is what * generic/tclParseExpr.c: all the callers really needed. Breaking whitespace runs at newlines is useful only to the command parsing function, and it can call the file scoped routine ParseWhiteSpace() to do that. * tests/expr-old.test: Removed knownBug constraints that masked * tests/expr.test: failures due to revised error messages. * tests/parseExpr.test:
* | typodgp2006-03-211-2/+2
| |
* | Committed test cases for Bug 1451233dgp2006-03-211-1/+11
| |
* | Added knownBug constraints.dgp2006-03-211-2/+2
| |
* | Use test constraints properly instead of looking in tcl_platformdkf2006-03-211-2/+2
| | | | | | | | | | Consistent method of calling test constraints, and (try to) move constraint setup to the top of the test file
* | * tests/compile.test: Updated tests with changed behaviordgp2005-11-091-2/+2
| | | | | | | | | | | | | | | | | | * tests/execute.test: due to addition of bignums. * tests/expr-old.test: * tests/expr.test: * tests/parseExpr.test: * tests/platform.test: * tests/string.test:
* | Marked several failing tests as "knownBug" until they can be updated.dgp2005-10-211-2/+2
| |
* | * tests/compExpr-old.test: Still more conversion of "nonPortable"dgp2005-07-281-26/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | * tests/error.test: tests into tests with constraints that * tests/expr-old.test: describe the limits of their * tests/expr.test: portability. Also more consolidation * tests/fileName.test: of constraint synonyms. * tests/format.test: wideis64bit, 64bitInts => wideIs64bit * tests/get.test: wideIntegerUnparsed => wideIs32bit * tests/load.test: wideIntExpressions => wideBiggerThanInt * tests/obj.test: * tests/parseExpr.test: Dropped "roundOffBug" constraint that * tests/string.test: protected from buggy sprintf.
* | Merged kennykb-numerics-branch back to the head; TIPs 132 and 232Kevin B Kenny2005-05-101-80/+193
| |
* | Standardize some use of test constraints onto names that are documenteddkf2004-06-231-3/+3
| |
* | Massive test cleanup; all tests are run, and constraints are used where ↵dkf2004-05-191-206/+201
| | | | | | | | necessary.
* | * tests/reg.test: Corrected duplicate test names.dgp2003-10-061-2/+2
|/ | | | | | | | | | | | | * tests/resource.test: [Bugs 710370, 710358] * tests/dict.test: * tests/dict.test: Updated [package require tcltest] lines to * tests/fileSystem.test: indiciate that these test files * tests/lrepeat.test: use features of tcltest 2. [Bug 706114] * tests/notify.test: * tests/parseExpr.test: * tests/unixNotfy.test: * tests/winDde.test:
* Don Porter's fix for bad parsing of nested scripts [Bug 681841].Miguel Sofer2003-02-161-1/+5
|
* * generic/tclParseExpr.c (TclParseInteger): Return 1 for thedgp2002-12-111-1/+8
| | | | | string "0x" (recognize leading "0" as an integer). [Bug 648441]. * tests/parseExpr.test (parseExpr-19.1): Test for Bug 648441.
* * doc/CmdCmplt.3: Applied Patch 585105 to fully CONST-ifydgp2002-08-051-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/Concat.3: all remaining public interfaces of Tcl. * doc/CrtCommand.3: Notably, the parser no longer writes on * doc/CrtSlave.3: the string it is parsing, so it is no * doc/CrtTrace.3: longer necessary for Tcl_Eval() to be * doc/Eval.3: given a writable string. Also, the * doc/ExprLong.3: refactoring of the Tcl_*Var* routines * doc/LinkVar.3: by Miguel Sofer is included, so that the * doc/ParseCmd.3: "part1" argument for them no longer needs * doc/SetVar.3: to be writable either. * doc/TraceVar.3: * doc/UpVar.3: Compatibility support has been enhanced so * generic/tcl.decls that a #define of USE_NON_CONST will remove * generic/tcl.h all possible source incompatibilities with * generic/tclBasic.c the 8.3 version of the header file(s). * generic/tclCmdMZ.c The new #define of USE_COMPAT_CONST now does * generic/tclCompCmds.c what USE_NON_CONST used to do -- disable * generic/tclCompExpr.c only those new CONST's that introduce * generic/tclCompile.c irreconcilable incompatibilities. * generic/tclCompile.h * generic/tclDecls.h Several bugs are also fixed by this patch. * generic/tclEnv.c [Bugs 584051,580433] [Patches 585105,582429] * generic/tclEvent.c * generic/tclInt.decls * generic/tclInt.h * generic/tclIntDecls.h * generic/tclInterp.c * generic/tclLink.c * generic/tclObj.c * generic/tclParse.c * generic/tclParseExpr.c * generic/tclProc.c * generic/tclTest.c * generic/tclUtf.c * generic/tclUtil.c * generic/tclVar.c * mac/tclMacTest.c * tests/expr-old.test * tests/parseExpr.test * unix/tclUnixTest.c * unix/tclXtTest.c * win/tclWinTest.c
* More expr syntax error improvementsdkf2001-12-061-31/+31
|
* Improved messages produced on getting a syntax error in an expressiondkf2001-12-041-201/+203
|
* * tests/*.test: Changed all occurances of "namespace importericm2000-04-101-2/+2
| | | | ::tcltest" to "namespace import -force ::tcltest" [Bug: 3948].
* * tests/env.test: removed knownBug limitation from working testhobbs1999-12-041-2/+2
| | | | | | | | | | | | | | | | | | * tests/all.tcl: ensured that ::tcltest::testsDirectory would be set to an absolute path * tests/expr-old.test: * tests/parseExpr.test: * tests/string.test: * generic/tclGet.c: * generic/tclInt.h: * generic/tclObj.c: * generic/tclParseExpr.c: * generic/tclUtil.c: * generic/tclExecute.c: added TclCheckBadOctal routine to enhance error message checking for when users use invalid octal numbers (like 08), as well as replumbed the Expr*Funcs with a new VerifyExprObjType to simplify type handling.
* Modified the tests to use the package tcltestjenn1999-06-261-2/+3
|
* merged tcl 8.1 branch back into the main trunkstanton1999-04-161-0/+637