Browse code

Check for valid daemon in TearDownTest.

SetupTest could fail creating a Daemon object (eg, out of space when
creating daemon root dir). In such a case, TearDownTest fails when
accessing the daemon object. This commit adds the required nil check.

Signed-off-by: Anusha Ragunathan <anusha@docker.com>

Anusha Ragunathan authored on 2016/11/22 02:37:13
Showing 6 changed files
... ...
@@ -302,14 +302,16 @@ func (s *DockerSwarmSuite) TearDownTest(c *check.C) {
302 302
 	testRequires(c, DaemonIsLinux)
303 303
 	s.daemonsLock.Lock()
304 304
 	for _, d := range s.daemons {
305
-		d.Stop()
306
-		// raft state file is quite big (64MB) so remove it after every test
307
-		walDir := filepath.Join(d.root, "swarm/raft/wal")
308
-		if err := os.RemoveAll(walDir); err != nil {
309
-			c.Logf("error removing %v: %v", walDir, err)
310
-		}
305
+		if d != nil {
306
+			d.Stop()
307
+			// raft state file is quite big (64MB) so remove it after every test
308
+			walDir := filepath.Join(d.root, "swarm/raft/wal")
309
+			if err := os.RemoveAll(walDir); err != nil {
310
+				c.Logf("error removing %v: %v", walDir, err)
311
+			}
311 312
 
312
-		cleanupExecRoot(c, d.execRoot)
313
+			cleanupExecRoot(c, d.execRoot)
314
+		}
313 315
 	}
314 316
 	s.daemons = nil
315 317
 	s.daemonsLock.Unlock()
... ...
@@ -36,8 +36,10 @@ func (s *DockerAuthzV2Suite) SetUpTest(c *check.C) {
36 36
 }
37 37
 
38 38
 func (s *DockerAuthzV2Suite) TearDownTest(c *check.C) {
39
-	s.d.Stop()
40
-	s.ds.TearDownTest(c)
39
+	if s.d != nil {
40
+		s.d.Stop()
41
+		s.ds.TearDownTest(c)
42
+	}
41 43
 }
42 44
 
43 45
 func (s *DockerAuthzV2Suite) TestAuthZPluginAllowNonVolumeRequest(c *check.C) {
... ...
@@ -68,9 +68,11 @@ func (s *DockerAuthzSuite) SetUpTest(c *check.C) {
68 68
 }
69 69
 
70 70
 func (s *DockerAuthzSuite) TearDownTest(c *check.C) {
71
-	s.d.Stop()
72
-	s.ds.TearDownTest(c)
73
-	s.ctrl = nil
71
+	if s.d != nil {
72
+		s.d.Stop()
73
+		s.ds.TearDownTest(c)
74
+		s.ctrl = nil
75
+	}
74 76
 }
75 77
 
76 78
 func (s *DockerAuthzSuite) SetUpSuite(c *check.C) {
... ...
@@ -55,8 +55,10 @@ func (s *DockerExternalGraphdriverSuite) SetUpTest(c *check.C) {
55 55
 }
56 56
 
57 57
 func (s *DockerExternalGraphdriverSuite) TearDownTest(c *check.C) {
58
-	s.d.Stop()
59
-	s.ds.TearDownTest(c)
58
+	if s.d != nil {
59
+		s.d.Stop()
60
+		s.ds.TearDownTest(c)
61
+	}
60 62
 }
61 63
 
62 64
 func (s *DockerExternalGraphdriverSuite) SetUpSuite(c *check.C) {
... ...
@@ -54,8 +54,10 @@ func (s *DockerExternalVolumeSuite) SetUpTest(c *check.C) {
54 54
 }
55 55
 
56 56
 func (s *DockerExternalVolumeSuite) TearDownTest(c *check.C) {
57
-	s.d.Stop()
58
-	s.ds.TearDownTest(c)
57
+	if s.d != nil {
58
+		s.d.Stop()
59
+		s.ds.TearDownTest(c)
60
+	}
59 61
 }
60 62
 
61 63
 func (s *DockerExternalVolumeSuite) SetUpSuite(c *check.C) {
... ...
@@ -51,8 +51,10 @@ func (s *DockerNetworkSuite) SetUpTest(c *check.C) {
51 51
 }
52 52
 
53 53
 func (s *DockerNetworkSuite) TearDownTest(c *check.C) {
54
-	s.d.Stop()
55
-	s.ds.TearDownTest(c)
54
+	if s.d != nil {
55
+		s.d.Stop()
56
+		s.ds.TearDownTest(c)
57
+	}
56 58
 }
57 59
 
58 60
 func (s *DockerNetworkSuite) SetUpSuite(c *check.C) {