瀏覽代碼

Wait until tasks have been created in TestSwarmTaskListFilter

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Tonis Tiigi 8 年之前
父節點
當前提交
f8229aea9f
共有 1 個文件被更改,包括 11 次插入0 次删除
  1. 11 0
      integration-cli/docker_cli_swarm_test.go

+ 11 - 0
integration-cli/docker_cli_swarm_test.go

@@ -287,6 +287,15 @@ func (s *DockerSwarmSuite) TestSwarmTaskListFilter(c *check.C) {
 
 	filter := "name=redis-cluster"
 
+	checkNumTasks := func(*check.C) (interface{}, check.CommentInterface) {
+		out, err := d.Cmd("service", "ps", "--filter", filter, name)
+		c.Assert(err, checker.IsNil)
+		return len(strings.Split(out, "\n")) - 2, nil // includes header and nl in last line
+	}
+
+	// wait until all tasks have been created
+	waitAndAssert(c, defaultReconciliationTimeout, checkNumTasks, checker.Equals, 3)
+
 	out, err = d.Cmd("service", "ps", "--filter", filter, name)
 	c.Assert(err, checker.IsNil)
 	c.Assert(out, checker.Contains, name+".1")
@@ -310,6 +319,8 @@ func (s *DockerSwarmSuite) TestSwarmTaskListFilter(c *check.C) {
 	c.Assert(err, checker.IsNil)
 	c.Assert(strings.TrimSpace(out), checker.Not(checker.Equals), "")
 
+	waitAndAssert(c, defaultReconciliationTimeout, checkNumTasks, checker.Equals, 1)
+
 	filter = "name=redis-cluster"
 	out, err = d.Cmd("service", "ps", "--filter", filter, name)
 	c.Assert(err, checker.IsNil)