Skip to content

Commit 3f9cb51

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 201d5e5 commit 3f9cb51

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
@@ -145,16 +145,19 @@ func (r *Runtime) Delete() error {
145145
return cmd.Run()
146146
}
147147

148-
// Clean deletes the container and removes the bundle file according to the input parameter
149-
func (r *Runtime) Clean(removeBundle bool) error {
148+
// Clean deletes the container. If removeBundle is set, the bundle
149+
// directory is removed after the container is deleted succesfully or, if
150+
// forceRemoveBundle is true, after the deletion attempt regardless of
151+
// whether it was successful or not.
152+
func (r *Runtime) Clean(removeBundle bool, forceRemoveBundle bool) error {
150153
err := r.Delete()
151-
if err != nil {
152-
return err
153-
}
154154

155-
if removeBundle {
156-
os.RemoveAll(r.BundleDir)
155+
if removeBundle && (err == nil || forceRemoveBundle) {
156+
err2 := os.RemoveAll(r.BundleDir)
157+
if err2 != nil && err == nil {
158+
err = err2
159+
}
157160
}
158161

159-
return nil
162+
return err
160163
}

validation/util/test.go

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

0 commit comments

Comments
 (0)