This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: libgo patch committed: Fixes for select based pollster


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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]