Version 38 of rmax-ipv6-branch

Updated 2010-03-30 21:35:07 by kbk

Testing the upcoming IPv6 support for Tcl

This page collects test results from the CVS branch that adds IPv6 support to Tcl.

To help with the testing, pull the rmax-ipv6-branch from Tcl's CVS (details here ) and run the usual configure/make/make test sequence on it.

Please update the table to reflect the current state of testing.

Test Results

DateOS/Version$tcl_platform(machine)TesterComment
2010-03-26NetBSD 5.1 snapshotx86_64rmaxOK
2010-03-26NetBSD 5.02i386bchOK
2010-03-27NetBSD 5.99.24 (-current)i386EGOK
2010-03-26openSUSE 11.2x86_64rmaxOK
2010-03-29SuSE Linux 9.0i686akOK
2010-03-29RedHat Linux FC4x86_64akOK
2010-03-26OpenSolaris 2009.6x86_64rmaxOK
2010-03-29Solaris 2.8 (gcc)sun4uakOK
2010-03-29Solaris 2.8 (sun cc)sun4uakOK
2010-03-29Solaris 2.10 (gcc)i86pcakOK
2010-03-29Solaris 2.10 (sun cc)i86pcakOK
2010-03-27MacOS X 10.5 (gcc)i386dkfOK
2010-03-29MacOS X 10.5 (Leopard, gcc)i386akOK
2010-03-29MacOS X 10.4 (Tiger, gcc)i386akFAIL (4)
2010-03-29HPUX 11.00 (hp cc)9000/800akFAIL (2)
2010-03-29HPUX 11.00 (gcc)9000/800akFAIL (2)
2010-03-29HPUX 11.22 (hp cc)ia64akFAIL (5)
2010-03-29HPUX 11.22 (gcc)ia64akFAIL (5)
2010-03-29AIX 5.1 (cc)000C763E4C00akFAIL (3)
2010-03-30Windows XP (mingw/msys)intelkbkFAIL (6)
yyyy-mm-ddExample FailureT9000rmaxFAIL (1)

Instructions for editing the Table

  • If make test on rmax-ipv6-branch shows failures that are not present in the rmax-ipv6-merge tag, report FAIL, otherwise report OK.
  • If the branch used to be working, but breaks at some point, leave the OK entry there and add a FAIL entry below it.
  • If it used to fail before, but works now, update the existing line.
  • For FAIL entries, please add a section below the table and paste a representative sample of the output of failing tests.

Failing Tests

(1) Example failure

paste your test failures here

(2) HPUX 11.0

