aboutsummaryrefslogtreecommitdiffstats
path: root/extras/hs-test
diff options
context:
space:
mode:
authorAdrian Villin <avillin@cisco.com>2024-06-24 08:14:05 -0400
committerFlorin Coras <florin.coras@gmail.com>2024-06-24 16:06:40 +0000
commit1fde999eec2e0f6f8997c1bf41b638f085a14b07 (patch)
tree3103c383d67cf9aaab1b467ff2e972f4b2d78c38 /extras/hs-test
parent228e195e115a195b408d90e25a85dbbd8560059d (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.go21
-rw-r--r--extras/hs-test/infra/suite_nginx.go9
-rw-r--r--extras/hs-test/infra/suite_no_topo.go9
-rw-r--r--extras/hs-test/infra/suite_ns.go8
-rw-r--r--extras/hs-test/infra/suite_veth.go9
-rw-r--r--extras/hs-test/ldp_test.go6
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) {