Tcl Source Code

Check-in [6186ad3f14]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:[Bug 3605120]: Stop test chan-io-28.7 from hanging when run standalone.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 6186ad3f141948b4863feb3df2eb95851887bf27
User & Date: dkf 2013-02-26 13:37:42
Context
2013-02-26
17:48
Remove from tclIO.h structs used only in tclIO.c. check-in: f02d4b5c29 user: dgp tags: trunk
13:37
[Bug 3605120]: Stop test chan-io-28.7 from hanging when run standalone. check-in: 6186ad3f14 user: dkf tags: trunk
10:17
Don't panic if Tcl_ConvertToType is called for a type that doesn't have a setFromAnyProc, create a p... check-in: d6219fccc2 user: jan.nijtmans tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to ChangeLog.






1
2
3
4
5
6
7





2013-02-26  Jan Nijtmans  <[email protected]>

	* generic/tclObj.c: Don't panic if Tcl_ConvertToType is called for a
	type that doesn't have a setFromAnyProc, create a proper error message.

2013-02-25  Donal K. Fellows  <[email protected]>

>
>
>
>
>







1
2
3
4
5
6
7
8
9
10
11
12
2013-02-26  Donal K. Fellows  <[email protected]>

	* tests/chanio.test (chan-io-28.7): [Bug 3605120]: Stop test from
	hanging when run standalone.

2013-02-26  Jan Nijtmans  <[email protected]>

	* generic/tclObj.c: Don't panic if Tcl_ConvertToType is called for a
	type that doesn't have a setFromAnyProc, create a proper error message.

2013-02-25  Donal K. Fellows  <[email protected]>

Changes to tests/chanio.test.

2210
2211
2212
2213
2214
2215
2216

2217


2218
2219

2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237



2238
2239
2240
2241
2242
2243
2244
	flush stdout
	vwait ::sok
	fconfigure $sok -buffering line
	while {[gets $sok line]>=0} {puts $sok $line}
	puts $sok DONE
	exit 0
    } echo.tcl]

} -body {


    set ff [openpipe r $echo]
    gets $ff port

    set s [socket 127.0.0.1 $port]
    puts $s Hey
    close $s w
    set timer [after 1000 [namespace code {set ::done Failed}]]
    set acc {}
    fileevent $s readable [namespace code {
	if {[gets $s line]<0} {
	    set done Succeeded
	} else {
	    lappend acc $line
	}
    }]
    vwait [namespace which -variable done]
    after cancel $timer
    close $s r
    close $ff
    list $done $acc
} -cleanup {



    removeFile echo.tcl
} -result {Succeeded {Hey DONE}}

test chan-io-29.1 {Tcl_WriteChars, channel not writable} -body {
    chan puts stdin hello
} -returnCodes error -result {channel "stdin" wasn't opened for writing}
test chan-io-29.2 {Tcl_WriteChars, empty string} -setup {







>
|
>
>


>



|









<
<
<


>
>
>







2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236



2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
	flush stdout
	vwait ::sok
	fconfigure $sok -buffering line
	while {[gets $sok line]>=0} {puts $sok $line}
	puts $sok DONE
	exit 0
    } echo.tcl]
    variable done
    unset -nocomplain done
    set done ""
    set timer ""
    set ff [openpipe r $echo]
    gets $ff port
} -body {
    set s [socket 127.0.0.1 $port]
    puts $s Hey
    close $s w
    set timer [after 1000 [namespace code {set done Failed}]]
    set acc {}
    fileevent $s readable [namespace code {
	if {[gets $s line]<0} {
	    set done Succeeded
	} else {
	    lappend acc $line
	}
    }]
    vwait [namespace which -variable done]



    list $done $acc
} -cleanup {
    catch {close $s}
    close $ff
    after cancel $timer
    removeFile echo.tcl
} -result {Succeeded {Hey DONE}}

test chan-io-29.1 {Tcl_WriteChars, channel not writable} -body {
    chan puts stdin hello
} -returnCodes error -result {channel "stdin" wasn't opened for writing}
test chan-io-29.2 {Tcl_WriteChars, empty string} -setup {