소스 검색

Merge pull request #11686 from willhf/9340_test

Add test for net=container and links
Arnaud Porterie 10 년 전
부모
커밋
8a50746b5d
2개의 변경된 파일8개의 추가작업 그리고 2개의 파일을 삭제
  1. 2 2
      runconfig/parse.go
  2. 6 0
      runconfig/parse_test.go

+ 2 - 2
runconfig/parse.go

@@ -125,7 +125,7 @@ func Parse(cmd *flag.FlagSet, args []string) (*Config, *HostConfig, *flag.FlagSe
 		return nil, nil, cmd, ErrConflictHostNetworkAndLinks
 	}
 
-	if *flNetMode == "container" && flLinks.Len() > 0 {
+	if strings.HasPrefix(*flNetMode, "container") && flLinks.Len() > 0 {
 		return nil, nil, cmd, ErrConflictContainerNetworkAndLinks
 	}
 
@@ -133,7 +133,7 @@ func Parse(cmd *flag.FlagSet, args []string) (*Config, *HostConfig, *flag.FlagSe
 		return nil, nil, cmd, ErrConflictHostNetworkAndDns
 	}
 
-	if *flNetMode == "container" && flDns.Len() > 0 {
+	if strings.HasPrefix(*flNetMode, "container") && flDns.Len() > 0 {
 		return nil, nil, cmd, ErrConflictContainerNetworkAndDns
 	}
 

+ 6 - 0
runconfig/parse_test.go

@@ -57,3 +57,9 @@ func TestNetHostname(t *testing.T) {
 		t.Fatalf("Expected error ErrConflictNetworkHostname, got: %s", err)
 	}
 }
+
+func TestConflictContainerNetworkAndLinks(t *testing.T) {
+	if _, _, _, err := parseRun([]string{"--net=container:other", "--link=zip:zap", "img", "cmd"}); err != ErrConflictContainerNetworkAndLinks {
+		t.Fatalf("Expected error ErrConflictContainerNetworkAndLinks, got: %s", err)
+	}
+}