From: Quentin Smith Date: Wed, 5 Oct 2016 18:37:25 +0000 (-0400) Subject: syscall: relax TestUnshare X-Git-Tag: go1.8beta1~1013 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=cb986def671cd244e4682a476cff51c4cff2d8f8;p=gostls13.git syscall: relax TestUnshare Fixes #17224. Some systems have more than just "lo" in a fresh network namespace, due to IPv6. Instead of testing for exactly 3 lines of output (implying 1 interface), just test to make sure that the unshare call resulted in fewer interfaces than before. This should still verify that unshare did something. Change-Id: Iaf84c2b0e673fc207059d62e2f4dd7583a753419 Reviewed-on: https://go-review.googlesource.com/30372 Reviewed-by: Brad Fitzpatrick Reviewed-by: Jessica Frazelle Run-TryBot: Brad Fitzpatrick TryBot-Result: Gobot Gobot --- diff --git a/src/syscall/exec_linux_test.go b/src/syscall/exec_linux_test.go index aaffa067bc..7a4b571760 100644 --- a/src/syscall/exec_linux_test.go +++ b/src/syscall/exec_linux_test.go @@ -162,6 +162,12 @@ func TestUnshare(t *testing.T) { t.Fatal(err) } + orig, err := ioutil.ReadFile(path) + if err != nil { + t.Fatal(err) + } + origLines := strings.Split(strings.TrimSpace(string(orig)), "\n") + cmd := exec.Command("cat", path) cmd.SysProcAttr = &syscall.SysProcAttr{ Unshareflags: syscall.CLONE_NEWNET, @@ -178,8 +184,8 @@ func TestUnshare(t *testing.T) { } lines := strings.Split(sout, "\n") - if len(lines) != 3 { - t.Fatalf("Expected 3 lines of output, got %d", len(lines)) + if len(lines) >= len(origLines) { + t.Fatalf("Got %d lines of output, want <%d", len(lines), len(origLines)) } }