10 . "github.com/onsi/ginkgo/v2"
13 // These correspond to names used in yaml config
15 clientInterface = "hclnvpp"
16 serverInterface = "hsrvvpp"
19 var nsTests = []func(s *NsSuite){}
20 var nsSoloTests = []func(s *NsSuite){}
26 func registerNsTests(tests ...func(s *NsSuite)) {
27 nsTests = append(nsTests, tests...)
29 func registerNsSoloTests(tests ...func(s *NsSuite)) {
30 nsSoloTests = append(nsSoloTests, tests...)
33 func (s *NsSuite) SetupSuite() {
34 s.HstSuite.SetupSuite()
35 s.configureNetworkTopology("ns")
36 s.loadContainerTopology("ns")
39 func (s *NsSuite) SetupTest() {
40 s.HstSuite.SetupTest()
42 // Setup test conditions
43 var sessionConfig Stanza
47 append("use-app-socket-api").
48 append("evt_qs_memfd_seg").
49 append("event-queue-length 100000").close()
51 cpus := s.AllocateCpus()
52 container := s.getContainerByName("vpp")
53 vpp, _ := container.newVppInstance(cpus, sessionConfig)
54 s.assertNil(vpp.start())
56 idx, err := vpp.createAfPacket(s.getInterfaceByName(serverInterface))
57 s.assertNil(err, fmt.Sprint(err))
58 s.assertNotEqual(0, idx)
60 idx, err = vpp.createAfPacket(s.getInterfaceByName(clientInterface))
61 s.assertNil(err, fmt.Sprint(err))
62 s.assertNotEqual(0, idx)
64 container.exec("chmod 777 -R %s", container.getContainerWorkDir())
67 var _ = Describe("NsSuite", Ordered, ContinueOnFailure, func() {
82 for _, test := range nsTests {
84 pc := reflect.ValueOf(test).Pointer()
85 funcValue := runtime.FuncForPC(pc)
86 It(strings.Split(funcValue.Name(), ".")[2], func(ctx SpecContext) {
88 }, SpecTimeout(time.Minute*5))
92 var _ = Describe("NsSuiteSolo", Ordered, ContinueOnFailure, Serial, func() {
107 for _, test := range nsSoloTests {
109 pc := reflect.ValueOf(test).Pointer()
110 funcValue := runtime.FuncForPC(pc)
111 It(strings.Split(funcValue.Name(), ".")[2], Label("SOLO"), func(ctx SpecContext) {
113 }, SpecTimeout(time.Minute*5))