hs-test: added interrupt mode tests 73/40973/2
authorAdrian Villin <[email protected]>
Mon, 24 Jun 2024 12:14:05 +0000 (08:14 -0400)
committerFlorin Coras <[email protected]>
Mon, 24 Jun 2024 16:06:40 +0000 (16:06 +0000)
Type: test

Change-Id: I327fa1a4ea23a3af3aa33e5260367426a11e7b4f
Signed-off-by: Adrian Villin <[email protected]>
extras/hs-test/http_test.go
extras/hs-test/infra/suite_nginx.go
extras/hs-test/infra/suite_no_topo.go
extras/hs-test/infra/suite_ns.go
extras/hs-test/infra/suite_veth.go
extras/hs-test/ldp_test.go

index d83f2d1..68e2e65 100644 (file)
@@ -17,7 +17,8 @@ import (
 func init() {
        RegisterVethTests(HttpCliTest, HttpCliConnectErrorTest)
        RegisterNoTopoTests(NginxHttp3Test, NginxAsServerTest,
-               NginxPerfCpsTest, NginxPerfRpsTest, NginxPerfWrkTest, HeaderServerTest,
+               NginxPerfCpsTest, NginxPerfRpsTest, NginxPerfWrkTest, NginxPerfCpsInterruptModeTest,
+               NginxPerfRpsInterruptModeTest, NginxPerfWrkInterruptModeTest, HeaderServerTest,
                HttpStaticMovedTest, HttpStaticNotFoundTest, HttpCliMethodNotAllowedTest,
                HttpCliBadRequestTest, HttpStaticBuildInUrlGetIfStatsTest, HttpStaticBuildInUrlPostIfStatsTest,
                HttpInvalidRequestLineTest, HttpMethodNotImplementedTest, HttpInvalidHeadersTest,
@@ -25,7 +26,7 @@ func init() {
                HttpStaticMacTimeTest, HttpStaticBuildInUrlGetVersionVerboseTest, HttpVersionNotSupportedTest,
                HttpInvalidContentLengthTest, HttpInvalidTargetSyntaxTest, HttpStaticPathTraversalTest, HttpUriDecodeTest,
                HttpHeadersTest)
-       RegisterNoTopoSoloTests(HttpStaticPromTest, HttpTpsTest)
+       RegisterNoTopoSoloTests(HttpStaticPromTest, HttpTpsTest, HttpTpsInterruptModeTest)
 }
 
 const wwwRootPath = "/tmp/www_root"
@@ -46,6 +47,10 @@ func httpDownloadBenchmark(s *HstSuite, experiment *gmeasure.Experiment, data in
        experiment.RecordValue("Download Speed", (float64(resp.ContentLength)/1024/1024)/duration.Seconds(), gmeasure.Units("MB/s"), gmeasure.Precision(2))
 }
 
+func HttpTpsInterruptModeTest(s *NoTopoSuite) {
+       HttpTpsTest(s)
+}
+
 func HttpTpsTest(s *NoTopoSuite) {
        vpp := s.GetContainerByName("vpp").VppInstance
        serverAddress := s.GetInterfaceByName(TapInterfaceName).Peer.Ip4AddressString()
@@ -635,16 +640,28 @@ func runNginxPerf(s *NoTopoSuite, mode, ab_or_wrk string) error {
        return nil
 }
 
+func NginxPerfCpsInterruptModeTest(s *NoTopoSuite) {
+       NginxPerfCpsTest(s)
+}
+
 // unstable with multiple workers
 func NginxPerfCpsTest(s *NoTopoSuite) {
        s.SkipIfMultiWorker()
        s.AssertNil(runNginxPerf(s, "cps", "ab"))
 }
 
+func NginxPerfRpsInterruptModeTest(s *NoTopoSuite) {
+       NginxPerfRpsTest(s)
+}
+
 func NginxPerfRpsTest(s *NoTopoSuite) {
        s.AssertNil(runNginxPerf(s, "rps", "ab"))
 }
 
+func NginxPerfWrkInterruptModeTest(s *NoTopoSuite) {
+       NginxPerfWrkTest(s)
+}
+
 func NginxPerfWrkTest(s *NoTopoSuite) {
        s.AssertNil(runNginxPerf(s, "", "wrk"))
 }
index f835262..bb1bdb0 100644 (file)
@@ -45,7 +45,14 @@ func (s *NginxSuite) SetupTest() {
        sessionConfig.
                NewStanza("session").
                Append("enable").
-               Append("use-app-socket-api").Close()
+               Append("use-app-socket-api")
+
+       if strings.Contains(CurrentSpecReport().LeafNodeText, "InterruptMode") {
+               sessionConfig.Append("use-private-rx-mqs").Close()
+               s.Log("**********************INTERRUPT MODE**********************")
+       } else {
+               sessionConfig.Close()
+       }
 
        // ... for proxy
        vppProxyContainer := s.GetContainerByName(VppProxyContainerName)
index c48e6fb..5f53f55 100644 (file)
@@ -42,7 +42,14 @@ func (s *NoTopoSuite) SetupTest() {
        sessionConfig.
                NewStanza("session").
                Append("enable").
-               Append("use-app-socket-api").Close()
+               Append("use-app-socket-api")
+
+       if strings.Contains(CurrentSpecReport().LeafNodeText, "InterruptMode") {
+               sessionConfig.Append("use-private-rx-mqs").Close()
+               s.Log("**********************INTERRUPT MODE**********************")
+       } else {
+               sessionConfig.Close()
+       }
 
        container := s.GetContainerByName(SingleTopoContainerVpp)
        vpp, _ := container.newVppInstance(container.AllocatedCpus, sessionConfig)
index d88730b..601ec22 100644 (file)
@@ -45,7 +45,13 @@ func (s *NsSuite) SetupTest() {
                Append("enable").
                Append("use-app-socket-api").
                Append("evt_qs_memfd_seg").
-               Append("event-queue-length 100000").Close()
+               Append("event-queue-length 100000")
+
+       if strings.Contains(CurrentSpecReport().LeafNodeText, "InterruptMode") {
+               sessionConfig.Append("use-private-rx-mqs").Close()
+       } else {
+               sessionConfig.Close()
+       }
 
        container := s.GetContainerByName("vpp")
        vpp, _ := container.newVppInstance(container.AllocatedCpus, sessionConfig)
index d7bfa55..f7b1c3d 100644 (file)
@@ -45,7 +45,14 @@ func (s *VethsSuite) SetupTest() {
        sessionConfig.
                NewStanza("session").
                Append("enable").
-               Append("use-app-socket-api").Close()
+               Append("use-app-socket-api")
+
+       if strings.Contains(CurrentSpecReport().LeafNodeText, "InterruptMode") {
+               sessionConfig.Append("use-private-rx-mqs").Close()
+               s.Log("**********************INTERRUPT MODE**********************")
+       } else {
+               sessionConfig.Close()
+       }
 
        // ... For server
        serverContainer := s.GetContainerByName("server-vpp")
index 53043aa..e9e8bba 100644 (file)
@@ -9,7 +9,11 @@ import (
 )
 
 func init() {
-       RegisterVethTests(LDPreloadIperfVppTest)
+       RegisterVethTests(LDPreloadIperfVppTest, LDPreloadIperfVppInterruptModeTest)
+}
+
+func LDPreloadIperfVppInterruptModeTest(s *VethsSuite) {
+       LDPreloadIperfVppTest(s)
 }
 
 func LDPreloadIperfVppTest(s *VethsSuite) {