mirror of
https://github.com/kubernetes/client-go.git
synced 2025-06-25 06:31:35 +00:00
Replace os.Setenv with testing.T.Setenv in tests
T.Setenv ensures that the environment is returned to its prior state when the test ends. It also panics when called from a parallel test to prevent racy test interdependencies. Kubernetes-commit: 89467ad3e9b051515fa9632a7373d6ef01723256
This commit is contained in:
parent
383ccb06d0
commit
18ffb5c67f
@ -23,7 +23,6 @@ import (
|
|||||||
"net/http/httptest"
|
"net/http/httptest"
|
||||||
"net/http/httputil"
|
"net/http/httputil"
|
||||||
"net/url"
|
"net/url"
|
||||||
"os"
|
|
||||||
"reflect"
|
"reflect"
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
@ -340,8 +339,8 @@ func TestCreateBackoffManager(t *testing.T) {
|
|||||||
theUrl, _ := url.Parse("http://localhost")
|
theUrl, _ := url.Parse("http://localhost")
|
||||||
|
|
||||||
// 1 second base backoff + duration of 2 seconds -> exponential backoff for requests.
|
// 1 second base backoff + duration of 2 seconds -> exponential backoff for requests.
|
||||||
os.Setenv(envBackoffBase, "1")
|
t.Setenv(envBackoffBase, "1")
|
||||||
os.Setenv(envBackoffDuration, "2")
|
t.Setenv(envBackoffDuration, "2")
|
||||||
backoff := readExpBackoffConfig()
|
backoff := readExpBackoffConfig()
|
||||||
backoff.UpdateBackoff(theUrl, nil, 500)
|
backoff.UpdateBackoff(theUrl, nil, 500)
|
||||||
backoff.UpdateBackoff(theUrl, nil, 500)
|
backoff.UpdateBackoff(theUrl, nil, 500)
|
||||||
@ -350,8 +349,8 @@ func TestCreateBackoffManager(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 0 duration -> no backoff.
|
// 0 duration -> no backoff.
|
||||||
os.Setenv(envBackoffBase, "1")
|
t.Setenv(envBackoffBase, "1")
|
||||||
os.Setenv(envBackoffDuration, "0")
|
t.Setenv(envBackoffDuration, "0")
|
||||||
backoff.UpdateBackoff(theUrl, nil, 500)
|
backoff.UpdateBackoff(theUrl, nil, 500)
|
||||||
backoff.UpdateBackoff(theUrl, nil, 500)
|
backoff.UpdateBackoff(theUrl, nil, 500)
|
||||||
backoff = readExpBackoffConfig()
|
backoff = readExpBackoffConfig()
|
||||||
@ -360,8 +359,8 @@ func TestCreateBackoffManager(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// No env -> No backoff.
|
// No env -> No backoff.
|
||||||
os.Setenv(envBackoffBase, "")
|
t.Setenv(envBackoffBase, "")
|
||||||
os.Setenv(envBackoffDuration, "")
|
t.Setenv(envBackoffDuration, "")
|
||||||
backoff = readExpBackoffConfig()
|
backoff = readExpBackoffConfig()
|
||||||
backoff.UpdateBackoff(theUrl, nil, 500)
|
backoff.UpdateBackoff(theUrl, nil, 500)
|
||||||
backoff.UpdateBackoff(theUrl, nil, 500)
|
backoff.UpdateBackoff(theUrl, nil, 500)
|
||||||
|
@ -24,7 +24,6 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"net/http/httptest"
|
"net/http/httptest"
|
||||||
"net/url"
|
"net/url"
|
||||||
"os"
|
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
"sync/atomic"
|
"sync/atomic"
|
||||||
@ -80,23 +79,15 @@ func newLB(t *testing.T, serverURL string) *tcpLB {
|
|||||||
return &lb
|
return &lb
|
||||||
}
|
}
|
||||||
|
|
||||||
func setEnv(key, value string) func() {
|
|
||||||
originalValue := os.Getenv(key)
|
|
||||||
os.Setenv(key, value)
|
|
||||||
return func() {
|
|
||||||
os.Setenv(key, originalValue)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const (
|
const (
|
||||||
readIdleTimeout int = 1
|
readIdleTimeout int = 1
|
||||||
pingTimeout int = 1
|
pingTimeout int = 1
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestReconnectBrokenTCP(t *testing.T) {
|
func TestReconnectBrokenTCP(t *testing.T) {
|
||||||
defer setEnv("HTTP2_READ_IDLE_TIMEOUT_SECONDS", strconv.Itoa(readIdleTimeout))()
|
t.Setenv("HTTP2_READ_IDLE_TIMEOUT_SECONDS", strconv.Itoa(readIdleTimeout))
|
||||||
defer setEnv("HTTP2_PING_TIMEOUT_SECONDS", strconv.Itoa(pingTimeout))()
|
t.Setenv("HTTP2_PING_TIMEOUT_SECONDS", strconv.Itoa(pingTimeout))
|
||||||
defer setEnv("DISABLE_HTTP2", "")()
|
t.Setenv("DISABLE_HTTP2", "")
|
||||||
ts := httptest.NewUnstartedServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
ts := httptest.NewUnstartedServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||||
fmt.Fprintf(w, "Hello, %s", r.Proto)
|
fmt.Fprintf(w, "Hello, %s", r.Proto)
|
||||||
}))
|
}))
|
||||||
|
@ -897,12 +897,9 @@ func TestLoadingGetLoadingPrecedence(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
kubeconfig := os.Getenv("KUBECONFIG")
|
|
||||||
defer os.Setenv("KUBECONFIG", kubeconfig)
|
|
||||||
|
|
||||||
for name, test := range testCases {
|
for name, test := range testCases {
|
||||||
t.Run(name, func(t *testing.T) {
|
t.Run(name, func(t *testing.T) {
|
||||||
os.Setenv("KUBECONFIG", test.env)
|
t.Setenv("KUBECONFIG", test.env)
|
||||||
rules := test.rules
|
rules := test.rules
|
||||||
if rules == nil {
|
if rules == nil {
|
||||||
rules = NewDefaultClientConfigLoadingRules()
|
rules = NewDefaultClientConfigLoadingRules()
|
||||||
|
Loading…
Reference in New Issue
Block a user