mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 03:41:45 +00:00
Merge pull request #96978 from JornShen/flaky_test_TestVersion
[flaky test] fix race in TestVersion in pkg/kubelet/cri/remote
This commit is contained in:
commit
a8c4a2453c
@ -52,6 +52,7 @@ go_test(
|
|||||||
embed = [":go_default_library"],
|
embed = [":go_default_library"],
|
||||||
deps = [
|
deps = [
|
||||||
"//pkg/kubelet/cri/remote/fake:go_default_library",
|
"//pkg/kubelet/cri/remote/fake:go_default_library",
|
||||||
|
"//pkg/kubelet/cri/remote/util:go_default_library",
|
||||||
"//staging/src/k8s.io/cri-api/pkg/apis:go_default_library",
|
"//staging/src/k8s.io/cri-api/pkg/apis:go_default_library",
|
||||||
"//staging/src/k8s.io/cri-api/pkg/apis/testing:go_default_library",
|
"//staging/src/k8s.io/cri-api/pkg/apis/testing:go_default_library",
|
||||||
"//vendor/github.com/stretchr/testify/assert:go_default_library",
|
"//vendor/github.com/stretchr/testify/assert:go_default_library",
|
||||||
|
@ -23,7 +23,51 @@ go_library(
|
|||||||
"//staging/src/k8s.io/cri-api/pkg/apis/testing:go_default_library",
|
"//staging/src/k8s.io/cri-api/pkg/apis/testing:go_default_library",
|
||||||
"//vendor/google.golang.org/grpc:go_default_library",
|
"//vendor/google.golang.org/grpc:go_default_library",
|
||||||
"//vendor/k8s.io/utils/exec:go_default_library",
|
"//vendor/k8s.io/utils/exec:go_default_library",
|
||||||
],
|
] + select({
|
||||||
|
"@io_bazel_rules_go//go/platform:aix": [
|
||||||
|
"//staging/src/k8s.io/apimachinery/pkg/util/rand:go_default_library",
|
||||||
|
],
|
||||||
|
"@io_bazel_rules_go//go/platform:android": [
|
||||||
|
"//staging/src/k8s.io/apimachinery/pkg/util/rand:go_default_library",
|
||||||
|
],
|
||||||
|
"@io_bazel_rules_go//go/platform:darwin": [
|
||||||
|
"//staging/src/k8s.io/apimachinery/pkg/util/rand:go_default_library",
|
||||||
|
],
|
||||||
|
"@io_bazel_rules_go//go/platform:dragonfly": [
|
||||||
|
"//staging/src/k8s.io/apimachinery/pkg/util/rand:go_default_library",
|
||||||
|
],
|
||||||
|
"@io_bazel_rules_go//go/platform:freebsd": [
|
||||||
|
"//staging/src/k8s.io/apimachinery/pkg/util/rand:go_default_library",
|
||||||
|
],
|
||||||
|
"@io_bazel_rules_go//go/platform:illumos": [
|
||||||
|
"//staging/src/k8s.io/apimachinery/pkg/util/rand:go_default_library",
|
||||||
|
],
|
||||||
|
"@io_bazel_rules_go//go/platform:ios": [
|
||||||
|
"//staging/src/k8s.io/apimachinery/pkg/util/rand:go_default_library",
|
||||||
|
],
|
||||||
|
"@io_bazel_rules_go//go/platform:js": [
|
||||||
|
"//staging/src/k8s.io/apimachinery/pkg/util/rand:go_default_library",
|
||||||
|
],
|
||||||
|
"@io_bazel_rules_go//go/platform:linux": [
|
||||||
|
"//staging/src/k8s.io/apimachinery/pkg/util/rand:go_default_library",
|
||||||
|
],
|
||||||
|
"@io_bazel_rules_go//go/platform:nacl": [
|
||||||
|
"//staging/src/k8s.io/apimachinery/pkg/util/rand:go_default_library",
|
||||||
|
],
|
||||||
|
"@io_bazel_rules_go//go/platform:netbsd": [
|
||||||
|
"//staging/src/k8s.io/apimachinery/pkg/util/rand:go_default_library",
|
||||||
|
],
|
||||||
|
"@io_bazel_rules_go//go/platform:openbsd": [
|
||||||
|
"//staging/src/k8s.io/apimachinery/pkg/util/rand:go_default_library",
|
||||||
|
],
|
||||||
|
"@io_bazel_rules_go//go/platform:plan9": [
|
||||||
|
"//staging/src/k8s.io/apimachinery/pkg/util/rand:go_default_library",
|
||||||
|
],
|
||||||
|
"@io_bazel_rules_go//go/platform:solaris": [
|
||||||
|
"//staging/src/k8s.io/apimachinery/pkg/util/rand:go_default_library",
|
||||||
|
],
|
||||||
|
"//conditions:default": [],
|
||||||
|
}),
|
||||||
)
|
)
|
||||||
|
|
||||||
filegroup(
|
filegroup(
|
||||||
|
@ -18,11 +18,17 @@ limitations under the License.
|
|||||||
|
|
||||||
package fake
|
package fake
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"k8s.io/apimachinery/pkg/util/rand"
|
||||||
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
defaultUnixEndpoint = "unix:///tmp/kubelet_remote.sock"
|
defaultUnixEndpoint = "unix:///tmp/kubelet_remote_%v.sock"
|
||||||
)
|
)
|
||||||
|
|
||||||
// GenerateEndpoint generates a new unix socket server of grpc server.
|
// GenerateEndpoint generates a new unix socket server of grpc server.
|
||||||
func GenerateEndpoint() (string, error) {
|
func GenerateEndpoint() (string, error) {
|
||||||
return defaultUnixEndpoint, nil
|
// use random int be a part fo file name
|
||||||
|
return fmt.Sprintf(defaultUnixEndpoint, rand.Int()), nil
|
||||||
}
|
}
|
||||||
|
@ -17,6 +17,7 @@ limitations under the License.
|
|||||||
package remote
|
package remote
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"os"
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
@ -25,6 +26,7 @@ import (
|
|||||||
internalapi "k8s.io/cri-api/pkg/apis"
|
internalapi "k8s.io/cri-api/pkg/apis"
|
||||||
apitest "k8s.io/cri-api/pkg/apis/testing"
|
apitest "k8s.io/cri-api/pkg/apis/testing"
|
||||||
fakeremote "k8s.io/kubernetes/pkg/kubelet/cri/remote/fake"
|
fakeremote "k8s.io/kubernetes/pkg/kubelet/cri/remote/fake"
|
||||||
|
"k8s.io/kubernetes/pkg/kubelet/cri/remote/util"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@ -53,7 +55,15 @@ func createRemoteRuntimeService(endpoint string, t *testing.T) internalapi.Runti
|
|||||||
|
|
||||||
func TestVersion(t *testing.T) {
|
func TestVersion(t *testing.T) {
|
||||||
fakeRuntime, endpoint := createAndStartFakeRemoteRuntime(t)
|
fakeRuntime, endpoint := createAndStartFakeRemoteRuntime(t)
|
||||||
defer fakeRuntime.Stop()
|
defer func() {
|
||||||
|
fakeRuntime.Stop()
|
||||||
|
// clear endpoint file
|
||||||
|
if addr, _, err := util.GetAddressAndDialer(endpoint); err == nil {
|
||||||
|
if _, err := os.Stat(addr); err == nil {
|
||||||
|
os.Remove(addr)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
|
||||||
r := createRemoteRuntimeService(endpoint, t)
|
r := createRemoteRuntimeService(endpoint, t)
|
||||||
version, err := r.Version(apitest.FakeVersion)
|
version, err := r.Version(apitest.FakeVersion)
|
||||||
|
Loading…
Reference in New Issue
Block a user