Skip to content

Commit b2c08bf

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 7724f98 commit b2c08bf

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
@@ -90,7 +90,7 @@ func RuntimeInsideValidate(g *generate.Generator, f PreFunc) (err error) {
9090
os.RemoveAll(bundleDir)
9191
return err
9292
}
93-
defer r.Clean(true)
93+
defer r.Clean(true, true)
9494
err = r.SetConfig(g)
9595
if err != nil {
9696
return err

0 commit comments

Comments
 (0)