Skip to content

Commit

Permalink
[chore] replace deprecated tenv with usetesting (#12576)
Browse files Browse the repository at this point in the history
#### Description
There are a bunch of warnings in the lint output about tenv being
deprecated, and moving to usetesting. Reference:
https://golangci-lint.run/usage/linters/#tenv

#### Link to tracking issue
none

#### Testing
Ran `make golint` and `make all`
<!--Describe the documentation added.-->

---------

Co-authored-by: Pablo Baeyens <[email protected]>
  • Loading branch information
mattsains and mx-psi authored Mar 7, 2025
1 parent 9de8cfd commit 7d3e03e
Show file tree
Hide file tree
Showing 7 changed files with 24 additions and 28 deletions.
2 changes: 1 addition & 1 deletion .golangci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,7 @@ linters:
- perfsprint
- revive
- staticcheck
- tenv
- usetesting
- testifylint
- thelper
- unconvert
Expand Down
2 changes: 1 addition & 1 deletion config/configgrpc/configgrpc_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -1165,7 +1165,7 @@ func sendTestRequest(t *testing.T, gcs ClientConfig) (ptraceotlp.ExportResponse,

// tempSocketName provides a temporary Unix socket name for testing.
func tempSocketName(t *testing.T) string {
tmpfile, err := os.CreateTemp("", "sock")
tmpfile, err := os.CreateTemp(t.TempDir(), "sock")
require.NoError(t, err)
require.NoError(t, tmpfile.Close())
socket := tmpfile.Name()
Expand Down
2 changes: 1 addition & 1 deletion config/configtls/clientcasfilereloader_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ func createReloader(t *testing.T) (*clientCAsFileReloader, *testLoader, string)
}

func createTempFile(t *testing.T) string {
tmpCa, err := os.CreateTemp("", "clientCAs.crt")
tmpCa, err := os.CreateTemp(t.TempDir(), "clientCAs.crt")
require.NoError(t, err)
tmpCaPath, err := filepath.Abs(tmpCa.Name())
assert.NoError(t, err)
Expand Down
12 changes: 7 additions & 5 deletions config/configtls/configtls_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -456,7 +456,7 @@ func overwriteClientCA(t *testing.T, targetFilePath string, testdataFileName str
}

func createTempClientCaFile(t *testing.T) string {
tmpCa, err := os.CreateTemp("", "ca-tmp.crt")
tmpCa, err := os.CreateTemp(t.TempDir(), "ca-tmp.crt")
require.NoError(t, err)
tmpCaPath, err := filepath.Abs(tmpCa.Name())
assert.NoError(t, err)
Expand Down Expand Up @@ -533,18 +533,20 @@ func TestCertificateReload(t *testing.T) {
for _, test := range tests {
t.Run(test.name, func(t *testing.T) {
// Copy certs into a temp dir so we can safely modify them
certFile, err := os.CreateTemp("", "cert")
tempDir := t.TempDir()
certFile, err := os.CreateTemp(tempDir, "cert")
require.NoError(t, err)
defer os.Remove(certFile.Name())
defer certFile.Close()

keyFile, err := os.CreateTemp("", "key")
keyFile, err := os.CreateTemp(tempDir, "key")
require.NoError(t, err)
defer os.Remove(keyFile.Name())
defer keyFile.Close()

fdc, err := os.Open(filepath.Join("testdata", "client-1.crt"))
require.NoError(t, err)
_, err = io.Copy(certFile, fdc)
require.NoError(t, err)
require.NoError(t, fdc.Close())

fdk, err := os.Open(filepath.Join("testdata", "client-1.key"))
require.NoError(t, err)
Expand Down
6 changes: 3 additions & 3 deletions confmap/internal/e2e/fuzz_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,16 +19,16 @@ func targetNested[T any](t *testing.T, value string) {
resolver := NewResolver(t, "types_expand.yaml")

// Use os.Setenv so we can check the error and return instead of failing the fuzzing.
os.Setenv("ENV", "${env:ENV2}") //nolint:tenv
os.Setenv("ENV", "${env:ENV2}") //nolint:usetesting
defer os.Unsetenv("ENV")
err := os.Setenv("ENV2", value) //nolint:tenv
err := os.Setenv("ENV2", value) //nolint:usetesting
defer os.Unsetenv("ENV2")
if err != nil {
return
}
confNested, errResolveNested := resolver.Resolve(context.Background())

err = os.Setenv("ENV", value) //nolint:tenv
err = os.Setenv("ENV", value) //nolint:usetesting
if err != nil {
return
}
Expand Down
26 changes: 10 additions & 16 deletions confmap/provider/internal/configurablehttpprovider/provider_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ func answerGet(w http.ResponseWriter, _ *http.Request) {

// Generate a self signed certificate specific for the tests. Based on
// https://go.dev/src/crypto/tls/generate_cert.go
func generateCertificate(hostname string) (cert string, key string, err error) {
func generateCertificate(t *testing.T, hostname string) (cert string, key string, err error) {
priv, err := rsa.GenerateKey(rand.Reader, 2048)
if err != nil {
return "", "", fmt.Errorf("Failed to generate private key: %w", err)
Expand Down Expand Up @@ -83,23 +83,23 @@ func generateCertificate(hostname string) (cert string, key string, err error) {
return "", "", fmt.Errorf("Failed to create certificate: %w", err)
}

certOut, err := os.CreateTemp("", "cert*.pem")
tempDir := t.TempDir()
certOut, err := os.CreateTemp(tempDir, "cert*.pem")
if err != nil {
return "", "", fmt.Errorf("Failed to open cert.pem for writing: %w", err)
}

defer certOut.Close()

if err = pem.Encode(certOut, &pem.Block{Type: "CERTIFICATE", Bytes: derBytes}); err != nil {
return "", "", fmt.Errorf("Failed to write data to cert.pem: %w", err)
}

if err = certOut.Close(); err != nil {
return "", "", fmt.Errorf("Error closing cert.pem: %w", err)
}

keyOut, err := os.CreateTemp("", "key*.pem")
keyOut, err := os.CreateTemp(tempDir, "key*.pem")
if err != nil {
return "", "", fmt.Errorf("Failed to open key.pem for writing: %w", err)
}
defer keyOut.Close()

privBytes, err := x509.MarshalPKCS8PrivateKey(priv)
if err != nil {
Expand All @@ -110,10 +110,6 @@ func generateCertificate(hostname string) (cert string, key string, err error) {
return "", "", fmt.Errorf("Failed to write data to key.pem: %w", err)
}

if err := keyOut.Close(); err != nil {
return "", "", fmt.Errorf("Error closing key.pem: %w", err)
}

return certOut.Name(), keyOut.Name(), nil
}

Expand All @@ -127,10 +123,11 @@ func TestFunctionalityDownloadFileHTTP(t *testing.T) {
}

func TestFunctionalityDownloadFileHTTPS(t *testing.T) {
certPath, keyPath, err := generateCertificate("localhost")
certPath, keyPath, err := generateCertificate(t, "localhost")
require.NoError(t, err)

invalidCert, err := os.CreateTemp("", "cert*.crt")
invalidCert, err := os.CreateTemp(t.TempDir(), "cert*.crt")
defer func() { require.NoError(t, invalidCert.Close()) }()
require.NoError(t, err)
_, err = invalidCert.Write([]byte{0, 1, 2})
require.NoError(t, err)
Expand All @@ -141,9 +138,6 @@ func TestFunctionalityDownloadFileHTTPS(t *testing.T) {
ts.TLS = &tls.Config{Certificates: []tls.Certificate{cert}}
ts.StartTLS()

defer os.Remove(certPath)
defer os.Remove(keyPath)
defer os.Remove(invalidCert.Name())
defer ts.Close()

tests := []struct {
Expand Down
2 changes: 1 addition & 1 deletion confmap/resolver_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -489,14 +489,14 @@ func runScenario(t *testing.T, path string) {
for _, c := range tt.Configs {
// store configs into a temp file. This makes it easier for us to test feature gate functionality
file, err := os.CreateTemp(t.TempDir(), "*.yaml")
defer func() { require.NoError(t, file.Close()) }()
require.NoError(t, err)
b, err := json.Marshal(c)
require.NoError(t, err)
n, err := file.Write(b)
require.NoError(t, err)
require.Positive(t, n, 0)
configFiles = append(configFiles, file.Name())
file.Close()
}

resolver, err := NewResolver(ResolverSettings{
Expand Down

0 comments on commit 7d3e03e

Please sign in to comment.