Tests: use t.Setenv to set env vars (#69516)

This commit replaces `os.Setenv` with `t.Setenv` in tests. The
environment variable is automatically restored to its original value
when the test and all its subtests complete.

Reference: https://pkg.go.dev/testing#T.Setenv

Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
This commit is contained in:
Eng Zer Jun
2023-06-05 11:31:03 +02:00
committed by GitHub
parent 4c794fe8b9
commit cf1945d0c3
13 changed files with 35 additions and 98 deletions
@@ -16,25 +16,10 @@ import (
func TestValues(t *testing.T) {
t.Run("Values", func(t *testing.T) {
err := os.Setenv("INT", "1")
require.NoError(t, err)
err = os.Setenv("STRING", "test")
require.NoError(t, err)
err = os.Setenv("EMPTYSTRING", "")
require.NoError(t, err)
err = os.Setenv("BOOL", "true")
require.NoError(t, err)
defer func() {
err := os.Unsetenv("INT")
require.NoError(t, err)
err = os.Unsetenv("STRING")
require.NoError(t, err)
err = os.Unsetenv("EMPTYSTRING")
require.NoError(t, err)
err = os.Unsetenv("BOOL")
require.NoError(t, err)
}()
t.Setenv("INT", "1")
t.Setenv("STRING", "test")
t.Setenv("EMPTYSTRING", "")
t.Setenv("BOOL", "true")
t.Run("IntValue", func(t *testing.T) {
type Data struct {