diff options
author | Adrian Villin <avillin@cisco.com> | 2024-06-24 08:14:05 -0400 |
---|---|---|
committer | Florin Coras <florin.coras@gmail.com> | 2024-06-24 16:06:40 +0000 |
commit | 1fde999eec2e0f6f8997c1bf41b638f085a14b07 (patch) | |
tree | 3103c383d67cf9aaab1b467ff2e972f4b2d78c38 /extras/hs-test | |
parent | 228e195e115a195b408d90e25a85dbbd8560059d (diff) |
hs-test: added interrupt mode tests
Type: test
Change-Id: I327fa1a4ea23a3af3aa33e5260367426a11e7b4f
Signed-off-by: Adrian Villin <avillin@cisco.com>
Diffstat (limited to 'extras/hs-test')
-rw-r--r-- | extras/hs-test/http_test.go | 21 | ||||
-rw-r--r-- | extras/hs-test/infra/suite_nginx.go | 9 | ||||
-rw-r--r-- | extras/hs-test/infra/suite_no_topo.go | 9 | ||||
-rw-r--r-- | extras/hs-test/infra/suite_ns.go | 8 | ||||
-rw-r--r-- | extras/hs-test/infra/suite_veth.go | 9 | ||||
-rw-r--r-- | extras/hs-test/ldp_test.go | 6 |
6 files changed, 55 insertions, 7 deletions
diff --git a/extras/hs-test/http_test.go b/extras/hs-test/http_test.go index d83f2d10ffb..68e2e656b35 100644 --- a/extras/hs-test/http_test.go +++ b/extras/hs-test/http_test.go @@ -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")) } diff --git a/extras/hs-test/infra/suite_nginx.go b/extras/hs-test/infra/suite_nginx.go index f835262d591..bb1bdb0f42b 100644 --- a/extras/hs-test/infra/suite_nginx.go +++ b/extras/hs-test/infra/suite_nginx.go @@ -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) diff --git a/extras/hs-test/infra/suite_no_topo.go b/extras/hs-test/infra/suite_no_topo.go index c48e6fb1845..5f53f55f1bb 100644 --- a/extras/hs-test/infra/suite_no_topo.go +++ b/extras/hs-test/infra/suite_no_topo.go @@ -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) diff --git a/extras/hs-test/infra/suite_ns.go b/extras/hs-test/infra/suite_ns.go index d88730b1c0b..601ec22a8a9 100644 --- a/extras/hs-test/infra/suite_ns.go +++ b/extras/hs-test/infra/suite_ns.go @@ -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) diff --git a/extras/hs-test/infra/suite_veth.go b/extras/hs-test/infra/suite_veth.go index d7bfa55acd0..f7b1c3da7d8 100644 --- a/extras/hs-test/infra/suite_veth.go +++ b/extras/hs-test/infra/suite_veth.go @@ -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") diff --git a/extras/hs-test/ldp_test.go b/extras/hs-test/ldp_test.go index 53043aabaf2..e9e8bba9274 100644 --- a/extras/hs-test/ldp_test.go +++ b/extras/hs-test/ldp_test.go @@ -9,7 +9,11 @@ import ( ) func init() { - RegisterVethTests(LDPreloadIperfVppTest) + RegisterVethTests(LDPreloadIperfVppTest, LDPreloadIperfVppInterruptModeTest) +} + +func LDPreloadIperfVppInterruptModeTest(s *VethsSuite) { + LDPreloadIperfVppTest(s) } func LDPreloadIperfVppTest(s *VethsSuite) { |