diff options
| author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2025-06-04 10:21:51 (GMT) |
|---|---|---|
| committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2025-06-04 10:21:51 (GMT) |
| commit | b4f22927e555a8c0dc21b835dba42e3e6193156b (patch) | |
| tree | 59fe44e400e15b3860051dd52901f78d936a63fe | |
| parent | 1978e5ad548683dcd5211df12203e5a4701c018d (diff) | |
| download | tcl-b4f22927e555a8c0dc21b835dba42e3e6193156b.zip tcl-b4f22927e555a8c0dc21b835dba42e3e6193156b.tar.gz tcl-b4f22927e555a8c0dc21b835dba42e3e6193156b.tar.bz2 | |
fix leak in lseq.test
| -rw-r--r-- | library/init.tcl | 6 | ||||
| -rw-r--r-- | tests/encoding.test | 8 | ||||
| -rw-r--r-- | tests/lseq.test | 1 | ||||
| -rw-r--r-- | tests/tcltests.tcl | 36 | ||||
| -rw-r--r-- | tests/utfext.test | 54 |
5 files changed, 53 insertions, 52 deletions
diff --git a/library/init.tcl b/library/init.tcl index d691baf..5876a29 100644 --- a/library/init.tcl +++ b/library/init.tcl @@ -591,9 +591,9 @@ proc auto_execok name { set auto_execs($name) "" set shellBuiltins [list assoc call cd cls color copy date del dir echo \ - erase exit ftype for if md mkdir mklink move path \ - pause prompt rd ren rename rmdir set start time \ - title type ver vol] + erase exit ftype for if md mkdir mklink move path \ + pause prompt rd ren rename rmdir set start time \ + title type ver vol] if {[info exists env(PATHEXT)]} { # Add an initial ; to have the {} extension check first. set execExtensions [split ";$env(PATHEXT)" ";"] diff --git a/tests/encoding.test b/tests/encoding.test index dfc8dfb..9712073 100644 --- a/tests/encoding.test +++ b/tests/encoding.test @@ -1170,10 +1170,10 @@ test encoding-31.1 {encoding system does not change encoding user} -setup { test encoding-31.2 {encoding system on newer Windows always returns utf-8} -body { string equal [encoding system] \ - [expr { - [tcltests::windowsbuildnumber] > 18362 ? - "utf-8" : [tcltests::windowscodepage] - }] + [expr { + [tcltests::windowsbuildnumber] > 18362 ? + "utf-8" : [tcltests::windowscodepage] + }] } -constraints win -result 1 test encoding-bug-6a3e2cb0f0-1 {Bug [6a3e2cb0f0] - invalid bytes in escape encodings} -body { diff --git a/tests/lseq.test b/tests/lseq.test index 24ccfc8..c3adeb7 100644 --- a/tests/lseq.test +++ b/tests/lseq.test @@ -26,6 +26,7 @@ proc memusage {} { if {[llength $line] != 7} { error "Unexpected /proc/pid/statm format" } + close $fd return [lindex $line 5] } testConstraint hasMemUsage [expr {![catch {memusage}]}] diff --git a/tests/tcltests.tcl b/tests/tcltests.tcl index 73080f0..ccb77c3 100644 --- a/tests/tcltests.tcl +++ b/tests/tcltests.tcl @@ -117,24 +117,24 @@ namespace eval ::tcltests { {*}$args } - # Return Windows version as FULLVERSION MAJOR MINOR BUILD REVISION - if {$::tcl_platform(platform) eq "windows"} { - proc windowsversion {} { - set ver [regexp -inline {(\d+).(\d+).(\d+).(\d+)} [exec {*}[auto_execok ver]]] - proc windowsversion {} [list return $ver] - return [windowsversion] - } - proc windowsbuildnumber {} { - return [lindex [windowsversion] 3] - } - proc windowscodepage {} { - # Note we cannot use result of chcp because that returns OEM code page. - package require registry - set cp [registry get HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Nls\\CodePage ACP] - proc windowscodepage {} "return cp$cp" - return [windowscodepage] - } - } + # Return Windows version as FULLVERSION MAJOR MINOR BUILD REVISION + if {$::tcl_platform(platform) eq "windows"} { + proc windowsversion {} { + set ver [regexp -inline {(\d+).(\d+).(\d+).(\d+)} [exec {*}[auto_execok ver]]] + proc windowsversion {} [list return $ver] + return [windowsversion] + } + proc windowsbuildnumber {} { + return [lindex [windowsversion] 3] + } + proc windowscodepage {} { + # Note we cannot use result of chcp because that returns OEM code page. + package require registry + set cp [registry get HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Nls\\CodePage ACP] + proc windowscodepage {} "return cp$cp" + return [windowscodepage] + } + } } init diff --git a/tests/utfext.test b/tests/utfext.test index bfbb2db..20ca2c4 100644 --- a/tests/utfext.test +++ b/tests/utfext.test @@ -196,15 +196,15 @@ namespace eval utftest { [expr {$frag1Written+$frag2Written}] $decoded } -result [list $status1 1 ok [string length $in] [string length $out] $out] - if {$direction eq "toutf"} { - # Fragmentation but with no more data. - # Only check status. Content output is already checked in above test. - test $cmd-$enc-$id-1 "$cmd - $enc - $hexin - frag=$fragindex - no more data" -constraints testencoding -body { - set frag1Result [testencoding $cmd $enc [string range $in 0 $fragindex-1] {start end} 0 $dstlen frag1Read frag1Written] - lassign $frag1Result frag1Status frag1State frag1Decoded - set frag1Status - } -result syntax - } + if {$direction eq "toutf"} { + # Fragmentation but with no more data. + # Only check status. Content output is already checked in above test. + test $cmd-$enc-$id-1 "$cmd - $enc - $hexin - frag=$fragindex - no more data" -constraints testencoding -body { + set frag1Result [testencoding $cmd $enc [string range $in 0 $fragindex-1] {start end} 0 $dstlen frag1Read frag1Written] + lassign $frag1Result frag1Status frag1State frag1Decoded + set frag1Status + } -result syntax + } } proc testcharlimit {direction enc comment hexin hexout} { @@ -332,45 +332,45 @@ namespace eval utftest { } -result [list [list multibyte 0 \xEF\xBC\x90\xEF\xBC\x91\x00\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF] 4 6 2 [list ok 0 \xC2\x82\x00\xFF\xFF\xFF\xFF\xFF\xFF\xFF] 1 2 1] -constraints testencoding test Tcl_ExternalToUtf-bug-7346adc50f-strict-0 { - truncated input in escape encoding (strict) + truncated input in escape encoding (strict) } -body { - set src [binary decode hex 1b2442242a3b6e24] - list {*}[testencoding Tcl_ExternalToUtf iso2022-jp $src {start end strict} 0 16 srcRead dstWritten charsWritten] $srcRead $dstWritten $charsWritten + set src [binary decode hex 1b2442242a3b6e24] + list {*}[testencoding Tcl_ExternalToUtf iso2022-jp $src {start end strict} 0 16 srcRead dstWritten charsWritten] $srcRead $dstWritten $charsWritten } -result [list syntax 2 [binary decode hex e3818ae8a9a600ffffffffffffffffff] 7 6 2] test Tcl_ExternalToUtf-bug-7346adc50f-strict-1 { - truncated input in escape encoding (strict, partial) + truncated input in escape encoding (strict, partial) } -body { - set src [binary decode hex 1b2442242a3b6e24] - list {*}[testencoding Tcl_ExternalToUtf iso2022-jp $src {start strict} 0 16 srcRead dstWritten charsWritten] $srcRead $dstWritten $charsWritten + set src [binary decode hex 1b2442242a3b6e24] + list {*}[testencoding Tcl_ExternalToUtf iso2022-jp $src {start strict} 0 16 srcRead dstWritten charsWritten] $srcRead $dstWritten $charsWritten } -result [list multibyte 2 [binary decode hex e3818ae8a9a600ffffffffffffffffff] 7 6 2] test Tcl_ExternalToUtf-bug-7346adc50f-replace-0 { - truncated input in escape encoding (replace) + truncated input in escape encoding (replace) } -body { - set src [binary decode hex 1b2442242a3b6e24] - list {*}[testencoding Tcl_ExternalToUtf iso2022-jp $src {start end replace} 0 16 srcRead dstWritten charsWritten] $srcRead $dstWritten $charsWritten + set src [binary decode hex 1b2442242a3b6e24] + list {*}[testencoding Tcl_ExternalToUtf iso2022-jp $src {start end replace} 0 16 srcRead dstWritten charsWritten] $srcRead $dstWritten $charsWritten } -result [list ok 2 [binary decode hex e3818ae8a9a6efbfbd00ffffffffffff] 8 9 3] test Tcl_ExternalToUtf-bug-7346adc50f-replace-1 { - truncated input in escape encoding (replace, partial) + truncated input in escape encoding (replace, partial) } -body { - set src [binary decode hex 1b2442242a3b6e24] - list {*}[testencoding Tcl_ExternalToUtf iso2022-jp $src {start replace} 0 16 srcRead dstWritten charsWritten] $srcRead $dstWritten $charsWritten + set src [binary decode hex 1b2442242a3b6e24] + list {*}[testencoding Tcl_ExternalToUtf iso2022-jp $src {start replace} 0 16 srcRead dstWritten charsWritten] $srcRead $dstWritten $charsWritten } -result [list multibyte 2 [binary decode hex e3818ae8a9a600ffffffffffffffffff] 7 6 2] test Tcl_ExternalToUtf-bug-7346adc50f-tcl8-0 { - truncated input in escape encoding (tcl8) + truncated input in escape encoding (tcl8) } -body { - set src [binary decode hex 1b2442242a3b6e24] - list {*}[testencoding Tcl_ExternalToUtf iso2022-jp $src {start end tcl8} 0 16 srcRead dstWritten charsWritten] $srcRead $dstWritten $charsWritten + set src [binary decode hex 1b2442242a3b6e24] + list {*}[testencoding Tcl_ExternalToUtf iso2022-jp $src {start end tcl8} 0 16 srcRead dstWritten charsWritten] $srcRead $dstWritten $charsWritten } -result [list ok 2 [binary decode hex e3818ae8a9a6efbfbd00ffffffffffff] 8 9 3] test Tcl_ExternalToUtf-bug-7346adc50f-tcl8-1 { - truncated input in escape encoding (tcl8, partial) + truncated input in escape encoding (tcl8, partial) } -body { - set src [binary decode hex 1b2442242a3b6e24] - list {*}[testencoding Tcl_ExternalToUtf iso2022-jp $src {start tcl8} 0 16 srcRead dstWritten charsWritten] $srcRead $dstWritten $charsWritten + set src [binary decode hex 1b2442242a3b6e24] + list {*}[testencoding Tcl_ExternalToUtf iso2022-jp $src {start tcl8} 0 16 srcRead dstWritten charsWritten] $srcRead $dstWritten $charsWritten } -result [list multibyte 2 [binary decode hex e3818ae8a9a600ffffffffffffffffff] 7 6 2] } |
