mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-24 12:15:52 +00:00
Merge pull request #122885 from claudiubelu/unittests-10
unittests: Fixes unit tests for Windows (part 10)
This commit is contained in:
commit
f139450e9b
@ -21,6 +21,7 @@ import (
|
||||
"os"
|
||||
"path"
|
||||
"strings"
|
||||
"syscall"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
@ -28,6 +29,7 @@ import (
|
||||
)
|
||||
|
||||
func TestGenerate(t *testing.T) {
|
||||
noFileErr := os.PathError{Op: "open", Path: "no-such-file.txt", Err: syscall.Errno(syscall.ENOENT)}
|
||||
for name, tt := range map[string]struct {
|
||||
in string
|
||||
data map[string]string
|
||||
@ -37,7 +39,7 @@ func TestGenerate(t *testing.T) {
|
||||
}{
|
||||
"missing-file": {
|
||||
in: `{{include "no-such-file.txt"}}`,
|
||||
expectedErr: "open no-such-file.txt: no such file or directory",
|
||||
expectedErr: noFileErr.Error(),
|
||||
},
|
||||
"data": {
|
||||
in: `{{.Hello}} {{.World}}`,
|
||||
|
@ -41,6 +41,9 @@ func (o *Options) platformApplyDefaults(config *proxyconfigapi.KubeProxyConfigur
|
||||
if config.Mode == "" {
|
||||
config.Mode = proxyconfigapi.ProxyModeKernelspace
|
||||
}
|
||||
if config.Winkernel.RootHnsEndpointName == "" {
|
||||
config.Winkernel.RootHnsEndpointName = "cbr0"
|
||||
}
|
||||
}
|
||||
|
||||
// platformSetup is called after setting up the ProxyServer, but before creating the
|
||||
|
@ -21,6 +21,7 @@ import (
|
||||
"fmt"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"syscall"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
@ -32,7 +33,6 @@ const (
|
||||
apiVersionMissing = "'apiVersion' is missing"
|
||||
apiVersionTooOld = "no kind \"KubeSchedulerConfiguration\" is registered for" +
|
||||
" version \"kubescheduler.config.k8s.io/v1alpha1\""
|
||||
fileNotFound = "no such file or directory"
|
||||
|
||||
// schedulerConfigMinimalCorrect is the minimal
|
||||
// correct scheduler config
|
||||
@ -91,7 +91,7 @@ func TestLoadConfigFromFile(t *testing.T) {
|
||||
{
|
||||
name: "Empty scheduler config file path",
|
||||
path: "",
|
||||
expectedErr: fmt.Errorf(fileNotFound),
|
||||
expectedErr: syscall.Errno(syscall.ENOENT),
|
||||
expectedConfig: nil,
|
||||
},
|
||||
{
|
||||
|
@ -20,6 +20,7 @@ import (
|
||||
"os"
|
||||
"reflect"
|
||||
"strings"
|
||||
"syscall"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
@ -905,7 +906,7 @@ func TestLoadAuthenticationConfig(t *testing.T) {
|
||||
{
|
||||
name: "missing file",
|
||||
file: func() string { return "bogus-missing-file" },
|
||||
expectErr: "no such file or directory",
|
||||
expectErr: syscall.Errno(syscall.ENOENT).Error(),
|
||||
expectedConfig: nil,
|
||||
},
|
||||
{
|
||||
@ -1037,6 +1038,10 @@ func writeTempFile(t *testing.T, content string) string {
|
||||
t.Fatal(err)
|
||||
}
|
||||
t.Cleanup(func() {
|
||||
// An open file cannot be removed on Windows. Close it first.
|
||||
if err := file.Close(); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if err := os.Remove(file.Name()); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
@ -64,7 +64,7 @@ func TestSummaryProvider(t *testing.T) {
|
||||
mockStatsProvider.EXPECT().GetPodCgroupRoot().Return(cgroupRoot).AnyTimes()
|
||||
mockStatsProvider.EXPECT().ListPodStats(ctx).Return(podStats, nil).AnyTimes()
|
||||
mockStatsProvider.EXPECT().ListPodStatsAndUpdateCPUNanoCoreUsage(ctx).Return(podStats, nil).AnyTimes()
|
||||
mockStatsProvider.EXPECT().ImageFsStats(ctx).Return(imageFsStats, nil).AnyTimes()
|
||||
mockStatsProvider.EXPECT().ImageFsStats(ctx).Return(imageFsStats, ImageFsStats, nil).AnyTimes()
|
||||
mockStatsProvider.EXPECT().RootFsStats().Return(rootFsStats, nil).AnyTimes()
|
||||
mockStatsProvider.EXPECT().RlimitStats().Return(nil, nil).AnyTimes()
|
||||
mockStatsProvider.EXPECT().GetCgroupStats("/", true).Return(cgroupStatsMap["/"].cs, cgroupStatsMap["/"].ns, nil).AnyTimes()
|
||||
@ -81,7 +81,7 @@ func TestSummaryProvider(t *testing.T) {
|
||||
assert.Equal(summary.Node.Memory, cgroupStatsMap["/"].cs.Memory)
|
||||
assert.Equal(summary.Node.Network, cgroupStatsMap["/"].ns)
|
||||
assert.Equal(summary.Node.Fs, rootFsStats)
|
||||
assert.Equal(summary.Node.Runtime, &statsapi.RuntimeStats{ImageFs: imageFsStats})
|
||||
assert.Equal(summary.Node.Runtime, &statsapi.RuntimeStats{ContainerFs: imageFsStats, ImageFs: imageFsStats})
|
||||
|
||||
assert.Equal(len(summary.Node.SystemContainers), 1)
|
||||
assert.Equal(summary.Node.SystemContainers[0].Name, "pods")
|
||||
|
@ -41,6 +41,10 @@ const (
|
||||
FileTypeUnknown FileType = ""
|
||||
)
|
||||
|
||||
var (
|
||||
errUnknownFileType = fmt.Errorf("only recognise file, directory, socket, block device and character device")
|
||||
)
|
||||
|
||||
// HostUtils defines the set of methods for interacting with paths on a host.
|
||||
type HostUtils interface {
|
||||
// DeviceOpened determines if the device (e.g. /dev/sdc) is in use elsewhere
|
||||
@ -109,5 +113,5 @@ func getFileType(pathname string) (FileType, error) {
|
||||
return FileTypeBlockDev, nil
|
||||
}
|
||||
|
||||
return pathType, fmt.Errorf("only recognise file, directory, socket, block device and character device")
|
||||
return pathType, errUnknownFileType
|
||||
}
|
||||
|
@ -105,7 +105,7 @@ func (hu *(HostUtil)) GetFileType(pathname string) (FileType, error) {
|
||||
|
||||
// os.Stat will return a 1920 error (windows.ERROR_CANT_ACCESS_FILE) if we use it on a Unix Socket
|
||||
// on Windows. In this case, we need to use a different method to check if it's a Unix Socket.
|
||||
if isSystemCannotAccessErr(err) {
|
||||
if err == errUnknownFileType || isSystemCannotAccessErr(err) {
|
||||
if isSocket, errSocket := filesystem.IsUnixDomainSocket(pathname); errSocket == nil && isSocket {
|
||||
return FileTypeSocket, nil
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user