mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-29 06:27:05 +00:00
Merge pull request #112421 from pohly/e2e-annotated-location
e2e: improve description of framework callbacks
This commit is contained in:
commit
9e65786254
@ -155,7 +155,7 @@ func NewFramework(baseName string, options Options, client clientset.Interface)
|
|||||||
Timeouts: NewTimeoutContextWithDefaults(),
|
Timeouts: NewTimeoutContextWithDefaults(),
|
||||||
}
|
}
|
||||||
|
|
||||||
ginkgo.BeforeEach(f.BeforeEach)
|
ginkgo.BeforeEach(f.BeforeEach, AnnotatedLocation("set up framework"))
|
||||||
|
|
||||||
return f
|
return f
|
||||||
}
|
}
|
||||||
@ -167,10 +167,10 @@ func (f *Framework) BeforeEach() {
|
|||||||
// remains valid as long as possible.
|
// remains valid as long as possible.
|
||||||
//
|
//
|
||||||
// In addition, AfterEach will not be called if a test never gets here.
|
// In addition, AfterEach will not be called if a test never gets here.
|
||||||
ginkgo.DeferCleanup(f.AfterEach)
|
ginkgo.DeferCleanup(f.AfterEach, AnnotatedLocation("tear down framework"))
|
||||||
|
|
||||||
// Registered later and thus runs before deleting namespaces.
|
// Registered later and thus runs before deleting namespaces.
|
||||||
ginkgo.DeferCleanup(f.dumpNamespaceInfo)
|
ginkgo.DeferCleanup(f.dumpNamespaceInfo, AnnotatedLocation("dump namespaces"))
|
||||||
|
|
||||||
ginkgo.By("Creating a kubernetes client")
|
ginkgo.By("Creating a kubernetes client")
|
||||||
config, err := LoadConfig()
|
config, err := LoadConfig()
|
||||||
|
33
test/e2e/framework/ginkgowrapper.go
Normal file
33
test/e2e/framework/ginkgowrapper.go
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2022 The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package framework
|
||||||
|
|
||||||
|
import (
|
||||||
|
"path"
|
||||||
|
|
||||||
|
"github.com/onsi/ginkgo/v2/types"
|
||||||
|
)
|
||||||
|
|
||||||
|
// AnnotatedLocation can be used to provide more informative source code
|
||||||
|
// locations by passing the result as additional parameter to a
|
||||||
|
// BeforeEach/AfterEach/DeferCleanup/It/etc.
|
||||||
|
func AnnotatedLocation(annotation string) types.CodeLocation {
|
||||||
|
codeLocation := types.NewCodeLocation(1)
|
||||||
|
codeLocation.FileName = path.Base(codeLocation.FileName)
|
||||||
|
codeLocation = types.NewCustomCodeLocation(annotation + " | " + codeLocation.String())
|
||||||
|
return codeLocation
|
||||||
|
}
|
@ -49,7 +49,7 @@ import (
|
|||||||
//
|
//
|
||||||
// This must be line #50.
|
// This must be line #50.
|
||||||
|
|
||||||
var _ = ginkgo.Describe("framework", func() {
|
var _ = ginkgo.Describe("e2e", func() {
|
||||||
ginkgo.BeforeEach(func() {
|
ginkgo.BeforeEach(func() {
|
||||||
framework.Logf("before")
|
framework.Logf("before")
|
||||||
})
|
})
|
||||||
@ -75,30 +75,30 @@ var _ = ginkgo.Describe("framework", func() {
|
|||||||
})
|
})
|
||||||
|
|
||||||
const (
|
const (
|
||||||
ginkgoOutput = `[BeforeEach] framework
|
ginkgoOutput = `[BeforeEach] e2e
|
||||||
cleanup_test.go:53
|
cleanup_test.go:53
|
||||||
INFO: before
|
INFO: before
|
||||||
[BeforeEach] framework
|
[BeforeEach] e2e
|
||||||
framework.go:xxx
|
set up framework | framework.go:xxx
|
||||||
STEP: Creating a kubernetes client
|
STEP: Creating a kubernetes client
|
||||||
INFO: >>> kubeConfig: yyy/kube.config
|
INFO: >>> kubeConfig: yyy/kube.config
|
||||||
STEP: Building a namespace api object, basename test-namespace
|
STEP: Building a namespace api object, basename test-namespace
|
||||||
INFO: Skipping waiting for service account
|
INFO: Skipping waiting for service account
|
||||||
[It] works
|
[It] works
|
||||||
cleanup_test.go:66
|
cleanup_test.go:66
|
||||||
[AfterEach] framework
|
[AfterEach] e2e
|
||||||
cleanup_test.go:59
|
cleanup_test.go:59
|
||||||
INFO: after
|
INFO: after
|
||||||
[DeferCleanup] framework
|
[DeferCleanup] e2e
|
||||||
cleanup_test.go:71
|
cleanup_test.go:71
|
||||||
INFO: cleanup first
|
INFO: cleanup first
|
||||||
[DeferCleanup] framework
|
[DeferCleanup] e2e
|
||||||
cleanup_test.go:68
|
cleanup_test.go:68
|
||||||
INFO: cleanup last
|
INFO: cleanup last
|
||||||
[DeferCleanup] framework
|
[DeferCleanup] e2e
|
||||||
framework.go:xxx
|
dump namespaces | framework.go:xxx
|
||||||
[DeferCleanup] framework
|
[DeferCleanup] e2e
|
||||||
framework.go:xxx
|
tear down framework | framework.go:xxx
|
||||||
STEP: Destroying namespace "test-namespace-zzz" for this suite.
|
STEP: Destroying namespace "test-namespace-zzz" for this suite.
|
||||||
`
|
`
|
||||||
)
|
)
|
||||||
@ -145,7 +145,7 @@ func TestCleanup(t *testing.T) {
|
|||||||
|
|
||||||
expected := output.SuiteResults{
|
expected := output.SuiteResults{
|
||||||
output.TestResult{
|
output.TestResult{
|
||||||
Name: "framework works",
|
Name: "e2e works",
|
||||||
NormalizeOutput: normalizeOutput,
|
NormalizeOutput: normalizeOutput,
|
||||||
Output: ginkgoOutput,
|
Output: ginkgoOutput,
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user