summaryrefslogtreecommitdiffstats
path: root/library/tcltest
diff options
context:
space:
mode:
Diffstat (limited to 'library/tcltest')
-rw-r--r--library/tcltest/tcltest.tcl18
1 files changed, 18 insertions, 0 deletions
diff --git a/library/tcltest/tcltest.tcl b/library/tcltest/tcltest.tcl
index 7dc75d7..aebc6e5 100644
--- a/library/tcltest/tcltest.tcl
+++ b/library/tcltest/tcltest.tcl
@@ -399,6 +399,9 @@ namespace eval tcltest {
}
default {
set outputChannel [open $filename a]
+ if {[package vsatisfies [package provide Tcl] 8.7-]} {
+ fconfigure $outputChannel -encoding utf-8
+ }
set ChannelsWeOpened($outputChannel) 1
# If we created the file in [temporaryDirectory], then
@@ -443,6 +446,9 @@ namespace eval tcltest {
}
default {
set errorChannel [open $filename a]
+ if {[package vsatisfies [package provide Tcl] 8.7-]} {
+ fconfigure $errorChannel -encoding utf-8
+ }
set ChannelsWeOpened($errorChannel) 1
# If we created the file in [temporaryDirectory], then
@@ -785,6 +791,9 @@ namespace eval tcltest {
variable Option
if {$Option(-loadfile) eq {}} {return}
set tmp [open $Option(-loadfile) r]
+ if {[package vsatisfies [package provide Tcl] 8.7-]} {
+ fconfigure $tmp -encoding utf-8
+ }
loadScript [read $tmp]
close $tmp
}
@@ -1330,6 +1339,9 @@ proc tcltest::DefineConstraintInitializers {} {
ConstraintInitializer stdio {
set code 0
if {![catch {set f [open "|[list [interpreter]]" w]}]} {
+ if {[package vsatisfies [package provide Tcl] 8.7-]} {
+ fconfigure $f -encoding utf-8
+ }
if {![catch {puts $f exit}]} {
if {![catch {close $f}]} {
set code 1
@@ -2177,6 +2189,9 @@ proc tcltest::test {name description args} {
set testFile [file normalize [uplevel 1 {info script}]]
if {[file readable $testFile]} {
set testFd [open $testFile r]
+ if {[package vsatisfies [package provide Tcl] 8.7-]} {
+ fconfigure $testFd -encoding utf-8
+ }
set testLine [expr {[lsearch -regexp \
[split [read $testFd] "\n"] \
"^\[ \t\]*test [string map {. \\.} $name] "] + 1}]
@@ -2885,6 +2900,9 @@ proc tcltest::runAllTests { {shell ""} } {
if {[catch {
incr numTestFiles
set pipeFd [open $cmd "r"]
+ if {[package vsatisfies [package provide Tcl] 8.7-]} {
+ fconfigure $pipeFd -encoding utf-8
+ }
while {[gets $pipeFd line] >= 0} {
if {[regexp [join {
{^([^:]+):\t}