Browse code

Made calling changelog before run return empty. Fixes #1705.

Brian Olsen authored on 2013/08/31 04:45:01
Showing 2 changed files
... ...
@@ -99,7 +99,7 @@ func Changes(layers []string, rw string) ([]Change, error) {
99 99
 		changes = append(changes, change)
100 100
 		return nil
101 101
 	})
102
-	if err != nil {
102
+	if err != nil && !os.IsNotExist(err) {
103 103
 		return nil, err
104 104
 	}
105 105
 	return changes, nil
... ...
@@ -138,12 +138,21 @@ func TestDiff(t *testing.T) {
138 138
 	container1, _, _ := mkContainer(runtime, []string{"_", "/bin/rm", "/etc/passwd"}, t)
139 139
 	defer runtime.Destroy(container1)
140 140
 
141
+	// The changelog should be empty and not fail before run. See #1705
142
+	c, err := container1.Changes()
143
+	if err != nil {
144
+		t.Fatal(err)
145
+	}
146
+	if len(c) != 0 {
147
+		t.Fatalf("Changelog should be empty before run")
148
+	}
149
+
141 150
 	if err := container1.Run(); err != nil {
142 151
 		t.Fatal(err)
143 152
 	}
144 153
 
145 154
 	// Check the changelog
146
-	c, err := container1.Changes()
155
+	c, err = container1.Changes()
147 156
 	if err != nil {
148 157
 		t.Fatal(err)
149 158
 	}