aboutsummaryrefslogtreecommitdiffstats
path: root/extras/hs-test/suite_veth_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'extras/hs-test/suite_veth_test.go')
-rw-r--r--extras/hs-test/suite_veth_test.go81
1 files changed, 77 insertions, 4 deletions
diff --git a/extras/hs-test/suite_veth_test.go b/extras/hs-test/suite_veth_test.go
index 061eee07d1f..d47bf8c52a9 100644
--- a/extras/hs-test/suite_veth_test.go
+++ b/extras/hs-test/suite_veth_test.go
@@ -1,7 +1,13 @@
package main
import (
+ "fmt"
+ "reflect"
+ "runtime"
+ "strings"
"time"
+
+ . "github.com/onsi/ginkgo/v2"
)
// These correspond to names used in yaml config
@@ -10,10 +16,20 @@ const (
clientInterfaceName = "cln"
)
+var vethTests = []func(s *VethsSuite){}
+var vethSoloTests = []func(s *VethsSuite){}
+
type VethsSuite struct {
HstSuite
}
+func registerVethTests(tests ...func(s *VethsSuite)) {
+ vethTests = append(vethTests, tests...)
+}
+func registerSoloVethTests(tests ...func(s *VethsSuite)) {
+ vethSoloTests = append(vethSoloTests, tests...)
+}
+
func (s *VethsSuite) SetupSuite() {
time.Sleep(1 * time.Second)
s.HstSuite.SetupSuite()
@@ -36,7 +52,7 @@ func (s *VethsSuite) SetupTest() {
cpus := s.AllocateCpus()
serverVpp, err := serverContainer.newVppInstance(cpus, sessionConfig)
- s.assertNotNil(serverVpp, err)
+ s.assertNotNil(serverVpp, fmt.Sprint(err))
s.setupServerVpp()
@@ -45,7 +61,7 @@ func (s *VethsSuite) SetupTest() {
cpus = s.AllocateCpus()
clientVpp, err := clientContainer.newVppInstance(cpus, sessionConfig)
- s.assertNotNil(clientVpp, err)
+ s.assertNotNil(clientVpp, fmt.Sprint(err))
s.setupClientVpp()
}
@@ -56,7 +72,7 @@ func (s *VethsSuite) setupServerVpp() {
serverVeth := s.getInterfaceByName(serverInterfaceName)
idx, err := serverVpp.createAfPacket(serverVeth)
- s.assertNil(err, err)
+ s.assertNil(err, fmt.Sprint(err))
s.assertNotEqual(0, idx)
}
@@ -66,6 +82,63 @@ func (s *VethsSuite) setupClientVpp() {
clientVeth := s.getInterfaceByName(clientInterfaceName)
idx, err := clientVpp.createAfPacket(clientVeth)
- s.assertNil(err, err)
+ s.assertNil(err, fmt.Sprint(err))
s.assertNotEqual(0, idx)
}
+
+var _ = Describe("VethsSuite", Ordered, ContinueOnFailure, func() {
+ var s VethsSuite
+ BeforeAll(func() {
+ s.SetupSuite()
+ })
+ BeforeEach(func() {
+ s.SetupTest()
+ })
+ AfterAll(func() {
+ s.TearDownSuite()
+
+ })
+ AfterEach(func() {
+ s.TearDownTest()
+ })
+
+ // https://onsi.github.io/ginkgo/#dynamically-generating-specs
+ for _, test := range vethTests {
+ test := test
+ pc := reflect.ValueOf(test).Pointer()
+ funcValue := runtime.FuncForPC(pc)
+ testName := strings.Split(funcValue.Name(), ".")[2]
+ It(testName, func(ctx SpecContext) {
+ s.log(testName + ": BEGIN")
+ test(&s)
+ }, SpecTimeout(time.Minute*5))
+ }
+})
+
+var _ = Describe("VethsSuiteSolo", Ordered, ContinueOnFailure, Serial, func() {
+ var s VethsSuite
+ BeforeAll(func() {
+ s.SetupSuite()
+ })
+ BeforeEach(func() {
+ s.SetupTest()
+ })
+ AfterAll(func() {
+ s.TearDownSuite()
+ })
+ AfterEach(func() {
+ s.TearDownTest()
+ })
+
+ // https://onsi.github.io/ginkgo/#dynamically-generating-specs
+ for _, test := range vethSoloTests {
+ test := test
+ pc := reflect.ValueOf(test).Pointer()
+ funcValue := runtime.FuncForPC(pc)
+ testName := strings.Split(funcValue.Name(), ".")[2]
+ It(testName, Label("SOLO"), func(ctx SpecContext) {
+ s.log(testName + ": BEGIN")
+ test(&s)
+ }, SpecTimeout(time.Minute*5))
+ }
+})