Skip to content

Commit 6962faf

Browse files
bfladappilon
authored andcommitted
helper/resource: Return error when test sweeper dependency is not found, instead of logging warning
Reference: hashicorp/terraform-provider-aws#12147 To help provider developers find implementation errors with test sweepers.
1 parent e13ab14 commit 6962faf

File tree

1 file changed

+13
-11
lines changed

1 file changed

+13
-11
lines changed

helper/resource/testing.go

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -217,20 +217,22 @@ func filterSweeperWithDependencies(name string, source map[string]*Sweeper) map[
217217
// add the success/fail status to the sweeperRunList.
218218
func runSweeperWithRegion(region string, s *Sweeper, sweepers map[string]*Sweeper, sweeperRunList map[string]error, allowFailures bool) error {
219219
for _, dep := range s.Dependencies {
220-
if depSweeper, ok := sweepers[dep]; ok {
221-
log.Printf("[DEBUG] Sweeper (%s) has dependency (%s), running..", s.Name, dep)
222-
err := runSweeperWithRegion(region, depSweeper, sweepers, sweeperRunList, allowFailures)
220+
depSweeper, ok := sweepers[dep]
223221

224-
if err != nil {
225-
if allowFailures {
226-
log.Printf("[ERROR] Error running Sweeper (%s) in region (%s): %s", depSweeper.Name, region, err)
227-
continue
228-
}
222+
if !ok {
223+
return fmt.Errorf("sweeper (%s) has dependency (%s), but that sweeper was not found", s.Name, dep)
224+
}
229225

230-
return err
226+
log.Printf("[DEBUG] Sweeper (%s) has dependency (%s), running..", s.Name, dep)
227+
err := runSweeperWithRegion(region, depSweeper, sweepers, sweeperRunList, allowFailures)
228+
229+
if err != nil {
230+
if allowFailures {
231+
log.Printf("[ERROR] Error running Sweeper (%s) in region (%s): %s", depSweeper.Name, region, err)
232+
continue
231233
}
232-
} else {
233-
log.Printf("[WARN] Sweeper (%s) has dependency (%s), but that sweeper was not found", s.Name, dep)
234+
235+
return err
234236
}
235237
}
236238

0 commit comments

Comments
 (0)