From 543cd57ea2fa2191804e0e1893fa2c34a37f0088 Mon Sep 17 00:00:00 2001 From: Filip Tehlar Date: Tue, 27 Jun 2023 10:01:37 +0200 Subject: [PATCH] hs-test: improve get stats Type: test Change-Id: Ie681ee43007f4fe787d51d80bda9b433dcb6c09a Signed-off-by: Filip Tehlar --- extras/hs-test/mirroring_test.go | 5 +---- 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") -- 2.16.6