瀏覽代碼

Make network stats version test concurrent

This change makes the test run go down from 10s to 2s

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Michael Crosby 9 年之前
父節點
當前提交
2f3b7f08a0
共有 1 個文件被更改,包括 16 次插入9 次删除
  1. 16 9
      integration-cli/docker_api_stats_test.go

+ 16 - 9
integration-cli/docker_api_stats_test.go

@@ -8,6 +8,7 @@ import (
 	"runtime"
 	"runtime"
 	"strconv"
 	"strconv"
 	"strings"
 	"strings"
+	"sync"
 	"time"
 	"time"
 
 
 	"github.com/docker/docker/pkg/integration/checker"
 	"github.com/docker/docker/pkg/integration/checker"
@@ -145,18 +146,24 @@ func (s *DockerSuite) TestApiStatsNetworkStatsVersioning(c *check.C) {
 	out, _ := runSleepingContainer(c)
 	out, _ := runSleepingContainer(c)
 	id := strings.TrimSpace(out)
 	id := strings.TrimSpace(out)
 	c.Assert(waitRun(id), checker.IsNil)
 	c.Assert(waitRun(id), checker.IsNil)
+	wg := sync.WaitGroup{}
 
 
 	for i := 17; i <= 21; i++ {
 	for i := 17; i <= 21; i++ {
-		apiVersion := fmt.Sprintf("v1.%d", i)
-		statsJSONBlob := getVersionedStats(c, id, apiVersion)
-		if versions.LessThan(apiVersion, "v1.21") {
-			c.Assert(jsonBlobHasLTv121NetworkStats(statsJSONBlob), checker.Equals, true,
-				check.Commentf("Stats JSON blob from API %s %#v does not look like a <v1.21 API stats structure", apiVersion, statsJSONBlob))
-		} else {
-			c.Assert(jsonBlobHasGTE121NetworkStats(statsJSONBlob), checker.Equals, true,
-				check.Commentf("Stats JSON blob from API %s %#v does not look like a >=v1.21 API stats structure", apiVersion, statsJSONBlob))
-		}
+		wg.Add(1)
+		go func() {
+			defer wg.Done()
+			apiVersion := fmt.Sprintf("v1.%d", i)
+			statsJSONBlob := getVersionedStats(c, id, apiVersion)
+			if versions.LessThan(apiVersion, "v1.21") {
+				c.Assert(jsonBlobHasLTv121NetworkStats(statsJSONBlob), checker.Equals, true,
+					check.Commentf("Stats JSON blob from API %s %#v does not look like a <v1.21 API stats structure", apiVersion, statsJSONBlob))
+			} else {
+				c.Assert(jsonBlobHasGTE121NetworkStats(statsJSONBlob), checker.Equals, true,
+					check.Commentf("Stats JSON blob from API %s %#v does not look like a >=v1.21 API stats structure", apiVersion, statsJSONBlob))
+			}
+		}()
 	}
 	}
+	wg.Wait()
 }
 }
 
 
 func getNetworkStats(c *check.C, id string) map[string]types.NetworkStats {
 func getNetworkStats(c *check.C, id string) map[string]types.NetworkStats {