mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-20 10:20:51 +00:00
Skip failing Windows unit tests
As discussed during the SIG Testing meeting on January 10, 2023, failing Windows unit tests are now skipped. These changes should be reverted when the unit tests wil get fixed. Mentioned SIG Testing meeting: https://docs.google.com/document/d/1z8MQpr_jTwhmjLMUaqQyBk1EYG_Y_3D4y4YdMJ7V1Kk/edit#heading=h.qwblxf2uhgoo
This commit is contained in:
parent
6699db9f59
commit
4df989d719
@ -1618,23 +1618,6 @@ func TestValidateCronJob(t *testing.T) {
|
||||
},
|
||||
},
|
||||
},
|
||||
"spec.timeZone: Invalid value: \"Continent/Zone \": unknown time zone Continent/Zone ": {
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: "mycronjob",
|
||||
Namespace: metav1.NamespaceDefault,
|
||||
UID: types.UID("1a2b3c"),
|
||||
},
|
||||
Spec: batch.CronJobSpec{
|
||||
Schedule: "0 * * * *",
|
||||
TimeZone: &timeZoneBadSuffix,
|
||||
ConcurrencyPolicy: batch.AllowConcurrent,
|
||||
JobTemplate: batch.JobTemplateSpec{
|
||||
Spec: batch.JobSpec{
|
||||
Template: validPodTemplateSpec,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
"spec.timeZone: Invalid value: \"Continent/InvalidZone\": unknown time zone Continent/InvalidZone": {
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: "mycronjob",
|
||||
@ -1900,6 +1883,28 @@ func TestValidateCronJob(t *testing.T) {
|
||||
},
|
||||
}
|
||||
|
||||
// NOTE: The following test doesn't fail on Windows.
|
||||
// When opening a file on Windows, syscall.Open is called, which will trim the whitespace suffix.
|
||||
if runtime.GOOS != "windows" {
|
||||
errorCases["spec.timeZone: Invalid value: \"Continent/Zone \": unknown time zone Continent/Zone "] = batch.CronJob{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: "mycronjob",
|
||||
Namespace: metav1.NamespaceDefault,
|
||||
UID: types.UID("1a2b3c"),
|
||||
},
|
||||
Spec: batch.CronJobSpec{
|
||||
Schedule: "0 * * * *",
|
||||
TimeZone: &timeZoneBadSuffix,
|
||||
ConcurrencyPolicy: batch.AllowConcurrent,
|
||||
JobTemplate: batch.JobTemplateSpec{
|
||||
Spec: batch.JobSpec{
|
||||
Template: validPodTemplateSpec,
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
for k, v := range errorCases {
|
||||
t.Run(k, func(t *testing.T) {
|
||||
errs := ValidateCronJobCreate(&v, corevalidation.PodValidationOptions{})
|
||||
|
@ -20,6 +20,7 @@ import (
|
||||
"fmt"
|
||||
"path/filepath"
|
||||
"reflect"
|
||||
"runtime"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
@ -257,14 +258,20 @@ func TestFsStoreLoad(t *testing.T) {
|
||||
uid types.UID
|
||||
resourceVersion string
|
||||
err string
|
||||
skipOnWindows bool
|
||||
}{
|
||||
{"checkpoint exists", uid, resourceVersion, ""},
|
||||
{"checkpoint does not exist", "bogus-uid", "bogus-resourceVersion", "no checkpoint for source"},
|
||||
{"ambiguous UID", "", "bogus-resourceVersion", "empty UID is ambiguous"},
|
||||
{"ambiguous ResourceVersion", "bogus-uid", "", "empty ResourceVersion is ambiguous"},
|
||||
{"checkpoint exists", uid, resourceVersion, "", true},
|
||||
{"checkpoint does not exist", "bogus-uid", "bogus-resourceVersion", "no checkpoint for source", false},
|
||||
{"ambiguous UID", "", "bogus-resourceVersion", "empty UID is ambiguous", false},
|
||||
{"ambiguous ResourceVersion", "bogus-uid", "", "empty ResourceVersion is ambiguous", false},
|
||||
}
|
||||
for _, c := range cases {
|
||||
t.Run(c.desc, func(t *testing.T) {
|
||||
// Skip tests that fail on Windows, as discussed during the SIG Testing meeting from January 10, 2023
|
||||
if c.skipOnWindows && runtime.GOOS == "windows" {
|
||||
t.Skip("Skipping test that fails on Windows")
|
||||
}
|
||||
|
||||
source, _, err := checkpoint.NewRemoteConfigSource(&apiv1.NodeConfigSource{
|
||||
ConfigMap: &apiv1.ConfigMapNodeConfigSource{
|
||||
Name: "name",
|
||||
|
@ -20,6 +20,7 @@ import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"path/filepath"
|
||||
goruntime "runtime"
|
||||
"testing"
|
||||
|
||||
apiequality "k8s.io/apimachinery/pkg/api/equality"
|
||||
@ -43,6 +44,7 @@ func TestLoad(t *testing.T) {
|
||||
expect *kubeletconfig.KubeletConfiguration
|
||||
err string
|
||||
strictErr bool
|
||||
skipOnWindows bool
|
||||
}{
|
||||
// missing file
|
||||
{
|
||||
@ -94,11 +96,13 @@ func TestLoad(t *testing.T) {
|
||||
file: newString(`kind: KubeletConfiguration
|
||||
apiVersion: kubelet.config.k8s.io/v1beta1`),
|
||||
expect: newConfig(t),
|
||||
skipOnWindows: true,
|
||||
},
|
||||
{
|
||||
desc: "default from json",
|
||||
file: newString(`{"kind":"KubeletConfiguration","apiVersion":"kubelet.config.k8s.io/v1beta1"}`),
|
||||
expect: newConfig(t),
|
||||
skipOnWindows: true,
|
||||
},
|
||||
|
||||
// relative path
|
||||
@ -112,6 +116,7 @@ staticPodPath: %s`, relativePath)),
|
||||
kc.StaticPodPath = filepath.Join(configDir, relativePath)
|
||||
return kc
|
||||
}(),
|
||||
skipOnWindows: true,
|
||||
},
|
||||
{
|
||||
desc: "json, relative path is resolved",
|
||||
@ -121,6 +126,7 @@ staticPodPath: %s`, relativePath)),
|
||||
kc.StaticPodPath = filepath.Join(configDir, relativePath)
|
||||
return kc
|
||||
}(),
|
||||
skipOnWindows: true,
|
||||
},
|
||||
{
|
||||
// This should fail from v1beta2+
|
||||
@ -136,6 +142,7 @@ staticPodPath: %s/foo`, relativePath, relativePath)),
|
||||
kc.StaticPodPath = filepath.Join(configDir, relativePath, "foo")
|
||||
return kc
|
||||
}(),
|
||||
skipOnWindows: true,
|
||||
},
|
||||
{
|
||||
// This should fail from v1beta2+
|
||||
@ -146,11 +153,17 @@ foo: bar`),
|
||||
// err: "found unknown field: foo",
|
||||
// strictErr: true,
|
||||
expect: newConfig(t),
|
||||
skipOnWindows: true,
|
||||
},
|
||||
}
|
||||
|
||||
for _, c := range cases {
|
||||
t.Run(c.desc, func(t *testing.T) {
|
||||
// Skip tests that fail on Windows, as discussed during the SIG Testing meeting from January 10, 2023
|
||||
if c.skipOnWindows && goruntime.GOOS == "windows" {
|
||||
t.Skip("Skipping test that fails on Windows")
|
||||
}
|
||||
|
||||
fs := utilfs.NewTempFs()
|
||||
fs.MkdirAll(configDir, 0777)
|
||||
path := filepath.Join(configDir, kubeletFile)
|
||||
@ -184,10 +197,11 @@ func TestResolveRelativePaths(t *testing.T) {
|
||||
desc string
|
||||
path string
|
||||
expect string
|
||||
skipOnWindows bool
|
||||
}{
|
||||
{"empty path", "", ""},
|
||||
{"absolute path", absolutePath, absolutePath},
|
||||
{"relative path", relativePath, filepath.Join(configDir, relativePath)},
|
||||
{"empty path", "", "", false},
|
||||
{"absolute path", absolutePath, absolutePath, true},
|
||||
{"relative path", relativePath, filepath.Join(configDir, relativePath), false},
|
||||
}
|
||||
|
||||
paths := kubeletconfig.KubeletConfigurationPathRefs(newConfig(t))
|
||||
@ -196,6 +210,11 @@ func TestResolveRelativePaths(t *testing.T) {
|
||||
}
|
||||
for _, c := range cases {
|
||||
t.Run(c.desc, func(t *testing.T) {
|
||||
// Skip tests that fail on Windows, as discussed during the SIG Testing meeting from January 10, 2023
|
||||
if c.skipOnWindows && goruntime.GOOS == "windows" {
|
||||
t.Skip("Skipping test that fails on Windows")
|
||||
}
|
||||
|
||||
// set the path, resolve it, and check if it resolved as we would expect
|
||||
*(paths[0]) = c.path
|
||||
resolveRelativePaths(paths, configDir)
|
||||
|
@ -20,6 +20,7 @@ import (
|
||||
"fmt"
|
||||
"net"
|
||||
"os"
|
||||
goruntime "runtime"
|
||||
"strconv"
|
||||
"strings"
|
||||
"testing"
|
||||
@ -456,19 +457,26 @@ func TestGetPodDNS(t *testing.T) {
|
||||
testCases := []struct {
|
||||
desc string
|
||||
expandedDNSConfig bool
|
||||
skipOnWindows bool
|
||||
}{
|
||||
{
|
||||
desc: "Not ExpandedDNSConfig",
|
||||
expandedDNSConfig: false,
|
||||
skipOnWindows: true,
|
||||
},
|
||||
{
|
||||
desc: "ExpandedDNSConfig",
|
||||
expandedDNSConfig: true,
|
||||
skipOnWindows: true,
|
||||
},
|
||||
}
|
||||
|
||||
for _, tc := range testCases {
|
||||
t.Run(tc.desc, func(t *testing.T) {
|
||||
// Skip tests that fail on Windows, as discussed during the SIG Testing meeting from January 10, 2023
|
||||
if tc.skipOnWindows && goruntime.GOOS == "windows" {
|
||||
t.Skip("Skipping test that fails on Windows")
|
||||
}
|
||||
defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.ExpandedDNSConfig, tc.expandedDNSConfig)()
|
||||
testGetPodDNS(t)
|
||||
})
|
||||
|
@ -17,6 +17,7 @@ limitations under the License.
|
||||
package cache
|
||||
|
||||
import (
|
||||
"runtime"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
@ -117,6 +118,11 @@ func Test_ASW_RemovePlugin_Positive(t *testing.T) {
|
||||
// Verifies PluginExistsWithCorrectTimestamp returns false for an existing
|
||||
// plugin with the wrong timestamp
|
||||
func Test_ASW_PluginExistsWithCorrectTimestamp_Negative_WrongTimestamp(t *testing.T) {
|
||||
// Skip tests that fail on Windows, as discussed during the SIG Testing meeting from January 10, 2023
|
||||
if runtime.GOOS == "windows" {
|
||||
t.Skip("Skipping test that fails on Windows")
|
||||
}
|
||||
|
||||
// First, add a plugin
|
||||
asw := NewActualStateOfWorld()
|
||||
pluginInfo := PluginInfo{
|
||||
|
@ -17,6 +17,7 @@ limitations under the License.
|
||||
package cache
|
||||
|
||||
import (
|
||||
"runtime"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
@ -53,6 +54,11 @@ func Test_DSW_AddOrUpdatePlugin_Positive_NewPlugin(t *testing.T) {
|
||||
// Verifies the timestamp the existing plugin is updated
|
||||
// Verifies newly added plugin returns true for PluginExists()
|
||||
func Test_DSW_AddOrUpdatePlugin_Positive_ExistingPlugin(t *testing.T) {
|
||||
// Skip tests that fail on Windows, as discussed during the SIG Testing meeting from January 10, 2023
|
||||
if runtime.GOOS == "windows" {
|
||||
t.Skip("Skipping test that fails on Windows")
|
||||
}
|
||||
|
||||
dsw := NewDesiredStateOfWorld()
|
||||
socketPath := "/var/lib/kubelet/device-plugins/test-plugin.sock"
|
||||
// Adding the plugin for the first time
|
||||
|
@ -20,6 +20,7 @@ import (
|
||||
"fmt"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"runtime"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
@ -167,6 +168,11 @@ func Test_Run_Positive_DoNothing(t *testing.T) {
|
||||
// Calls Run()
|
||||
// Verifies the actual state of world contains that plugin
|
||||
func Test_Run_Positive_Register(t *testing.T) {
|
||||
// Skip tests that fail on Windows, as discussed during the SIG Testing meeting from January 10, 2023
|
||||
if runtime.GOOS == "windows" {
|
||||
t.Skip("Skipping test that fails on Windows")
|
||||
}
|
||||
|
||||
defer cleanup(t)
|
||||
|
||||
dsw := cache.NewDesiredStateOfWorld()
|
||||
@ -212,6 +218,11 @@ func Test_Run_Positive_Register(t *testing.T) {
|
||||
// Deletes plugin from desired state of world.
|
||||
// Verifies that plugin no longer exists in actual state of world.
|
||||
func Test_Run_Positive_RegisterThenUnregister(t *testing.T) {
|
||||
// Skip tests that fail on Windows, as discussed during the SIG Testing meeting from January 10, 2023
|
||||
if runtime.GOOS == "windows" {
|
||||
t.Skip("Skipping test that fails on Windows")
|
||||
}
|
||||
|
||||
defer cleanup(t)
|
||||
|
||||
dsw := cache.NewDesiredStateOfWorld()
|
||||
@ -268,6 +279,11 @@ func Test_Run_Positive_RegisterThenUnregister(t *testing.T) {
|
||||
// Verifies that the plugin is reregistered.
|
||||
// Verifies the plugin with updated timestamp now in actual state of world.
|
||||
func Test_Run_Positive_ReRegister(t *testing.T) {
|
||||
// Skip tests that fail on Windows, as discussed during the SIG Testing meeting from January 10, 2023
|
||||
if runtime.GOOS == "windows" {
|
||||
t.Skip("Skipping test that fails on Windows")
|
||||
}
|
||||
|
||||
defer cleanup(t)
|
||||
|
||||
dsw := cache.NewDesiredStateOfWorld()
|
||||
|
@ -18,6 +18,7 @@ package stats
|
||||
|
||||
import (
|
||||
"context"
|
||||
"runtime"
|
||||
"testing"
|
||||
|
||||
"github.com/golang/mock/gomock"
|
||||
@ -39,6 +40,11 @@ import (
|
||||
)
|
||||
|
||||
func TestFilterTerminatedContainerInfoAndAssembleByPodCgroupKey(t *testing.T) {
|
||||
// Skip tests that fail on Windows, as discussed during the SIG Testing meeting from January 10, 2023
|
||||
if runtime.GOOS == "windows" {
|
||||
t.Skip("Skipping test that fails on Windows")
|
||||
}
|
||||
|
||||
const (
|
||||
seedPastPod0Infra = 1000
|
||||
seedPastPod0Container0 = 2000
|
||||
|
Loading…
Reference in New Issue
Block a user