From b020a0a3db81b878eecd8e6ffe28eb5c41bd6f2e Mon Sep 17 00:00:00 2001 From: ramonskie Date: Mon, 2 Mar 2026 15:07:01 +0100 Subject: [PATCH 1/3] migrate to ginkgo v2 --- bratshelper/data.go | 2 +- bratshelper/tests.go | 2 +- checksum/checksum_suite_test.go | 2 +- checksum/checksum_test.go | 2 +- command_test.go | 2 +- cutlass/docker/cli_test.go | 2 +- cutlass/docker/dockerfile_test.go | 3 +- cutlass/docker/init_test.go | 2 +- cutlass/glow/archiver_test.go | 2 +- cutlass/glow/cli_test.go | 2 +- cutlass/glow/init_test.go | 2 +- go.mod | 19 +++---- go.sum | 52 +++++++++---------- hooks_test.go | 2 +- installer_test.go | 2 +- json_test.go | 2 +- libbuildpack_suite_test.go | 2 +- logger_test.go | 2 +- manifest_test.go | 2 +- packager/models_test.go | 2 +- packager/packager_suite_test.go | 2 +- packager/packager_test.go | 2 +- .../LANGUAGE/finalize/_finalize_suite_test.go | 2 +- .../src/LANGUAGE/finalize/_finalize_test.go | 2 +- .../LANGUAGE/finalize/cli/_cli_suite_test.go | 2 +- .../src/LANGUAGE/hooks/_hooks_suite_test.go | 2 +- .../integration/_integration_suite_test.go | 2 +- .../src/LANGUAGE/integration/_simple_test.go | 2 +- .../src/LANGUAGE/supply/_supply_suite_test.go | 2 +- .../src/LANGUAGE/supply/_supply_test.go | 2 +- .../LANGUAGE/supply/cli/_cli_suite_test.go | 2 +- packager/summary_test.go | 2 +- snapshot/snapshot_suite_test.go | 2 +- snapshot/snapshot_test.go | 2 +- stager_test.go | 2 +- util_test.go | 2 +- versions_test.go | 2 +- yaml_test.go | 2 +- 38 files changed, 72 insertions(+), 72 deletions(-) diff --git a/bratshelper/data.go b/bratshelper/data.go index 4ebb21e5..ff8c21ed 100644 --- a/bratshelper/data.go +++ b/bratshelper/data.go @@ -10,7 +10,7 @@ import ( "sync" "github.com/cloudfoundry/libbuildpack/cutlass" - . "github.com/onsi/ginkgo" + . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" yaml "gopkg.in/yaml.v2" ) diff --git a/bratshelper/tests.go b/bratshelper/tests.go index a4698967..94bfbd0a 100644 --- a/bratshelper/tests.go +++ b/bratshelper/tests.go @@ -9,7 +9,7 @@ import ( "github.com/cloudfoundry/libbuildpack" "github.com/cloudfoundry/libbuildpack/cutlass" - . "github.com/onsi/ginkgo" + . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ) diff --git a/checksum/checksum_suite_test.go b/checksum/checksum_suite_test.go index d86015ff..20c71a89 100644 --- a/checksum/checksum_suite_test.go +++ b/checksum/checksum_suite_test.go @@ -3,7 +3,7 @@ package checksum_test import ( "testing" - . "github.com/onsi/ginkgo" + . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ) diff --git a/checksum/checksum_test.go b/checksum/checksum_test.go index cb3384c7..b6302ea1 100644 --- a/checksum/checksum_test.go +++ b/checksum/checksum_test.go @@ -10,7 +10,7 @@ import ( "github.com/cloudfoundry/libbuildpack/checksum" - . "github.com/onsi/ginkgo" + . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ) diff --git a/command_test.go b/command_test.go index 50991045..ab462058 100644 --- a/command_test.go +++ b/command_test.go @@ -7,7 +7,7 @@ import ( "runtime" bp "github.com/cloudfoundry/libbuildpack" - . "github.com/onsi/ginkgo" + . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ) diff --git a/cutlass/docker/cli_test.go b/cutlass/docker/cli_test.go index 2865a0d7..84eff73a 100644 --- a/cutlass/docker/cli_test.go +++ b/cutlass/docker/cli_test.go @@ -8,7 +8,7 @@ import ( "github.com/cloudfoundry/libbuildpack/cutlass/docker/fakes" "github.com/paketo-buildpacks/packit/pexec" - . "github.com/onsi/ginkgo" + . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ) diff --git a/cutlass/docker/dockerfile_test.go b/cutlass/docker/dockerfile_test.go index 3ddc2985..2237deed 100644 --- a/cutlass/docker/dockerfile_test.go +++ b/cutlass/docker/dockerfile_test.go @@ -8,8 +8,7 @@ import ( "code.cloudfoundry.org/lager" "github.com/cloudfoundry/libbuildpack/cutlass/docker" - . "github.com/onsi/ginkgo" - . "github.com/onsi/ginkgo/extensions/table" + . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ) diff --git a/cutlass/docker/init_test.go b/cutlass/docker/init_test.go index 59c93ff2..bcd18383 100644 --- a/cutlass/docker/init_test.go +++ b/cutlass/docker/init_test.go @@ -7,7 +7,7 @@ import ( "github.com/onsi/gomega/types" - . "github.com/onsi/ginkgo" + . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ) diff --git a/cutlass/glow/archiver_test.go b/cutlass/glow/archiver_test.go index 68f9a2a0..b3d1d908 100644 --- a/cutlass/glow/archiver_test.go +++ b/cutlass/glow/archiver_test.go @@ -9,7 +9,7 @@ import ( "github.com/cloudfoundry/libbuildpack/cutlass/glow" "github.com/cloudfoundry/libbuildpack/cutlass/glow/fakes" - . "github.com/onsi/ginkgo" + . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ) diff --git a/cutlass/glow/cli_test.go b/cutlass/glow/cli_test.go index bc98c6d7..75bcf8d9 100644 --- a/cutlass/glow/cli_test.go +++ b/cutlass/glow/cli_test.go @@ -8,7 +8,7 @@ import ( "github.com/cloudfoundry/libbuildpack/cutlass/glow/fakes" "github.com/paketo-buildpacks/packit/pexec" - . "github.com/onsi/ginkgo" + . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ) diff --git a/cutlass/glow/init_test.go b/cutlass/glow/init_test.go index 6c945200..4cf627b4 100644 --- a/cutlass/glow/init_test.go +++ b/cutlass/glow/init_test.go @@ -3,7 +3,7 @@ package glow_test import ( "testing" - . "github.com/onsi/ginkgo" + . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ) diff --git a/go.mod b/go.mod index 0cd7d11c..5a477e95 100644 --- a/go.mod +++ b/go.mod @@ -11,8 +11,8 @@ require ( github.com/golang/mock v1.6.0 github.com/google/subcommands v1.2.0 github.com/jarcoal/httpmock v1.3.0 - github.com/onsi/ginkgo v1.16.5 - github.com/onsi/gomega v1.27.6 + github.com/onsi/ginkgo/v2 v2.22.1 + github.com/onsi/gomega v1.36.2 github.com/paketo-buildpacks/packit v1.3.1 github.com/pkg/errors v0.9.1 github.com/tidwall/gjson v1.12.0 @@ -21,14 +21,15 @@ require ( require ( github.com/elazarl/goproxy/ext v0.0.0-20190911111923-ecfe977594f1 // indirect - github.com/fsnotify/fsnotify v1.4.9 // indirect - github.com/google/go-cmp v0.5.9 // indirect - github.com/nxadm/tail v1.4.8 // indirect + github.com/go-logr/logr v1.4.2 // indirect + github.com/go-task/slim-sprig/v3 v3.0.0 // indirect + github.com/google/go-cmp v0.6.0 // indirect + github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad // indirect github.com/tidwall/match v1.1.1 // indirect github.com/tidwall/pretty v1.2.0 // indirect - golang.org/x/net v0.8.0 // indirect - golang.org/x/sys v0.6.0 // indirect - golang.org/x/text v0.8.0 // indirect - gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect + golang.org/x/net v0.33.0 // indirect + golang.org/x/sys v0.28.0 // indirect + golang.org/x/text v0.21.0 // indirect + golang.org/x/tools v0.28.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/go.sum b/go.sum index c25d66f8..c27db193 100644 --- a/go.sum +++ b/go.sum @@ -26,11 +26,11 @@ github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMo github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/gabriel-vasile/mimetype v1.4.0/go.mod h1:fA8fi6KUiG7MgQQ+mEWotXoEOvmxRtOJlERCzSmRvr8= -github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= -github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= +github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= -github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= -github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= +github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= +github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -42,16 +42,14 @@ github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvq github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= -github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38 h1:yAJXTCF9TqKcTiHJAE8dj7HMvPfh66eeA2JYW7eFpSE= -github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad h1:a6HEuzUHeKH6hwfN/ZoQgRgVIWFJljSWa/zetS2WTvg= +github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= github.com/google/subcommands v1.2.0 h1:vWQspBTo2nEqTUFita5/KeEWlUL8kQObDFbub/EN9oE= github.com/google/subcommands v1.2.0/go.mod h1:ZjhPrFU+Olkh9WazFPsl27BQ4UPiG37m3yTrtFlrHVk= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= @@ -75,21 +73,21 @@ github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= +github.com/onsi/ginkgo v1.16.4 h1:29JGrr5oVBm5ulCWet69zQkzWipVXIol6ygQUe/EzNc= github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= -github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= -github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= -github.com/onsi/ginkgo/v2 v2.9.2 h1:BA2GMJOtfGAfagzYtrAlufIP0lq6QERkFmHLMLPwFSU= -github.com/onsi/ginkgo/v2 v2.9.2/go.mod h1:WHcJJG2dIlcCqVfBAwUCrJxSPFb6v4azBwgxeMeDuts= +github.com/onsi/ginkgo/v2 v2.22.1 h1:QW7tbJAUDyVDVOM5dFa7qaybo+CRfR7bemlQUN6Z8aM= +github.com/onsi/ginkgo/v2 v2.22.1/go.mod h1:S6aTpoRsSq2cZOd+pssHAlKW/Q/jZt6cPrPlnj4a1xM= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= -github.com/onsi/gomega v1.27.6 h1:ENqfyGeS5AX/rlXDd/ETokDz93u0YufY1Pgxuy/PvWE= -github.com/onsi/gomega v1.27.6/go.mod h1:PIQNjfQwkP3aQAH7lf7j87O/5FiNr+ZR8+ipb+qQlhg= +github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8= +github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY= github.com/paketo-buildpacks/packit v1.3.1 h1:DJAfqsDadRllr/OPYDONxJEOHbYUMWE1NIPPArq4b7w= github.com/paketo-buildpacks/packit v1.3.1/go.mod h1:v0jVFr3GNcM9JDwwuIAzYNV4Le1L728uMSNhjUybXVA= github.com/pelletier/go-toml v1.9.4/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= @@ -98,6 +96,8 @@ github.com/sclevine/spec v1.4.0 h1:z/Q9idDcay5m5irkZ28M7PtQM4aOISzOpj4bUPkDee8= github.com/sclevine/spec v1.4.0/go.mod h1:LvpgJaFyvQzRvc1kaDs0bulYwzC70PbiYjC4QnFHkOM= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= +github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= +github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/tidwall/gjson v1.12.0 h1:61wEp/qfvFnqKH/WCI3M8HuRut+mHT6Mr82QrFmM2SY= github.com/tidwall/gjson v1.12.0/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= github.com/tidwall/match v1.1.1 h1:+Ho715JplO36QYgwN9PGYNhgZvoUSc9X2c80KVTi+GA= @@ -122,8 +122,8 @@ golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96b golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= golang.org/x/net v0.0.0-20210505024714-0287a6fb4125/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.8.0 h1:Zrh2ngAOFYneWTAIAPethzeaQLuHwhuBkuV6ZiRnUaQ= -golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= +golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= +golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -145,20 +145,20 @@ golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.6.0 h1:MVltZSvRTcU2ljQOhs94SXPftV6DCNnZViHeQps87pQ= -golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= +golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.8.0 h1:57P1ETyNKtuIjB4SRd15iJxuhj8Gc416Y78H3qgMh68= -golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= +golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.7.0 h1:W4OVu8VVOaIO0yzWMNdepAulS7YfoS3Zabrm8DOXXU4= -golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s= +golang.org/x/tools v0.28.0 h1:WuB6qZ4RPCQo5aP3WdKZS7i595EdWqWR8vqJTlwTVK8= +golang.org/x/tools v0.28.0/go.mod h1:dcIOrVd3mfQKTgrDVQHqCPMWy6lnhfhtX3hLXYVLfRw= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -171,8 +171,8 @@ google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzi google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.28.0 h1:w43yiav+6bVFTBQFZX0r7ipe9JQ1QsbMgHwbBziscLw= -google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.36.1 h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk= +google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b h1:QRR6H1YWRnHb4Y/HeNFCTJLFVxaq6wH4YuVdsUOr75U= gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/hooks_test.go b/hooks_test.go index 9c331b23..3c5f911e 100644 --- a/hooks_test.go +++ b/hooks_test.go @@ -5,7 +5,7 @@ import ( bp "github.com/cloudfoundry/libbuildpack" "github.com/golang/mock/gomock" - . "github.com/onsi/ginkgo" + . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ) diff --git a/installer_test.go b/installer_test.go index e863fa8a..717dd7a1 100644 --- a/installer_test.go +++ b/installer_test.go @@ -15,7 +15,7 @@ import ( "github.com/cloudfoundry/libbuildpack/ansicleaner" httpmock "github.com/jarcoal/httpmock" - . "github.com/onsi/ginkgo" + . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ) diff --git a/json_test.go b/json_test.go index 1ff78589..cdcdf0ab 100644 --- a/json_test.go +++ b/json_test.go @@ -6,7 +6,7 @@ import ( "path/filepath" "github.com/cloudfoundry/libbuildpack" - . "github.com/onsi/ginkgo" + . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ) diff --git a/libbuildpack_suite_test.go b/libbuildpack_suite_test.go index cb7ec762..2f58ec6b 100644 --- a/libbuildpack_suite_test.go +++ b/libbuildpack_suite_test.go @@ -5,7 +5,7 @@ import ( "github.com/jarcoal/httpmock" - . "github.com/onsi/ginkgo" + . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ) diff --git a/logger_test.go b/logger_test.go index af9aa1ee..61364451 100644 --- a/logger_test.go +++ b/logger_test.go @@ -5,7 +5,7 @@ import ( "os" "github.com/cloudfoundry/libbuildpack" - . "github.com/onsi/ginkgo" + . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ) diff --git a/manifest_test.go b/manifest_test.go index abe16791..f52113fc 100644 --- a/manifest_test.go +++ b/manifest_test.go @@ -12,7 +12,7 @@ import ( "github.com/cloudfoundry/libbuildpack/ansicleaner" httpmock "github.com/jarcoal/httpmock" - . "github.com/onsi/ginkgo" + . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ) diff --git a/packager/models_test.go b/packager/models_test.go index 00556738..1e8ac076 100644 --- a/packager/models_test.go +++ b/packager/models_test.go @@ -5,7 +5,7 @@ import ( "github.com/cloudfoundry/libbuildpack/packager" httpmock "github.com/jarcoal/httpmock" - . "github.com/onsi/ginkgo" + . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ) diff --git a/packager/packager_suite_test.go b/packager/packager_suite_test.go index fa4bf1c4..079477e9 100644 --- a/packager/packager_suite_test.go +++ b/packager/packager_suite_test.go @@ -9,7 +9,7 @@ import ( "github.com/cloudfoundry/libbuildpack/packager" - . "github.com/onsi/ginkgo" + . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ) diff --git a/packager/packager_test.go b/packager/packager_test.go index 08996758..a2f71619 100644 --- a/packager/packager_test.go +++ b/packager/packager_test.go @@ -16,7 +16,7 @@ import ( httpmock "github.com/jarcoal/httpmock" yaml "gopkg.in/yaml.v2" - . "github.com/onsi/ginkgo" + . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ) diff --git a/packager/scaffold/src/LANGUAGE/finalize/_finalize_suite_test.go b/packager/scaffold/src/LANGUAGE/finalize/_finalize_suite_test.go index 825d5fc4..579b4535 100644 --- a/packager/scaffold/src/LANGUAGE/finalize/_finalize_suite_test.go +++ b/packager/scaffold/src/LANGUAGE/finalize/_finalize_suite_test.go @@ -1,7 +1,7 @@ package finalize_test import ( - . "github.com/onsi/ginkgo" + . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" "testing" diff --git a/packager/scaffold/src/LANGUAGE/finalize/_finalize_test.go b/packager/scaffold/src/LANGUAGE/finalize/_finalize_test.go index 00770c35..c8c520a5 100644 --- a/packager/scaffold/src/LANGUAGE/finalize/_finalize_test.go +++ b/packager/scaffold/src/LANGUAGE/finalize/_finalize_test.go @@ -2,7 +2,7 @@ package finalize_test //go:generate mockgen -source=finalize.go --destination=mocks_test.go --package=finalize_test import ( - . "github.com/onsi/ginkgo" + . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ) diff --git a/packager/scaffold/src/LANGUAGE/finalize/cli/_cli_suite_test.go b/packager/scaffold/src/LANGUAGE/finalize/cli/_cli_suite_test.go index c93fb2c2..8dfae8ec 100644 --- a/packager/scaffold/src/LANGUAGE/finalize/cli/_cli_suite_test.go +++ b/packager/scaffold/src/LANGUAGE/finalize/cli/_cli_suite_test.go @@ -1,7 +1,7 @@ package main_test import ( - . "github.com/onsi/ginkgo" + . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" "testing" diff --git a/packager/scaffold/src/LANGUAGE/hooks/_hooks_suite_test.go b/packager/scaffold/src/LANGUAGE/hooks/_hooks_suite_test.go index abfdc712..44026fa6 100644 --- a/packager/scaffold/src/LANGUAGE/hooks/_hooks_suite_test.go +++ b/packager/scaffold/src/LANGUAGE/hooks/_hooks_suite_test.go @@ -1,7 +1,7 @@ package hooks_test import ( - . "github.com/onsi/ginkgo" + . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" "testing" diff --git a/packager/scaffold/src/LANGUAGE/integration/_integration_suite_test.go b/packager/scaffold/src/LANGUAGE/integration/_integration_suite_test.go index a4f55331..e82a6ac5 100644 --- a/packager/scaffold/src/LANGUAGE/integration/_integration_suite_test.go +++ b/packager/scaffold/src/LANGUAGE/integration/_integration_suite_test.go @@ -13,7 +13,7 @@ import ( "github.com/blang/semver" "github.com/cloudfoundry/libbuildpack/cutlass" - . "github.com/onsi/ginkgo" + . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" "testing" diff --git a/packager/scaffold/src/LANGUAGE/integration/_simple_test.go b/packager/scaffold/src/LANGUAGE/integration/_simple_test.go index ebf5260d..fe2c0be3 100644 --- a/packager/scaffold/src/LANGUAGE/integration/_simple_test.go +++ b/packager/scaffold/src/LANGUAGE/integration/_simple_test.go @@ -5,7 +5,7 @@ import ( "github.com/cloudfoundry/libbuildpack/cutlass" - . "github.com/onsi/ginkgo" + . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ) diff --git a/packager/scaffold/src/LANGUAGE/supply/_supply_suite_test.go b/packager/scaffold/src/LANGUAGE/supply/_supply_suite_test.go index 04bdd6c1..5161ffbf 100644 --- a/packager/scaffold/src/LANGUAGE/supply/_supply_suite_test.go +++ b/packager/scaffold/src/LANGUAGE/supply/_supply_suite_test.go @@ -1,7 +1,7 @@ package supply_test import ( - . "github.com/onsi/ginkgo" + . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" "testing" diff --git a/packager/scaffold/src/LANGUAGE/supply/_supply_test.go b/packager/scaffold/src/LANGUAGE/supply/_supply_test.go index e15c243e..1d9f8c40 100644 --- a/packager/scaffold/src/LANGUAGE/supply/_supply_test.go +++ b/packager/scaffold/src/LANGUAGE/supply/_supply_test.go @@ -1,7 +1,7 @@ package supply_test import ( - . "github.com/onsi/ginkgo" + . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ) diff --git a/packager/scaffold/src/LANGUAGE/supply/cli/_cli_suite_test.go b/packager/scaffold/src/LANGUAGE/supply/cli/_cli_suite_test.go index 3d4ced4e..ee407cea 100644 --- a/packager/scaffold/src/LANGUAGE/supply/cli/_cli_suite_test.go +++ b/packager/scaffold/src/LANGUAGE/supply/cli/_cli_suite_test.go @@ -1,7 +1,7 @@ package main_test import ( - . "github.com/onsi/ginkgo" + . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" "testing" diff --git a/packager/summary_test.go b/packager/summary_test.go index 229872fd..d36f3855 100644 --- a/packager/summary_test.go +++ b/packager/summary_test.go @@ -3,7 +3,7 @@ package packager_test import ( "github.com/cloudfoundry/libbuildpack/packager" httpmock "github.com/jarcoal/httpmock" - . "github.com/onsi/ginkgo" + . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ) diff --git a/snapshot/snapshot_suite_test.go b/snapshot/snapshot_suite_test.go index d3a9c1cd..d4286b24 100644 --- a/snapshot/snapshot_suite_test.go +++ b/snapshot/snapshot_suite_test.go @@ -1,7 +1,7 @@ package snapshot_test import ( - . "github.com/onsi/ginkgo" + . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" "testing" diff --git a/snapshot/snapshot_test.go b/snapshot/snapshot_test.go index 413f653e..405cc265 100644 --- a/snapshot/snapshot_test.go +++ b/snapshot/snapshot_test.go @@ -9,7 +9,7 @@ import ( "github.com/cloudfoundry/libbuildpack/snapshot" gomock "github.com/golang/mock/gomock" - . "github.com/onsi/ginkgo" + . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ) diff --git a/stager_test.go b/stager_test.go index 0a81dd98..0d99eab5 100644 --- a/stager_test.go +++ b/stager_test.go @@ -11,7 +11,7 @@ import ( "github.com/cloudfoundry/libbuildpack" - . "github.com/onsi/ginkgo" + . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ) diff --git a/util_test.go b/util_test.go index e4c95070..0a884d94 100644 --- a/util_test.go +++ b/util_test.go @@ -7,7 +7,7 @@ import ( "runtime" "github.com/cloudfoundry/libbuildpack" - . "github.com/onsi/ginkgo" + . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ) diff --git a/versions_test.go b/versions_test.go index f9343221..c578e6c8 100644 --- a/versions_test.go +++ b/versions_test.go @@ -5,7 +5,7 @@ import ( bp "github.com/cloudfoundry/libbuildpack" - . "github.com/onsi/ginkgo" + . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ) diff --git a/yaml_test.go b/yaml_test.go index ffb0c886..aaaaf6d6 100644 --- a/yaml_test.go +++ b/yaml_test.go @@ -6,7 +6,7 @@ import ( "path/filepath" "github.com/cloudfoundry/libbuildpack" - . "github.com/onsi/ginkgo" + . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ) From be34c8fc5457ae48067f2dc542b6b7d8ebe690c3 Mon Sep 17 00:00:00 2001 From: ramonskie Date: Mon, 2 Mar 2026 16:23:04 +0100 Subject: [PATCH 2/3] refactor: migrate Ginkgo v1 AfterEach cleanup to v2 DeferCleanup Replace all AfterEach cleanup blocks with DeferCleanup calls co-located in BeforeEach/JustBeforeEach, following Ginkgo v2 idioms. Bare AfterEach at Describe-level are replaced with direct DeferCleanup calls in the Describe body. --- bratshelper/tests.go | 18 +++---- checksum/checksum_test.go | 5 +- cutlass/docker/dockerfile_test.go | 10 +--- cutlass/glow/archiver_test.go | 5 +- hooks_test.go | 5 +- installer_test.go | 17 ++----- json_test.go | 6 +-- logger_test.go | 6 +-- manifest_test.go | 25 ++-------- packager/packager_test.go | 7 ++- .../src/LANGUAGE/integration/_simple_test.go | 2 +- snapshot/snapshot_test.go | 11 +---- stager_test.go | 32 +++---------- util_test.go | 48 ++++++++----------- yaml_test.go | 6 +-- 15 files changed, 58 insertions(+), 145 deletions(-) diff --git a/bratshelper/tests.go b/bratshelper/tests.go index 94bfbd0a..fda312e9 100644 --- a/bratshelper/tests.go +++ b/bratshelper/tests.go @@ -33,10 +33,10 @@ func UnbuiltBuildpack(depName string, copyBrats func(string) *cutlass.App) { Expect(cmd.Run()).To(Succeed()) Expect(cutlass.CreateOrUpdateBuildpack(bpName, filepath.Join("/tmp", bpName+".zip"), "")).To(Succeed()) Expect(os.Remove(filepath.Join("/tmp", bpName+".zip"))).To(Succeed()) - }) - AfterEach(func() { - defaultCleanup(app) - Expect(cutlass.DeleteBuildpack(bpName)).To(Succeed()) + DeferCleanup(func() { + defaultCleanup(app) + Expect(cutlass.DeleteBuildpack(bpName)).To(Succeed()) + }) }) It("runs", func() { @@ -68,9 +68,9 @@ func DeployAppWithExecutableProfileScript(depName string, copyBrats func(string) AddDotProfileScriptToApp(app.Path) app.Buildpacks = []string{Data.Cached} PushApp(app) - }) - AfterEach(func() { - defaultCleanup(app) + DeferCleanup(func() { + defaultCleanup(app) + }) }) It("executes the .profile script", func() { @@ -97,7 +97,7 @@ func ForAllSupportedVersions(depName string, copyBrats func(string) *cutlass.App versions := manifest.AllDependencyVersions(depName) var app *cutlass.App - AfterEach(func() { + DeferCleanup(func() { defaultCleanup(app) }) @@ -127,7 +127,7 @@ func ForAllSupportedVersions2(depName1, depName2 string, compatible func(string, versions2 := manifest.AllDependencyVersions(depName2) var app *cutlass.App - AfterEach(func() { + DeferCleanup(func() { defaultCleanup(app) }) diff --git a/checksum/checksum_test.go b/checksum/checksum_test.go index b6302ea1..b5813566 100644 --- a/checksum/checksum_test.go +++ b/checksum/checksum_test.go @@ -25,6 +25,7 @@ var _ = Describe("Checksum", func() { var err error dir, err = ioutil.TempDir("", "checksum") Expect(err).To(BeNil()) + DeferCleanup(os.RemoveAll, dir) Expect(os.MkdirAll(filepath.Join(dir, ".cloudfoundry"), 0755)).To(Succeed()) Expect(os.MkdirAll(filepath.Join(dir, "a", "b"), 0755)).To(Succeed()) @@ -34,10 +35,6 @@ var _ = Describe("Checksum", func() { exec = func() error { return nil } }) - AfterEach(func() { - Expect(os.RemoveAll(dir)).To(Succeed()) - }) - debug := func(format string, args ...interface{}) { lines = append(lines, fmt.Sprintf(format, args...)) } diff --git a/cutlass/docker/dockerfile_test.go b/cutlass/docker/dockerfile_test.go index 2237deed..b2882129 100644 --- a/cutlass/docker/dockerfile_test.go +++ b/cutlass/docker/dockerfile_test.go @@ -43,10 +43,7 @@ RUN unzip /tmp/buildpack-path -d /buildpack`)) Context("when the CF_STACK environment variable is set", func() { BeforeEach(func() { Expect(os.Setenv("CF_STACK", "some-stack")).To(Succeed()) - }) - - AfterEach(func() { - Expect(os.Unsetenv("CF_STACK")).To(Succeed()) + DeferCleanup(os.Unsetenv, "CF_STACK") }) It("returns a dockerfile used for staging", func() { @@ -75,10 +72,7 @@ RUN unzip /tmp/buildpack-path -d /buildpack`)) Context("when the CF_STACK_DOCKER_IMAGE environment variable is set", func() { BeforeEach(func() { Expect(os.Setenv("CF_STACK_DOCKER_IMAGE", "some-stack-docker-image")).To(Succeed()) - }) - - AfterEach(func() { - Expect(os.Unsetenv("CF_STACK_DOCKER_IMAGE")).To(Succeed()) + DeferCleanup(os.Unsetenv, "CF_STACK_DOCKER_IMAGE") }) It("returns a dockerfile used for staging", func() { diff --git a/cutlass/glow/archiver_test.go b/cutlass/glow/archiver_test.go index b3d1d908..e28b65fb 100644 --- a/cutlass/glow/archiver_test.go +++ b/cutlass/glow/archiver_test.go @@ -25,6 +25,7 @@ var _ = Describe("Archiver", func() { var err error tmpDir, err = ioutil.TempDir("", "archiver") Expect(err).NotTo(HaveOccurred()) + DeferCleanup(os.RemoveAll, tmpDir) packager = &fakes.Packager{} packager.PackageCall.Returns.Stderr = "Packaged Shimmed Buildpack at: some-buildpack-file.zip" @@ -32,10 +33,6 @@ var _ = Describe("Archiver", func() { archiver = glow.NewArchiver(packager) }) - AfterEach(func() { - Expect(os.RemoveAll(tmpDir)).To(Succeed()) - }) - Describe("Archive", func() { BeforeEach(func() { err := ioutil.WriteFile(filepath.Join(tmpDir, "VERSION"), []byte("1.2.3"), 0644) diff --git a/hooks_test.go b/hooks_test.go index 3c5f911e..992a9dec 100644 --- a/hooks_test.go +++ b/hooks_test.go @@ -22,10 +22,7 @@ var _ = Describe("Hooks", func() { mockCtrl = gomock.NewController(GinkgoT()) mockHook = NewMockHook(mockCtrl) mockStager = &bp.Stager{} - }) - - AfterEach(func() { - bp.ClearHooks() + DeferCleanup(bp.ClearHooks) }) Describe("RunBeforeCompile", func() { diff --git a/installer_test.go b/installer_test.go index 717dd7a1..eefc4f06 100644 --- a/installer_test.go +++ b/installer_test.go @@ -33,6 +33,7 @@ var _ = Describe("Installer", func() { BeforeEach(func() { oldCfStack = os.Getenv("CF_STACK") os.Setenv("CF_STACK", "cflinuxfs2") + DeferCleanup(os.Setenv, "CF_STACK", oldCfStack) err = nil manifestDir = "fixtures/manifest/standard" currentTime = time.Now() @@ -41,8 +42,6 @@ var _ = Describe("Installer", func() { buffer = new(bytes.Buffer) logger = libbuildpack.NewLogger(ansicleaner.New(buffer)) }) - AfterEach(func() { err = os.Setenv("CF_STACK", oldCfStack); Expect(err).To(BeNil()) }) - JustBeforeEach(func() { manifest, err := libbuildpack.NewManifest(manifestDir, logger, currentTime) Expect(err).To(BeNil()) @@ -68,12 +67,14 @@ var _ = Describe("Installer", func() { BeforeEach(func() { tmpdir, err = ioutil.TempDir("", "downloads") Expect(err).To(BeNil()) + DeferCleanup(os.RemoveAll, tmpdir) outputFile = filepath.Join(tmpdir, "out.tgz") manifestDir, err = ioutil.TempDir("", "buildpack") Expect(err).To(BeNil()) appCacheDir, err = ioutil.TempDir("", "appCache") Expect(err).To(BeNil()) + DeferCleanup(os.RemoveAll, appCacheDir) entryToFetch = ExpectedEntry{ entry: libbuildpack.ManifestEntry{ @@ -103,10 +104,6 @@ var _ = Describe("Installer", func() { } } }) - AfterEach(func() { - Expect(os.RemoveAll(tmpdir)).To(Succeed()) - Expect(os.RemoveAll(appCacheDir)).To(Succeed()) - }) type CachedTestInputs struct { pathToCachedFile string @@ -515,11 +512,7 @@ var _ = Describe("Installer", func() { BeforeEach(func() { outputDir, err = ioutil.TempDir("", "downloads") Expect(err).To(BeNil()) - }) - - AfterEach(func() { - err = os.RemoveAll(outputDir) - Expect(err).To(BeNil()) + DeferCleanup(os.RemoveAll, outputDir) }) Context("uncached", func() { @@ -937,8 +930,8 @@ var _ = Describe("Installer", func() { manifestDir = "fixtures/manifest/fetch" outputDir, err = ioutil.TempDir("", "downloads") Expect(err).To(BeNil()) + DeferCleanup(os.RemoveAll, outputDir) }) - AfterEach(func() { err = os.RemoveAll(outputDir); Expect(err).To(BeNil()) }) Context("there is only one version of the dependency", func() { BeforeEach(func() { diff --git a/json_test.go b/json_test.go index cdcdf0ab..062f9ac4 100644 --- a/json_test.go +++ b/json_test.go @@ -20,15 +20,11 @@ var _ = Describe("JSON", func() { BeforeEach(func() { tmpDir, err = ioutil.TempDir("", "json") Expect(err).To(BeNil()) + DeferCleanup(os.RemoveAll, tmpDir) json = &libbuildpack.JSON{} }) - AfterEach(func() { - err = os.RemoveAll(tmpDir) - Expect(err).To(BeNil()) - }) - Describe("Load", func() { Context("file is valid json", func() { Context("that starts with BOM", func() { diff --git a/logger_test.go b/logger_test.go index 61364451..3e3335d7 100644 --- a/logger_test.go +++ b/logger_test.go @@ -30,15 +30,11 @@ var _ = Describe("Logger", func() { JustBeforeEach(func() { oldBpDebug = os.Getenv("BP_DEBUG") + DeferCleanup(os.Setenv, "BP_DEBUG", oldBpDebug) err = os.Setenv("BP_DEBUG", bpDebug) Expect(err).To(BeNil()) }) - AfterEach(func() { - err = os.Setenv("BP_DEBUG", oldBpDebug) - Expect(err).To(BeNil()) - }) - Context("BP_DEBUG is set", func() { BeforeEach(func() { bpDebug = "true" diff --git a/manifest_test.go b/manifest_test.go index f52113fc..4a43b965 100644 --- a/manifest_test.go +++ b/manifest_test.go @@ -31,6 +31,7 @@ var _ = Describe("Manifest", func() { BeforeEach(func() { oldCfStack = os.Getenv("CF_STACK") os.Setenv("CF_STACK", "cflinuxfs2") + DeferCleanup(os.Setenv, "CF_STACK", oldCfStack) manifestDir = "fixtures/manifest/standard" currentTime = time.Now() httpmock.Reset() @@ -38,8 +39,6 @@ var _ = Describe("Manifest", func() { buffer = new(bytes.Buffer) logger = libbuildpack.NewLogger(ansicleaner.New(buffer)) }) - AfterEach(func() { err = os.Setenv("CF_STACK", oldCfStack); Expect(err).To(BeNil()) }) - JustBeforeEach(func() { manifest, err = libbuildpack.NewManifest(manifestDir, logger, currentTime) Expect(err).To(BeNil()) @@ -56,6 +55,7 @@ var _ = Describe("Manifest", func() { BeforeEach(func() { depsDir, err = ioutil.TempDir("", "libbuildpack_override") Expect(err).ToNot(HaveOccurred()) + DeferCleanup(os.RemoveAll, depsDir) Expect(os.Mkdir(filepath.Join(depsDir, "0"), 0755)).To(Succeed()) Expect(os.Mkdir(filepath.Join(depsDir, "1"), 0755)).To(Succeed()) Expect(os.Mkdir(filepath.Join(depsDir, "2"), 0755)).To(Succeed()) @@ -86,10 +86,6 @@ ruby: Expect(ioutil.WriteFile(filepath.Join(depsDir, "1", "override.yml"), []byte(data), 0644)).To(Succeed()) }) - AfterEach(func() { - Expect(os.RemoveAll(depsDir)).To(Succeed()) - }) - It("updates default version", func() { Expect(manifest.DefaultVersion("node")).To(Equal(libbuildpack.Dependency{Name: "node", Version: "6.9.4"})) @@ -297,6 +293,7 @@ ruby: var err error manifestDir, err = ioutil.TempDir("", "cached") Expect(err).To(BeNil()) + DeferCleanup(os.RemoveAll, manifestDir) data, err := ioutil.ReadFile("fixtures/manifest/fetch/manifest.yml") Expect(err).To(BeNil()) @@ -304,10 +301,6 @@ ruby: err = ioutil.WriteFile(filepath.Join(manifestDir, "manifest.yml"), data, 0644) Expect(err).To(BeNil()) }) - AfterEach(func() { - Expect(os.RemoveAll(manifestDir)).To(Succeed()) - }) - Context("uncached buildpack", func() { It("is false", func() { Expect(manifest.IsCached()).To(BeFalse()) @@ -402,11 +395,7 @@ ruby: BeforeEach(func() { cacheDir, err = ioutil.TempDir("", "cache") - }) - - AfterEach(func() { - err = os.RemoveAll(cacheDir) - Expect(err).To(BeNil()) + DeferCleanup(os.RemoveAll, cacheDir) }) Context("BUILDPACK_METADATA exists", func() { @@ -464,11 +453,7 @@ ruby: BeforeEach(func() { cacheDir, err = ioutil.TempDir("", "cache") - }) - - AfterEach(func() { - err = os.RemoveAll(cacheDir) - Expect(err).To(BeNil()) + DeferCleanup(os.RemoveAll, cacheDir) }) Context("VERSION file exists", func() { diff --git a/packager/packager_test.go b/packager/packager_test.go index a2f71619..73e2e207 100644 --- a/packager/packager_test.go +++ b/packager/packager_test.go @@ -49,11 +49,10 @@ var _ = Describe("Packager", func() { var err error destDir, err = ioutil.TempDir("", "packager-download") Expect(err).To(BeNil()) + DeferCleanup(os.RemoveAll, destDir) destFile = filepath.Join(destDir, "some_dep_1.2.3+4_linux.tgz") }) - AfterEach(func() { os.RemoveAll(destDir) }) - Context("when the server returns a non-2xx status", func() { It("returns an error containing the URI and does not leave a file on disk", func() { server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { @@ -93,7 +92,7 @@ var _ = Describe("Packager", func() { Describe("Package", func() { var zipFile string var cached bool - AfterEach(func() { os.Remove(zipFile) }) + DeferCleanup(func() { os.Remove(zipFile) }) AssertStack := func() { var manifest *packager.Manifest @@ -274,8 +273,8 @@ var _ = Describe("Packager", func() { Expect(ioutil.WriteFile(filepath.Join(tempdir, "manifest.yml"), []byte(manifestyml2), 0644)).To(Succeed()) buildpackDir = tempdir + DeferCleanup(os.RemoveAll, buildpackDir) }) - AfterEach(func() { os.RemoveAll(buildpackDir) }) It("includes dependencies", func() { dest := filepath.Join("dependencies", fmt.Sprintf("%x", md5.Sum([]byte("file://"+tempfile))), filepath.Base(tempfile)) diff --git a/packager/scaffold/src/LANGUAGE/integration/_simple_test.go b/packager/scaffold/src/LANGUAGE/integration/_simple_test.go index fe2c0be3..00ed0f56 100644 --- a/packager/scaffold/src/LANGUAGE/integration/_simple_test.go +++ b/packager/scaffold/src/LANGUAGE/integration/_simple_test.go @@ -11,7 +11,7 @@ import ( var _ = Describe("Simple Integration Test", func() { var app *cutlass.App - AfterEach(func() { + DeferCleanup(func() { if app != nil { app.Destroy() } diff --git a/snapshot/snapshot_test.go b/snapshot/snapshot_test.go index 405cc265..ffd2d577 100644 --- a/snapshot/snapshot_test.go +++ b/snapshot/snapshot_test.go @@ -26,9 +26,11 @@ var _ = Describe("Snapshot", func() { BeforeEach(func() { origBPDebug = os.Getenv("BP_DEBUG") + DeferCleanup(os.Setenv, "BP_DEBUG", origBPDebug) tmpDir, err = ioutil.TempDir("", "libbuildpack.snapshot.build.") Expect(err).To(BeNil()) + DeferCleanup(os.RemoveAll, tmpDir) Expect(ioutil.WriteFile(filepath.Join(tmpDir, "Gemfile"), []byte("source \"https://rubygems.org\"\r\ngem \"rack\"\r\n"), 0644)).To(Succeed()) Expect(ioutil.WriteFile(filepath.Join(tmpDir, "other"), []byte("other"), 0644)).To(Succeed()) @@ -41,15 +43,6 @@ var _ = Describe("Snapshot", func() { mockLogger = NewMockLogger(mockCtrl) }) - AfterEach(func() { - os.Setenv("BP_DEBUG", origBPDebug) - - mockCtrl.Finish() - - err = os.RemoveAll(tmpDir) - Expect(err).To(BeNil()) - }) - Context("BP_DEBUG is set", func() { BeforeEach(func() { os.Setenv("BP_DEBUG", "1") diff --git a/stager_test.go b/stager_test.go index 0d99eab5..13e630e8 100644 --- a/stager_test.go +++ b/stager_test.go @@ -33,12 +33,15 @@ var _ = Describe("Stager", func() { BeforeEach(func() { buildDir, err = ioutil.TempDir("", "build") Expect(err).To(BeNil()) + DeferCleanup(os.RemoveAll, buildDir) cacheDir, err = ioutil.TempDir("", "cache") Expect(err).To(BeNil()) + DeferCleanup(os.RemoveAll, cacheDir) depsDir, err = ioutil.TempDir("", "deps") Expect(err).To(BeNil()) + DeferCleanup(os.RemoveAll, depsDir) depsIdx = "0" err = os.MkdirAll(filepath.Join(depsDir, depsIdx), 0755) @@ -46,6 +49,7 @@ var _ = Describe("Stager", func() { profileDir, err = ioutil.TempDir("", "profiled") Expect(err).To(BeNil()) + DeferCleanup(os.RemoveAll, profileDir) manifestDir = filepath.Join("fixtures", "manifest", "standard") @@ -59,20 +63,6 @@ var _ = Describe("Stager", func() { s = libbuildpack.NewStager([]string{buildDir, cacheDir, depsDir, depsIdx, profileDir}, logger, manifest) }) - AfterEach(func() { - err = os.RemoveAll(buildDir) - Expect(err).To(BeNil()) - - err = os.RemoveAll(cacheDir) - Expect(err).To(BeNil()) - - err = os.RemoveAll(depsDir) - Expect(err).To(BeNil()) - - err = os.RemoveAll(profileDir) - Expect(err).To(BeNil()) - }) - Describe("NewStager", func() { var args []string @@ -300,6 +290,7 @@ var _ = Describe("Stager", func() { BeforeEach(func() { destDir, err = ioutil.TempDir("", "untarred-dependencies") Expect(err).To(BeNil()) + DeferCleanup(os.RemoveAll, destDir) err = ioutil.WriteFile(filepath.Join(destDir, "thing1"), []byte("xxx"), 0644) Expect(err).To(BeNil()) @@ -308,11 +299,6 @@ var _ = Describe("Stager", func() { Expect(err).To(BeNil()) }) - AfterEach(func() { - err = os.RemoveAll(destDir) - Expect(err).To(BeNil()) - }) - It("it creates a symlink // pointing to each file in dest dir", func() { err := s.LinkDirectoryInDepDir(destDir, "include") Expect(err).To(BeNil()) @@ -466,17 +452,11 @@ var _ = Describe("Stager", func() { for _, envVar := range vars { envVars[envVar] = os.Getenv(envVar) + DeferCleanup(os.Setenv, envVar, os.Getenv(envVar)) os.Setenv(envVar, "existing_"+envVar) } }) - AfterEach(func() { - for key, val := range envVars { - err = os.Setenv(key, val) - Expect(err).To(BeNil()) - } - }) - It("sets PATH based on the supplied deps", func() { err = s.SetStagingEnvironment() Expect(err).To(BeNil()) diff --git a/util_test.go b/util_test.go index 0a884d94..34daaa2b 100644 --- a/util_test.go +++ b/util_test.go @@ -23,8 +23,8 @@ var _ = Describe("Util", func() { BeforeEach(func() { tmpdir, err = ioutil.TempDir("", "exploded") Expect(err).To(BeNil()) + DeferCleanup(os.RemoveAll, tmpdir) }) - AfterEach(func() { err = os.RemoveAll(tmpdir); Expect(err).To(BeNil()) }) Context("with a valid zip file", func() { It("extracts a file at the root", func() { @@ -95,8 +95,8 @@ var _ = Describe("Util", func() { BeforeEach(func() { tmpdir, err = ioutil.TempDir("", "exploded") Expect(err).To(BeNil()) + DeferCleanup(os.RemoveAll, tmpdir) }) - AfterEach(func() { err = os.RemoveAll(tmpdir); Expect(err).To(BeNil()) }) Context("with stripComponents=0", func() { It("behaves like ExtractZip", func() { @@ -139,11 +139,7 @@ var _ = Describe("Util", func() { oldBpDir = os.Getenv("BUILDPACK_DIR") err = os.Setenv("BUILDPACK_DIR", testBpDir) Expect(err).To(BeNil()) - }) - - AfterEach(func() { - err = os.Setenv("BUILDPACK_DIR", oldBpDir) - Expect(err).To(BeNil()) + DeferCleanup(os.Setenv, "BUILDPACK_DIR", oldBpDir) }) Context("BUILDPACK_DIR is set", func() { @@ -177,8 +173,8 @@ var _ = Describe("Util", func() { BeforeEach(func() { tmpdir, err = ioutil.TempDir("", "exploded") Expect(err).To(BeNil()) + DeferCleanup(os.RemoveAll, tmpdir) }) - AfterEach(func() { err = os.RemoveAll(tmpdir); Expect(err).To(BeNil()) }) Context("a tar.xz file", func() { It("extracts the whole file and resolves hard links", func() { @@ -297,8 +293,8 @@ var _ = Describe("Util", func() { BeforeEach(func() { tmpdir, err = ioutil.TempDir("", "exploded") Expect(err).To(BeNil()) + DeferCleanup(os.RemoveAll, tmpdir) }) - AfterEach(func() { err = os.RemoveAll(tmpdir); Expect(err).To(BeNil()) }) Context("with stripComponents=0", func() { It("behaves like ExtractTarGz", func() { @@ -332,8 +328,8 @@ var _ = Describe("Util", func() { BeforeEach(func() { tmpdir, err = ioutil.TempDir("", "exploded") Expect(err).To(BeNil()) + DeferCleanup(os.RemoveAll, tmpdir) }) - AfterEach(func() { err = os.RemoveAll(tmpdir); Expect(err).To(BeNil()) }) Context("with stripComponents=0", func() { It("behaves like ExtractTarXz", func() { @@ -375,24 +371,22 @@ var _ = Describe("Util", func() { } oldUmask = umask(0000) - }) - AfterEach(func() { - var fh *os.File - sourceFile := "fixtures/source.txt" + DeferCleanup(func() { + var fh *os.File + fh, err = os.Open(sourceFile) + Expect(err).To(BeNil()) + defer fh.Close() - fh, err = os.Open(sourceFile) - Expect(err).To(BeNil()) - defer fh.Close() + if runtime.GOOS != "windows" { + err = fh.Chmod(oldMode) + Expect(err).To(BeNil()) + } - if runtime.GOOS != "windows" { - err = fh.Chmod(oldMode) + err = os.RemoveAll(tmpdir) Expect(err).To(BeNil()) - } - - err = os.RemoveAll(tmpdir) - Expect(err).To(BeNil()) - umask(oldUmask) + umask(oldUmask) + }) }) Context("with a valid source file", func() { @@ -529,11 +523,7 @@ var _ = Describe("Util", func() { BeforeEach(func() { dir, err = ioutil.TempDir("", "file.exists") Expect(err).To(BeNil()) - }) - - AfterEach(func() { - err = os.RemoveAll(dir) - Expect(err).To(BeNil()) + DeferCleanup(os.RemoveAll, dir) }) It("returns true", func() { diff --git a/yaml_test.go b/yaml_test.go index aaaaf6d6..1da3a477 100644 --- a/yaml_test.go +++ b/yaml_test.go @@ -20,15 +20,11 @@ var _ = Describe("YAML", func() { BeforeEach(func() { tmpDir, err = ioutil.TempDir("", "yaml") Expect(err).To(BeNil()) + DeferCleanup(os.RemoveAll, tmpDir) yaml = &libbuildpack.YAML{} }) - AfterEach(func() { - err = os.RemoveAll(tmpDir) - Expect(err).To(BeNil()) - }) - Describe("Load", func() { Context("file is valid yaml", func() { BeforeEach(func() { From 1ad001f64d8e26b56717b28b601f1dd8153e12fd Mon Sep 17 00:00:00 2001 From: ramonskie Date: Mon, 2 Mar 2026 17:30:31 +0100 Subject: [PATCH 3/3] fix: wrap bare DeferCleanup in BeforeEach in packager_test DeferCleanup must be called inside a setup or subject node, not directly in a Describe body (container node). --- packager/packager_test.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packager/packager_test.go b/packager/packager_test.go index 73e2e207..eca54602 100644 --- a/packager/packager_test.go +++ b/packager/packager_test.go @@ -92,7 +92,9 @@ var _ = Describe("Packager", func() { Describe("Package", func() { var zipFile string var cached bool - DeferCleanup(func() { os.Remove(zipFile) }) + BeforeEach(func() { + DeferCleanup(func() { os.Remove(zipFile) }) + }) AssertStack := func() { var manifest *packager.Manifest