summaryrefslogtreecommitdiff
path: root/src/pkg/net/server_test.go
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2009-12-03 22:19:55 -0800
committerRuss Cox <rsc@golang.org>2009-12-03 22:19:55 -0800
commit6bd183650ad032eeb97873ed7296f8b925dc1bc9 (patch)
treecd90a1c7cae76cde9203fea9c1faecf28bd4e0e0 /src/pkg/net/server_test.go
parent981886673766e77ebc79dd847fa03c5f0923c4b5 (diff)
downloadgolang-6bd183650ad032eeb97873ed7296f8b925dc1bc9.tar.gz
net: turn off empty packet test by default
Fixes issue 374. R=r http://codereview.appspot.com/166053
Diffstat (limited to 'src/pkg/net/server_test.go')
-rw-r--r--src/pkg/net/server_test.go11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/pkg/net/server_test.go b/src/pkg/net/server_test.go
index 454f1d711..e1301ceb9 100644
--- a/src/pkg/net/server_test.go
+++ b/src/pkg/net/server_test.go
@@ -5,6 +5,7 @@
package net
import (
+ "flag";
"io";
"os";
"strings";
@@ -12,6 +13,12 @@ import (
"testing";
)
+// Do not test empty datagrams by default.
+// It causes unexplained timeouts on some systems,
+// including Snow Leopard. I think that the kernel
+// doesn't quite expect them.
+var testEmptyDatagrams = flag.Bool("empty_datagrams", false, "whether to test empty datagrams")
+
func runEcho(fd io.ReadWriter, done chan<- int) {
var buf [1024]byte;
@@ -155,7 +162,7 @@ func doTestPacket(t *testing.T, network, listenaddr, dialaddr string, isEmpty bo
}
func TestUDPServer(t *testing.T) {
- for _, isEmpty := range []bool{false, true} {
+ for _, isEmpty := range []bool{false, *testEmptyDatagrams} {
doTestPacket(t, "udp", "0.0.0.0", "127.0.0.1", isEmpty);
doTestPacket(t, "udp", "", "127.0.0.1", isEmpty);
if kernelSupportsIPv6() {
@@ -167,7 +174,7 @@ func TestUDPServer(t *testing.T) {
}
func TestUnixDatagramServer(t *testing.T) {
- for _, isEmpty := range []bool{false, true} {
+ for _, isEmpty := range []bool{false, *testEmptyDatagrams} {
os.Remove("/tmp/gotest1.net");
os.Remove("/tmp/gotest1.net.local");
doTestPacket(t, "unixgram", "/tmp/gotest1.net", "/tmp/gotest1.net", isEmpty);