diff options
-rw-r--r-- | extras/hs-test/mirroring_test.go | 5 | ||||
-rw-r--r-- | extras/hs-test/vppinstance.go | 18 |
2 files changed, 19 insertions, 4 deletions
diff --git a/extras/hs-test/mirroring_test.go b/extras/hs-test/mirroring_test.go index 96cb3484d75..03e9c03b8db 100644 --- a/extras/hs-test/mirroring_test.go +++ b/extras/hs-test/mirroring_test.go @@ -15,9 +15,6 @@ func (s *NginxSuite) TestMirroring() { s.log(string(o)) s.assertNotEmpty(o) - // Check if log output from VPP contains 'no lcl port' warnings - // TODO: Need to change after adding session worker counter vppProxyContainer := s.getContainerByName(vppProxyContainerName) - logContent := vppProxyContainer.log() - s.assertNotContains(logContent, "no lcl port") + s.assertEqual(0, vppProxyContainer.vppInstance.GetSessionStat("no lcl port")) } diff --git a/extras/hs-test/vppinstance.go b/extras/hs-test/vppinstance.go index c871697cb44..bed084c42ed 100644 --- a/extras/hs-test/vppinstance.go +++ b/extras/hs-test/vppinstance.go @@ -5,6 +5,7 @@ import ( "os" "os/exec" "os/signal" + "strconv" "strings" "syscall" "time" @@ -192,6 +193,23 @@ func (vpp *VppInstance) vppctl(command string, arguments ...any) string { return string(output) } +func (vpp *VppInstance) GetSessionStat(stat string) int { + o := vpp.vppctl("show session stats") + vpp.getSuite().log(o) + for _, line := range strings.Split(o, "\n") { + if strings.Contains(line, stat) { + tokens := strings.Split(strings.TrimSpace(line), " ") + val, err := strconv.Atoi(tokens[0]) + if err != nil { + vpp.getSuite().FailNow("failed to parse stat value %s", err) + return 0 + } + return val + } + } + return 0 +} + func (vpp *VppInstance) waitForApp(appName string, timeout int) { for i := 0; i < timeout; i++ { o := vpp.vppctl("show app") |