Skip to content

Commit 87af1d1

Browse files
committed
validation/util/container: Remove bundle even if delete fails
When the container failed in creation, delete will fail, but we still want to remove the test bundle directory. Signed-off-by: W. Trevor King <[email protected]>
1 parent 90c6a76 commit 87af1d1

File tree

3 files changed

+13
-10
lines changed

3 files changed

+13
-10
lines changed

validation/create.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ func main() {
2727
if err != nil {
2828
util.Fatal(err)
2929
}
30-
defer r.Clean(true)
30+
defer r.Clean(true, true)
3131

3232
err = r.SetConfig(&g)
3333
if err != nil {

validation/util/container.go

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -151,16 +151,19 @@ func (r *Runtime) Delete() error {
151151
return cmd.Run()
152152
}
153153

154-
// Clean deletes the container and removes the bundle file according to the input parameter
155-
func (r *Runtime) Clean(removeBundle bool) error {
154+
// Clean deletes the container. If removeBundle is set, the bundle
155+
// directory is removed after the container is deleted succesfully or, if
156+
// forceRemoveBundle is true, after the deletion attempt regardless of
157+
// whether it was successful or not.
158+
func (r *Runtime) Clean(removeBundle bool, forceRemoveBundle bool) error {
156159
err := r.Delete()
157-
if err != nil {
158-
return err
159-
}
160160

161-
if removeBundle {
162-
os.RemoveAll(r.BundleDir)
161+
if removeBundle && (err == nil || forceRemoveBundle) {
162+
err2 := os.RemoveAll(r.BundleDir)
163+
if err2 != nil && err == nil {
164+
err = err2
165+
}
163166
}
164167

165-
return nil
168+
return err
166169
}

validation/util/test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ func RuntimeInsideValidate(g *generate.Generator, f PreFunc) (err error) {
9292
os.RemoveAll(bundleDir)
9393
return err
9494
}
95-
defer r.Clean(true)
95+
defer r.Clean(true, true)
9696
err = r.SetConfig(g)
9797
if err != nil {
9898
return err

0 commit comments

Comments
 (0)