diff --git a/e2etests/e2etest_suite_test.go b/e2etests/e2etest_suite_test.go index 78d3c5ff..56624d2b 100644 --- a/e2etests/e2etest_suite_test.go +++ b/e2etests/e2etest_suite_test.go @@ -8,6 +8,7 @@ import ( "os" "testing" + "github.com/metallb/frrk8stests/pkg/dump" "github.com/metallb/frrk8stests/pkg/infra" _ "github.com/metallb/frrk8stests/tests" "github.com/onsi/ginkgo/v2" @@ -53,6 +54,7 @@ func handleFlags() { if _, res := os.LookupEnv("RUN_FRR_CONTAINER_ON_HOST_NETWORK"); res { runOnHost = true } + dump.ReportPath = reportPath } func TestMain(m *testing.M) { @@ -100,7 +102,6 @@ var _ = ginkgo.BeforeSuite(func() { */ } - //reporter := k8s.InitReporter(framework.TestContext.KubeConfig, reportPath, metallb.Namespace) }) var _ = ginkgo.AfterSuite(func() { diff --git a/e2etests/tests/simple.go b/e2etests/tests/simple.go index 23bbec4f..5551cc72 100644 --- a/e2etests/tests/simple.go +++ b/e2etests/tests/simple.go @@ -10,7 +10,9 @@ import ( frrk8sv1beta1 "github.com/metallb/frrk8s/api/v1beta1" "github.com/metallb/frrk8stests/pkg/config" + "github.com/metallb/frrk8stests/pkg/dump" "github.com/metallb/frrk8stests/pkg/infra" + "github.com/metallb/frrk8stests/pkg/k8s" frrconfig "go.universe.tf/e2etest/pkg/frr/config" "go.universe.tf/e2etest/pkg/ipfamily" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -19,24 +21,26 @@ import ( admissionapi "k8s.io/pod-security-admission/api" ) -var ( - updater *config.Updater -) - var _ = ginkgo.Describe("FRR k8s", func() { var cs clientset.Interface var f *framework.Framework + defer ginkgo.GinkgoRecover() clientconfig, err := framework.LoadConfig() framework.ExpectNoError(err) - updater, err = config.NewUpdater(clientconfig) + updater, err := config.NewUpdater(clientconfig) framework.ExpectNoError(err) + reporter := dump.NewK8sReporter(framework.TestContext.KubeConfig, k8s.FRRK8sNamespace) f = framework.NewDefaultFramework("bgpfrr") f.NamespacePodSecurityEnforceLevel = admissionapi.LevelPrivileged ginkgo.AfterEach(func() { - // TODO: dump the failure information via a reporter + if ginkgo.CurrentSpecReport().Failed() { + testName := ginkgo.CurrentSpecReport().LeafNodeText + dump.K8sInfo(testName, reporter) + dump.BGPInfo(testName, infra.FRRContainers, f.ClientSet, f) + } }) ginkgo.BeforeEach(func() {