
Tk 8.0b2 test results for Solaris 2.4/SPARC/Sun compiler
Well, it appears that only two tests fail with the latest beta release
of Tk:
==== grid-14.3 map notify
==== Contents of test case:
global A
catch {unset A}
bind . <Configure> {incr A(%W)}
set A(.) 0
foreach i {0 1 2} {
frame .$i -width 100 -height 75
set A(.$i) 0
}
grid .0 .1 .2
update
bind <Configure> .1 {destroy .0}
.2 configure -bd 10
update
bind . <Configure> {}
array get A
==== Result was:
.2 2 .0 1 . 2 .1 1
---- Result should have been:
.2 2 .0 1 . 1 .1 1
---- grid-14.3 FAILED
and then later
==== unixWm-42.2 ConfigureEvent procedure, menubars
==== Contents of test case:
catch {destroy .t}
toplevel .t -width 300 -height 200 -bd 2 -relief raised
wm geom .t +0+0
update
set x [winfo rootx .t]
set y [winfo rooty .t]
frame .t.m -bd 2 -relief raised -height 20
testmenubar window .t .t.m
update
set result {}
bind .t <Configure> {
if {"%W" == ".t"} {
lappend result "%W: %wx%h"
}
}
bind .t.m <Configure> {lappend result "%W: %wx%h"}
wm geometry .t 200x300
update
lappend result [expr [winfo rootx .t.m] - $x] [expr [winfo rooty .t.m] - $y] [winfo width .t.m] [winfo height .t.m] [expr [winfo rootx .t] - $x] [expr [winfo rooty .t] - $y] [winfo width .t] [winfo height .t]
==== Result was:
{.t.m: 200x20} {.t: 200x300} {.t: 200x300} 0 0 200 20 0 20 200 300
---- Result should have been:
{.t.m: 200x20} {.t: 200x300} 0 0 200 20 0 20 200 300
---- unixWm-42.2 FAILED
I reran the tcl tests after killing an ancient hung tcltest process and
still get the failure in the socket test. However, perhaps having killed
the socket, something else needs to be done to 'free' the socket?
This was the test:
event.test
==== event-11.5 Tcl_VwaitCmd procedure: round robin scheduling, 2 sources
==== Contents of test case:
set f1 [open test1 w]
proc accept {s args} {
puts $s foobar
close $s
}
set s1 [socket -server accept 5000]
set s2 [socket 127.0.0.1 5000]
close $s1
set x 0
set y 0
set z 0
fileevent $s2 readable { incr z }
vwait z
fileevent $f1 writable { incr x; if { $y == 3 } { set z done } }
fileevent $s2 readable { incr y; if { $x == 3 } { set z done } }
vwait z
close $f1
close $s2
file delete test1 test2
list $x $y $z
==== Test generated error:
couldn't open socket: address already in use
If anyone knows what I would need to do to mark the socket being used
as available for reuse after the process dies, drop me a private email.
--
<URL: http://www.*-*-*.com/ %7Elvirden/> <*> O- "We are all Kosh."
Unless explicitly stated to the contrary, nothing in this posting should
be construed as representing my employer's opinions.