Skip to content

Commit 44eca1b

Browse files
committed
Use errors.Join in sweepers to collect all deletion errors
1 parent 5c2223c commit 44eca1b

9 files changed

Lines changed: 41 additions & 30 deletions

cloudscale/resource_cloudscale_custom_image_test.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package cloudscale
22

33
import (
44
"context"
5+
"errors"
56
"fmt"
67
"io"
78
"log"
@@ -43,17 +44,17 @@ func testSweepCustomImages(region string) error {
4344
return err
4445
}
4546

46-
foundError := error(nil)
47+
var errs []error
4748
for _, s := range customImages {
4849
if strings.HasPrefix(s.Name, "terraform-") {
4950
log.Printf("Destroying CustomImage %s", s.Name)
5051

5152
if err := client.CustomImages.Delete(context.Background(), s.UUID); err != nil {
52-
foundError = err
53+
errs = append(errs, err)
5354
}
5455
}
5556
}
56-
return foundError
57+
return errors.Join(errs...)
5758
}
5859

5960
func TestAccCloudscaleCustomImage_Import(t *testing.T) {

cloudscale/resource_cloudscale_floating_ip_test.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package cloudscale
22

33
import (
44
"context"
5+
"errors"
56
"fmt"
67
"net/http"
78
"regexp"
@@ -34,14 +35,14 @@ func testSweepFloatingIps(region string) error {
3435
return err
3536
}
3637

37-
foundError := error(nil)
38+
var errs []error
3839
for _, ip := range ips {
3940
if err := client.FloatingIPs.Delete(context.Background(), ip.IP()); err != nil {
40-
foundError = err
41+
errs = append(errs, err)
4142
}
4243
}
4344

44-
return foundError
45+
return errors.Join(errs...)
4546
}
4647

4748
func TestAccCloudscaleFloatingIP_Detached(t *testing.T) {

cloudscale/resource_cloudscale_load_balancer_test.go

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,17 @@ package cloudscale
22

33
import (
44
"context"
5+
"errors"
56
"fmt"
6-
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/acctest"
7-
"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
87
"log"
98
"net/http"
109
"regexp"
1110
"strings"
1211
"testing"
1312

13+
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/acctest"
14+
"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
15+
1416
"github.com/cloudscale-ch/cloudscale-go-sdk/v8"
1517
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
1618
)
@@ -35,17 +37,17 @@ func testSweepLoadBalancers(region string) error {
3537
return err
3638
}
3739

38-
foundError := error(nil)
40+
var errs []error
3941
for _, lb := range loadBalancers {
4042
if strings.HasPrefix(lb.Name, "terraform-") {
4143
log.Printf("Destroying load balancer %s", lb.Name)
4244

4345
if err := client.LoadBalancers.Delete(context.Background(), lb.UUID); err != nil {
44-
foundError = err
46+
errs = append(errs, err)
4547
}
4648
}
4749
}
48-
return foundError
50+
return errors.Join(errs...)
4951
}
5052

5153
func TestAccCloudscaleLoadBalancer_Basic(t *testing.T) {

cloudscale/resource_cloudscale_network_test.go

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,16 @@ package cloudscale
22

33
import (
44
"context"
5+
"errors"
56
"fmt"
6-
"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
77
"log"
88
"net/http"
99
"regexp"
1010
"strings"
1111
"testing"
1212

13+
"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
14+
1315
"github.com/cloudscale-ch/cloudscale-go-sdk/v8"
1416
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/acctest"
1517
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
@@ -35,17 +37,17 @@ func testSweepNetworks(region string) error {
3537
return err
3638
}
3739

38-
foundError := error(nil)
40+
var errs []error
3941
for _, s := range networks {
4042
if strings.HasPrefix(s.Name, "terraform-") {
4143
log.Printf("Destroying Network %s", s.Name)
4244

4345
if err := client.Networks.Delete(context.Background(), s.UUID); err != nil {
44-
foundError = err
46+
errs = append(errs, err)
4547
}
4648
}
4749
}
48-
return foundError
50+
return errors.Join(errs...)
4951
}
5052

5153
func TestAccCloudscaleNetwork_DetachedMinimal(t *testing.T) {

cloudscale/resource_cloudscale_objects_user_test.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package cloudscale
22

33
import (
44
"context"
5+
"errors"
56
"fmt"
67
"log"
78
"net/http"
@@ -36,17 +37,17 @@ func testSweepObjectsUsers(region string) error {
3637
return err
3738
}
3839

39-
foundError := error(nil)
40+
var errs []error
4041
for _, u := range ObjectsUsers {
4142
if strings.HasPrefix(u.DisplayName, "terraform-") {
4243
log.Printf("Destroying ObjectsUser %#v", u.DisplayName)
4344

4445
if err := client.ObjectsUsers.Delete(context.Background(), u.ID); err != nil {
45-
foundError = err
46+
errs = append(errs, err)
4647
}
4748
}
4849
}
49-
return foundError
50+
return errors.Join(errs...)
5051
}
5152

5253
func TestAccCloudscaleObjectsUser_Minimal(t *testing.T) {

cloudscale/resource_cloudscale_server_group_test.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package cloudscale
22

33
import (
44
"context"
5+
"errors"
56
"fmt"
67
"log"
78
"net/http"
@@ -35,17 +36,17 @@ func testSweepServerGroups(region string) error {
3536
return err
3637
}
3738

38-
foundError := error(nil)
39+
var errs []error
3940
for _, s := range serverGroups {
4041
if strings.HasPrefix(s.Name, "terraform-") {
4142
log.Printf("Destroying server group %s", s.Name)
4243

4344
if err := client.ServerGroups.Delete(context.Background(), s.UUID); err != nil {
44-
foundError = err
45+
errs = append(errs, err)
4546
}
4647
}
4748
}
48-
return foundError
49+
return errors.Join(errs...)
4950
}
5051

5152
func TestAccCloudscaleServerGroup_Basic(t *testing.T) {

cloudscale/resource_cloudscale_server_test.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package cloudscale
22

33
import (
44
"context"
5+
"errors"
56
"fmt"
67
"log"
78
"net/http"
@@ -37,17 +38,17 @@ func testSweepServers(region string) error {
3738
return err
3839
}
3940

40-
foundError := error(nil)
41+
var errs []error
4142
for _, s := range servers {
4243
if strings.HasPrefix(s.Name, "terraform-") {
4344
log.Printf("Destroying Server %s", s.Name)
4445

4546
if err := client.Servers.Delete(context.Background(), s.UUID); err != nil {
46-
foundError = err
47+
errs = append(errs, err)
4748
}
4849
}
4950
}
50-
return foundError
51+
return errors.Join(errs...)
5152
}
5253

5354
func TestAccCloudscaleServer_Basic(t *testing.T) {

cloudscale/resource_cloudscale_volume_snapshot_test.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66
"log"
77
"net/http"
88
"regexp"
9+
"errors"
910
"strings"
1011
"testing"
1112

@@ -35,17 +36,17 @@ func testSweepVolumeSnapshots(region string) error {
3536
return err
3637
}
3738

38-
foundError := error(nil)
39+
var errs []error
3940
for _, s := range snapshots {
4041
if strings.HasPrefix(s.Name, "terraform-") {
4142
log.Printf("Destroying volume snapshot %s", s.Name)
4243

4344
if err := client.VolumeSnapshots.Delete(context.Background(), s.UUID); err != nil {
44-
foundError = err
45+
errs = append(errs, err)
4546
}
4647
}
4748
}
48-
return foundError
49+
return errors.Join(errs...)
4950
}
5051

5152
func TestAccCloudscaleVolumeSnapshot_Basic(t *testing.T) {

cloudscale/resource_cloudscale_volume_test.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package cloudscale
22

33
import (
44
"context"
5+
"errors"
56
"fmt"
67
"log"
78
"net/http"
@@ -36,17 +37,17 @@ func testSweepVolumes(region string) error {
3637
return err
3738
}
3839

39-
foundError := error(nil)
40+
var errs []error
4041
for _, s := range volumes {
4142
if strings.HasPrefix(s.Name, "terraform-") {
4243
log.Printf("Destroying Volume %s", s.Name)
4344

4445
if err := client.Volumes.Delete(context.Background(), s.UUID); err != nil {
45-
foundError = err
46+
errs = append(errs, err)
4647
}
4748
}
4849
}
49-
return foundError
50+
return errors.Join(errs...)
5051
}
5152

5253
func TestAccCloudscaleVolume_DetachedWithZone(t *testing.T) {

0 commit comments

Comments
 (0)