cc: "unix/tclUnixChan.c", line 1686: error 1588: "AF_INET6" undefined.
gcc: unix/tclUnixChan.c:1686: error: `AF_INET6' undeclared (first use in this function)

(3) AIX 5.1 (strict C89 compiler)

"unix/tclUnixSock.c", line 706.17: 1506-275 (S) Unexpected text 'int' encountered.
"unix/tclUnixSock.c", line 706.21: 1506-045 (S) Undeclared identifier flags.
"unix/tclUnixSock.c", line 918.13: 1506-275 (S) Unexpected text 'int' encountered.
"unix/tclUnixSock.c", line 918.17: 1506-045 (S) Undeclared identifier reuseaddr.
"unix/tclUnixSock.c", line 1244.5: 1506-275 (S) Unexpected text 'struct' encountered.
"unix/tclUnixSock.c", line 1244.12: 1506-045 (S) Undeclared identifier addrinfo.
"unix/tclUnixSock.c", line 1244.22: 1506-045 (S) Undeclared identifier p.
"unix/tclUnixSock.c", line 1245.10: 1506-045 (S) Undeclared identifier v4head.
"unix/tclUnixSock.c", line 1245.26: 1506-045 (S) Undeclared identifier v4ptr.
"unix/tclUnixSock.c", line 1246.10: 1506-045 (S) Undeclared identifier v6head.
"unix/tclUnixSock.c", line 1246.26: 1506-045 (S) Undeclared identifier v6ptr.

(4) MacOS X 10.4

==== chan-16.9 chan command: pending input subcommand FAILED
==== Contents of test case:

    after idle chan-16.9-client
    vwait ::chan-16.9-done
    set ::chan-16.9-data

---- Test setup failed:
couldn't open socket: connection refused
---- errorInfo(setup): couldn't open socket: connection refused
    while executing
"socket 127.0.0.1 [lindex [fconfigure $::server -sockname] 2]"
    ("uplevel" body line 33)
    invoked from within
"uplevel 1 $setup"
---- errorCode(setup): POSIX ECONNREFUSED {connection refused}

(5) HPUX 11.22

==== socket-2.9 socket conflict FAILED
==== Contents of test case:

    set s [socket -server accept 0]
    file delete $path(script)
    set f [open $path(script) w]
    puts -nonewline $f "socket -server accept [lindex [fconfigure $s -sockname] 2]"
    close $f
    set f [open "|[list [interpreter] $path(script)]" r]
    gets $f
    after 100
    close $f

---- Result was:
couldn't open socket: address family not supported by protocol family
    while executing
"socket -server accept 56789"
    (file "/home/andreask/workbench/IPv6/build/tcl-8.6-rmax-ipv6-branch/script" line 1)
---- Result should have been (glob matching):
couldn't open socket: address already in use*

(6) Windows XP (mingw/msys)

==== socket-8.1 testing -async flag on sockets FAILED
==== Contents of test case:

    # NOTE: This test may fail on some Solaris 2.4 systems. If it does, check
    # that you have these patches installed (using showrev -p):
    #
    # 101907-05, 101925-02, 101945-14, 101959-03, 101969-05, 101973-03,
    # 101977-03, 101981-02, 101985-01, 102001-03, 102003-01, 102007-01,
    # 102011-02, 102024-01, 102039-01, 102044-01, 102048-01, 102062-03,
    # 102066-04, 102070-01, 102105-01, 102153-03, 102216-01, 102232-01,
    # 101878-03, 101879-01, 101880-03, 101933-01, 101950-01, 102030-01,
    # 102057-08, 102140-01, 101920-02, 101921-09, 101922-07, 101923-03
    #
    # If after installing these patches you are still experiencing a problem,
    # please email [email protected]. We have not observed this failure on
    # Solaris 2.5, so another option (instead of installing these patches) is
    # to upgrade to Solaris 2.5.
    set s [socket -server accept -myaddr 127.0.0.1 0]
    proc accept {s a p} {
        global x
        puts $s bye
        close $s
        set x done
    }
    set s1 [socket -async 127.0.0.1 [lindex [fconfigure $s -sockname] 2]]
    vwait x
    gets $s1

---- Test generated error; Return code was: 1
---- Return code should have been one of: 0 2
---- errorInfo: couldn't open socket: resource temporarily unavailable
    while executing
"socket -async 127.0.0.1 [lindex [fconfigure $s -sockname] 2]"
    ("uplevel" body line 23)
    invoked from within
"uplevel 1 $script"
---- errorCode: POSIX EAGAIN {resource temporarily unavailable}
---- Test cleanup failed:
can not find channel named "sock1496"
---- errorInfo(cleanup): can not find channel named "sock1496"
    while executing
"close $s1"
    ("uplevel" body line 3)
    invoked from within
"uplevel 1 $cleanup"
---- errorCode(cleanup): TCL LOOKUP CHANNEL sock1496
==== socket-8.1 FAILED

==== socket-12.1 testing inheritance of server sockets FAILED
==== Contents of test case:

    # Launch script2 and wait 5 seconds
    ### exec [interpreter] script2 &
    set p [open "|[list [interpreter] $path(script2)]" r]
    gets $p listen
    after 5000 { set ok_to_proceed 1 }
    vwait ok_to_proceed
    # If we can still connect to the server, the socket got inherited.
    if {[catch {close [socket 127.0.0.1 $listen]}]} {
        return {server socket was not inherited}
    } else {
        return {server socket was inherited}
    }

---- Result was:
server socket was inherited
---- Result should have been (exact matching):
server socket was not inherited
==== socket-12.1 FAILED

Pulling the branch from CVS

Run the following two commands while in the directory into which you want to put the checkout.

cvs -d:pserver:[email protected]:/cvsroot/tcl login
cvs -z3 -d:pserver:[email protected]:/cvsroot/tcl co -P -r rmax-ipv6-branch tcl

Once you have checked it out, you can use cvs up from within the tcl directory to pull the latest version.
Use cvs up -r rmax-ipv6-merge and cvs up -r rmax-ipv6-branch to switch between the two tags for comparing test results.
Alternatively you can rename the tcl directory and do a second checkout with the other tag to have the two versions side by side.