summaryrefslogtreecommitdiffstats
path: root/tests/expr.test
Commit message (Collapse)AuthorAgeFilesLines
* Burn the octal bridges. We're not goin' back.dgp2012-11-161-23/+23
|
* Remove pre-8.5 interface for custom expr functions.dgp2012-11-161-40/+0
|
* 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)
* 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 [Bug 2954959] expr abs(-0.0) is -0.0nijtmans2010-02-221-2/+19
| | | | | | | | | | | | Added some test cases, adapted and backported from 8.5
| | * * tests/expr.test: Nan self-inquality test silenced. [Bug 761471]dgp2006-03-231-2/+2
| | |
| | * * tests/expr.test: Portable tests expr-46.13-18 [Bug 1341368]dgp2005-11-081-25/+13
| | |
| | * * tests/expr.test: Fix problems in new round()mdejong2005-10-291-25/+29
| | | | | | | | | | | | | | | tests that lead to correct result only on 32 bit long systems. [Bug 1341368]
| | * * generic/tclExecute.c (ExprRoundFunc):mdejong2005-10-281-1/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix typo where number before rounding is compared with smallest integer instead of number after rounding. This fix does not change the results of any tests. * tests/expr.test: Add round() tests for cases near the min and max int values. * tests/util.test: Remove pointless warning code about testobj command.
| | * renumber expr-39.* to expr-46.*Kevin B Kenny2005-08-291-13/+13
| | |
| | * fix test case numberingKevin B Kenny2005-08-291-2/+2
| | |
| | * Bug 1275043Kevin B Kenny2005-08-291-1/+72
| | |
| | * fix abs(MIN_INT) [Bug 1241572]Kevin B Kenny2005-08-051-1/+7
| | |
| | * Final fix for NaN != NaN bug. Thanks to Miguel Sofer for his improved patch.dkf2004-11-021-1/+6
| | | | | | | | | | | | [Bug 761471]
| | * Some tests were non-portable, alas.dkf2004-09-191-2/+2
| | |
| | * Make sure large shifts shift for real. [Bug 868467]dkf2004-09-181-1/+12
| | |
| | * More elimination of dup test numbers [Bugs 710365, 710369]dkf2003-03-271-3/+3
| | |
| * | Fix [Bug 2954959] expr abs(0.0) is -0.0nijtmans2010-02-211-1/+19
| | | | | | | | | | | | and added test cases for it.
| * | * tests/expr.test: Added many tests demonstrating the brokendgp2009-06-011-1/+326
| | | | | | | | | | | | cases of [Bug 2798543].
| * | Fix [Bug 2006879]dkf2009-01-061-2/+5
| | |
| * | * libtommath/bn_mp_sqrt.c (bn_mp_sqrt): Handle the case whereKevin B Kenny2008-10-051-1/+22
| | | | | | | | | | | | | | | | | | | | | * tests/expr.test (expr-47.13): a number's square root is between n<<DIGIT_BIT and n<<DIGIT_BIT+1. [Bug 2143288] Thanks to Malcolm Boffey (malcolm.boffey@virgin.net) for the patch.
* | | Coverage test for portion of ExprSqrtFunc()dgp2010-10-261-1/+5
| | |
* | | Follow-up to Fix [Bug 2954959] expr abs(0.0) is -0.0nijtmans2010-02-211-1/+13
| | | | | | | | | | | | | | | | | | Some more tests, showing that the LONG implementation was not quite correct too, and a fix for that. Some more internal "const" additions
* | | Fix [Bug 2954959] expr abs(0.0) is -0.0nijtmans2010-02-211-1/+7
| | | | | | | | | | | | and added test cases for it.
* | | TIP #353 IMPLEMENTATIONdgp2009-08-121-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/NRE.3: New public routine Tcl_NRExprObj() permits * generic/tcl.decls: extension commands to evaluate Tcl expressions * generic/tclBasic.c: in NR-enabled command procedures. * generic/tclCmdAH.c: * generic/tclExecute.c: * generic/tclInt.h: * generic/tclObj.c: * tests/expr.test: * generic/tclDecls.h: make genstubs * generic/tclStubInit.c:
* | | * tests/expr.test: Added many tests demonstrating the brokendgp2009-06-011-1/+326
| | | | | | | | | | | | cases of [Bug 2798543].
* | | Fix [Bug 2006879]dkf2009-01-061-2/+2
| | |
* | | * libtommath/bn_mp_sqrt.c (bn_mp_sqrt): Handle the case whereKevin B Kenny2008-10-051-1/+22
|/ / | | | | | | | | | | | | * tests/expr.test (expr-47.13): a number's square root is between n<<DIGIT_BIT and n<<DIGIT_BIT+1. [Bug 2143288] Thanks to Malcolm Boffey (malcolm.boffey@virgin.net) for the patch.
* | * generic/tclBasic.c (ExprAbsFunc): Revised so that the abs()dgp2008-03-101-1/+19
| | | | | | | | | | | | * tests/expr.test: function and the [::tcl::mathfunc::abs] command do not return the value of -0, or equivalent values with more alarming string reps like -1e-350. [Bug 1893815].
* | merge stable branch onto HEADdgp2007-12-131-1/+1
| |
* | * generic/tclIOCmd.c: Revise [open] so that it interprets leadingdgp2007-10-151-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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:
* | * generic/tclExecute.c (TclExecuteByteCode): Added code to handleKevin B Kenny2007-08-251-2/+122
| | | | | | | | | | | | | | * tests/expr.test (expr-23.48-53) integer exponentiation that results in 32- and 64-bit integer results, avoiding calls to wide integer exponentiation routines in this common case. [Bug 1767293]
* | * generic/tclExecute.c: Corrected improper use of bignum argumentsdgp2007-08-081-1/+5
| | | | | | | | * tests/expr.test: to *SHIFT operations. [Bug 1770224].
* | Improved error reporting in test expr-47.12Kevin B Kenny2006-12-061-8/+18
| |
* | TIP#299 IMPLEMENTATIONKevin B Kenny2006-12-011-1/+92
| |
* | TIP#274 IMPLEMENTATIONdgp2006-11-051-1/+4
| | | | | | | | | | * generic/tclParseExpr.c: Exponentiation operator is now * tests/expr.test: right associative. [Patch 1556802]
* | * generic/tclExecute.c (INST_MOD): Corrected improper testing ofdgp2006-10-301-1/+14
| | | | | | | | | | * tests/expr.test: the sign of bignums when applying Tcl's division rules. Thanks to Peter Spjuth. [Bug 1585704]
* | * tests/*.test: updated all tests to refer explicitly to thetip_278_20061009Miguel Sofer2006-10-091-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Corrected error in INST_LSHIFT in thedgp2006-09-281-1/+3
| | | | | | | | | | | | | | | | * tests/expr.test: calculation done to determine whether a shift in the (long int) type is possible. The calculation had literal value "1" where it needed a value "1L" to compute the correct result. Error detected via testing with the math::bigfloat package [Bug 1567222]
* | * generic/tclExecute.c (INST_EXPON): Native type overflow detectiondgp2006-09-191-1/+7
| | | | | | | | | | | | | | * tests/expr.test: was completely broken. Falling back on use of bignums for all non-trivial ** calculations until native-type-constrained special cases can be done carefully and correctly. [Bug 1561260].
* | * generic/tclExecute.c: Corrected INST_EXPON flaw that treateddgp2006-09-111-4/+5
| | | | | | | | * tests/expr.test: $x**1 as $x**3. [Bug 1555371]
* | * tests/expr-old.test: The remaining failing tests reported indgp2006-08-311-2/+2
| | | | | | | | | | | | * tests/expr.test: [Bug 1381715] are all new in Tcl 8.5, so there's really no issue of compatibility with Tcl 8.4 result to deal with. Fixed by updating tests to expect 8.5 results.
* | * tests/compExpr-old.test: Update existing tests to not faildgp2006-08-221-248/+177
| | | | | | | | | | | | | | | | | | | | | | * 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-61/+65
| | | | | | | | | | | | | | | | | | | | | | * 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/tclExecute.c: Corrected flawed overflow detection indgp2006-07-261-1/+5
| | | | | | | | | | * tests/expr.test: INST_EXPON that caused [expr 2**64] to return 0 instead of the same value as [expr 1<<64].
* | * 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:
* | * tests/compExpr-old.test: Updated testmathfunctions constraintdgp2006-04-061-2/+2
| | | | | | | | | | | | | | | | | | | | * tests/compExpr.test: to post-TIP-232 world. * tests/expr-old.test: * tests/expr.test: * tests/info.test: * tests/indexObj.test: Corrected other test errors revealed by * tests/upvar.test: testing outside the tcltest application.
* | * generic/tclExecute.c: Corrections to INST_EXPON detection ofdgp2006-03-251-1/+2
| | | | | | | | overflow to use mp_int calculations.