This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: libgo patch committed: Fixes for select based pollster
- From: Rainer Orth <ro at CeBiTec dot Uni-Bielefeld dot DE>
- To: Ian Lance Taylor <iant at google dot com>
- Cc: gcc-patches at gcc dot gnu dot org, gofrontend-dev at googlegroups dot com
- Date: Thu, 07 Feb 2013 17:51:29 +0100
- Subject: Re: libgo patch committed: Fixes for select based pollster
- References: <mcrfw1983sa.fsf@google.com>
Ian Lance Taylor <iant@google.com> writes:
> On Solaris the libgo networking library uses select. This patch
> implements some fixes for that code. The Close method is changed to
> actually do something; this is mainly for testing purposes. More
> importantly, when a socket is closed, the select needs to be restarted
> so that the callers see the close. Bootstrapped and ran Go testsuite on
> x86_64-unknown-linux-gnu. Committed to mainline.
>
Thanks, this got net to almost passing on Solaris: the only remaining
failure is
pollServer WaitFD: pollster closed
--- FAIL: TestMulticastListener (0.00 seconds)
multicast_posix_test.go:70: "224.0.0.254:12345" not found in RIB
multicast_posix_test.go:75: "224.0.0.254:12345" not found in RIB
multicast_posix_test.go:70: "224.0.0.254:12345" not found in RIB
multicast_posix_test.go:75: "224.0.0.254:12345" not found in RIB
Select unexpected fd=13 for write
FAIL
FAIL: net
which is no wonder since Solaris still uses interface_stub.go. I've
checked what it takes to implement those interfaces, but it's quite an
effort, so for the moment we should just skip the test.
The following patch does this and allows the net test to pass.
Rainer
2013-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
PR go/56172
* go/net/multicast_posix_test.go (TestMulticastListener): Skip on
solaris.
diff --git a/libgo/go/net/multicast_posix_test.go b/libgo/go/net/multicast_posix_test.go
--- a/libgo/go/net/multicast_posix_test.go
+++ b/libgo/go/net/multicast_posix_test.go
@@ -47,7 +47,7 @@ var multicastListenerTests = []struct {
// listener with same address family, same group address and same port.
func TestMulticastListener(t *testing.T) {
switch runtime.GOOS {
- case "netbsd", "openbsd", "plan9", "windows":
+ case "netbsd", "openbsd", "plan9", "solaris", "windows":
t.Skipf("skipping test on %q", runtime.GOOS)
case "linux":
if runtime.GOARCH == "arm" || runtime.GOARCH == "alpha" {
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University