diff options
author | dgp <dgp@users.sourceforge.net> | 2014-07-15 13:18:33 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2014-07-15 13:18:33 (GMT) |
commit | 64c066f9bb2daa64cc0cf366d0c0812a828d2d61 (patch) | |
tree | 934228bab58b4be058c64ed75ac9363292cc7474 /tests/stringComp.test | |
parent | 773c4c75ee2ec9d60766f09ced30a5fef6d812c6 (diff) | |
parent | 74d71bafde63ca49cecadc990df7b3a2d7797849 (diff) | |
download | tcl-64c066f9bb2daa64cc0cf366d0c0812a828d2d61.zip tcl-64c066f9bb2daa64cc0cf366d0c0812a828d2d61.tar.gz tcl-64c066f9bb2daa64cc0cf366d0c0812a828d2d61.tar.bz2 |
merge trunkdgp_pkg_migration
Diffstat (limited to 'tests/stringComp.test')
-rw-r--r-- | tests/stringComp.test | 34 |
1 files changed, 33 insertions, 1 deletions
diff --git a/tests/stringComp.test b/tests/stringComp.test index 9e00ce7..165ef20 100644 --- a/tests/stringComp.test +++ b/tests/stringComp.test @@ -26,6 +26,22 @@ catch [list package require -exact Tcltest [info patchlevel]] # Some tests require the testobj command testConstraint testobj [expr {[info commands testobj] != {}}] +testConstraint memory [llength [info commands memory]] +if {[testConstraint memory]} { + proc getbytes {} { + set lines [split [memory info] \n] + return [lindex $lines 3 3] + } + proc leaktest {script {iterations 3}} { + set end [getbytes] + for {set i 0} {$i < $iterations} {incr i} { + uplevel 1 $script + set tmp $end + set end [getbytes] + } + return [expr {$end - $tmp}] + } +} test stringComp-1.1 {error conditions} { proc foo {} {string gorp a b} @@ -687,7 +703,23 @@ test stringComp-12.1 {Bug 3588366: end-offsets before start} { ## not yet bc ## string replace -## not yet bc +test stringComp-14.1 {Bug 82e7f67325} { + apply {x { + set a [join $x {}] + lappend b [string length [string replace ___! 0 2 $a]] + lappend b [string length [string replace ___! 0 2 $a[unset a]]] + }} {a b} +} {3 3} +test stringComp-14.2 {Bug 82e7f67325} memory { + # As in stringComp-14.1, but make sure we don't retain too many refs + leaktest { + apply {x { + set a [join $x {}] + lappend b [string length [string replace ___! 0 2 $a]] + lappend b [string length [string replace ___! 0 2 $a[unset a]]] + }} {a b} + } +} {0} ## string tolower ## not yet bc |