Browse code

Fix TestSwarmClusterRotateUnlockKey

TestSwarmClusterRotateUnlockKey had been identified as a flaky test. It
turns out that the test code was wrong: where we should have been
checking the string output of a command, we were instead checking the
value of the error. This means that the error case we were expecting was
not being matched, and the test was failing when it should have just
retried.

Signed-off-by: Drew Erny <drew.erny@docker.com>
(cherry picked from commit b79adac339173bf8bb6de6d0a061a97973c4b62b)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

Drew Erny authored on 2019/07/27 03:05:00
Showing 1 changed files
... ...
@@ -1308,7 +1308,7 @@ func (s *DockerSwarmSuite) TestSwarmRotateUnlockKey(c *check.C) {
1308 1308
 			// an issue sometimes prevents leader to be available right away
1309 1309
 			outs, err = d.Cmd("node", "ls")
1310 1310
 			if err != nil && retry < 5 {
1311
-				if strings.Contains(err.Error(), "swarm does not have a leader") {
1311
+				if strings.Contains(outs, "swarm does not have a leader") {
1312 1312
 					retry++
1313 1313
 					time.Sleep(3 * time.Second)
1314 1314
 					continue
... ...
@@ -1400,7 +1400,7 @@ func (s *DockerSwarmSuite) TestSwarmClusterRotateUnlockKey(c *check.C) {
1400 1400
 				// an issue sometimes prevents leader to be available right away
1401 1401
 				outs, err = d.Cmd("node", "ls")
1402 1402
 				if err != nil && retry < 5 {
1403
-					if strings.Contains(err.Error(), "swarm does not have a leader") {
1403
+					if strings.Contains(outs, "swarm does not have a leader") {
1404 1404
 						retry++
1405 1405
 						time.Sleep(3 * time.Second)
1406 1406
 						continue