Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

11 changes: 6 additions & 5 deletions test/e2e/apimachinery/mutatingadmissionpolicy.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,12 @@ package apimachinery
import (
"context"
"fmt"
"time"

admissionregistrationv1alpha1 "k8s.io/api/admissionregistration/v1alpha1"
"k8s.io/apiserver/pkg/features"
"k8s.io/kubernetes/test/e2e/feature"
"k8s.io/utils/ptr"
"time"

"github.com/onsi/ginkgo/v2"
"github.com/onsi/gomega"
Expand Down Expand Up @@ -181,7 +182,7 @@ var _ = SIGDescribe("MutatingAdmissionPolicy [Privileged:ClusterAdmin]", feature
The mutatingadmisionpolicy resource must support create, get,
list, watch, update, patch, delete, and deletecollection.
*/
framework.It("should support MutatingAdmissionPolicy API operations", func(ctx context.Context) {
framework.It("should support MutatingAdmissionPolicy v1alpha1 API operations", func(ctx context.Context) {
mapVersion := "v1alpha1"
ginkgo.By("getting /apis")
{
Expand Down Expand Up @@ -409,7 +410,7 @@ var _ = SIGDescribe("MutatingAdmissionPolicy [Privileged:ClusterAdmin]", feature
The MutatingadmissionPolicyBinding resource must support create, get,
list, watch, update, patch, delete, and deletecollection.
*/
framework.It("should support MutatingAdmissionPolicyBinding API operations", func(ctx context.Context) {
framework.It("should support MutatingAdmissionPolicyBinding v1alpha1 API operations", func(ctx context.Context) {
mapbVersion := "v1alpha1"
ginkgo.By("getting /apis")
{
Expand Down Expand Up @@ -603,7 +604,7 @@ var _ = SIGDescribe("MutatingAdmissionPolicy [Privileged:ClusterAdmin]", feature
The mutatingadmisionpolicy resource must support create, get,
list, watch, update, patch, delete, and deletecollection.
*/
framework.It("should support MutatingAdmissionPolicy API operations", func(ctx context.Context) {
framework.It("should support MutatingAdmissionPolicy v1beta1 API operations", func(ctx context.Context) {
mapVersion := "v1beta1"
ginkgo.By("getting /apis")
{
Expand Down Expand Up @@ -831,7 +832,7 @@ var _ = SIGDescribe("MutatingAdmissionPolicy [Privileged:ClusterAdmin]", feature
The MutatingadmissionPolicyBinding resource must support create, get,
list, watch, update, patch, delete, and deletecollection.
*/
framework.It("should support MutatingAdmissionPolicyBinding API operations", func(ctx context.Context) {
framework.It("should support MutatingAdmissionPolicyBinding v1beta1 API operations", func(ctx context.Context) {
mapbVersion := "v1beta1"
ginkgo.By("getting /apis")
{
Expand Down
4 changes: 2 additions & 2 deletions test/e2e/common/node/pod_level_resources.go
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ func podLevelResourcesTests(f *framework.Framework) {
},
},
{
name: "Guaranteed QoS pod with container resources",
name: "Guaranteed QoS pod with other container resources",
podResources: &cgroups.ContainerResources{CPUReq: "100m", CPULim: "100m", MemReq: "100Mi", MemLim: "100Mi"},
containers: []containerInfo{
{Name: "c1", Resources: &cgroups.ContainerResources{CPUReq: "50m", CPULim: "100m", MemReq: "50Mi", MemLim: "100Mi"}},
Expand Down Expand Up @@ -221,7 +221,7 @@ func podLevelResourcesTests(f *framework.Framework) {
},
},
{
name: "Burstable QoS pod with container resources",
name: "Burstable QoS pod with yet some other container resources",
podResources: &cgroups.ContainerResources{CPUReq: "50m", CPULim: "100m", MemReq: "50Mi", MemLim: "100Mi"},
containers: []containerInfo{
{Name: "c1", Resources: &cgroups.ContainerResources{CPUReq: "20m", CPULim: "100m", MemReq: "20Mi", MemLim: "100Mi"}},
Expand Down
2 changes: 0 additions & 2 deletions test/e2e/dra/dra.go
Original file line number Diff line number Diff line change
Expand Up @@ -1814,8 +1814,6 @@ var _ = framework.SIGDescribe("node")(framework.WithLabel("DRA"), func() {

framework.Context("kubelet", feature.DynamicResourceAllocation, f.WithFeatureGate(features.DRAConsumableCapacity), consumableCapacityTests)

framework.Context("kubelet", feature.DynamicResourceAllocation, f.WithFeatureGate(features.DRAConsumableCapacity), consumableCapacityTests)

framework.Context("kubelet", feature.DynamicResourceAllocation, "with v1beta1 API", v1beta1Tests)
framework.Context("kubelet", feature.DynamicResourceAllocation, "with v1beta2 API", v1beta2Tests)

Expand Down
31 changes: 31 additions & 0 deletions test/e2e/framework/ginkgowrapper.go
Original file line number Diff line number Diff line change
Expand Up @@ -266,6 +266,9 @@ var (
func validateSpecs(specs types.SpecReports) {
checked := sets.New[call]()

// Each full test name should only be used once.
specNames := make(map[string][]types.SpecReport)

for _, spec := range specs {
for i, text := range spec.ContainerHierarchyTexts {
c := call{
Expand All @@ -287,6 +290,34 @@ func validateSpecs(specs types.SpecReports) {
validateText(spec.LeafNodeLocation, spec.LeafNodeText, spec.LeafNodeLabels)
checked.Insert(c)
}

// Track what the same name is used for. The empty name is used more
// than once for special nodes (e.g. ReportAfterSuite).
fullText := spec.FullText()
if fullText != "" {
specNames[fullText] = append(specNames[fullText], spec)
}
}

for fullText, specs := range specNames {
if len(specs) > 1 {
// The exact same It call might be made twice, in which case full
// text and location are the same in two different specs. We show
// that as "<location> (2x)"
locationCounts := make(map[string]int)
for _, spec := range specs {
locationCounts[spec.LeafNodeLocation.String()]++
}
var locationTexts []string
for locationText, count := range locationCounts {
text := locationText
if count > 1 {
text += fmt.Sprintf(" (%dx)", count)
}
locationTexts = append(locationTexts, text)
}
recordTextBug(specs[0].LeafNodeLocation, fmt.Sprintf("full test name is not unique: %q (%s)", fullText, strings.Join(locationTexts, ", ")))
}
}
}

Expand Down
5 changes: 3 additions & 2 deletions test/e2e/storage/testsuites/base.go
Original file line number Diff line number Diff line change
Expand Up @@ -74,13 +74,14 @@ var BaseSuites = []func() storageframework.TestSuite{
},
}

// CSISuites is a list of storage test suites that work only for CSI drivers
// CSISuites is a list of storage test suites that work only for CSI drivers.
var CSISuites = append(BaseSuites,
// The following tests suites must not be already in BaseSuites,
// otherwise the same configuration gets tested multiple times.
func() storageframework.TestSuite {
return InitCustomEphemeralTestSuite(CSIEphemeralTestPatterns())
},
InitSnapshottableTestSuite,
InitVolumeGroupSnapshottableTestSuite,
InitSnapshottableStressTestSuite,
InitVolumePerformanceTestSuite,
InitPvcDeletionPerformanceTestSuite,
Expand Down
2 changes: 1 addition & 1 deletion test/e2e_node/quota_lsci_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ func runOneQuotaTest(f *framework.Framework, quotasRequested bool, userNamespace
if quotasRequested {
priority = 1
}
ginkgo.Context(fmt.Sprintf(testContextFmt, fmt.Sprintf("use quotas for LSCI monitoring (quotas enabled: %v)", quotasRequested)), func() {
ginkgo.Context(fmt.Sprintf(testContextFmt, fmt.Sprintf("use quotas for LSCI monitoring (quotas enabled: %v, userNamespacesEnabled: %v)", quotasRequested, userNamespacesEnabled)), func() {
tempSetCurrentKubeletConfig(f, func(ctx context.Context, initialConfig *kubeletconfig.KubeletConfiguration) {
defer withFeatureGate(LSCIQuotaFeature, quotasRequested)()
// TODO: remove hardcoded kubelet volume directory path
Expand Down