From: Adrian Villin Date: Thu, 13 Mar 2025 11:12:13 +0000 (+0100) Subject: hs-test: added session, tcp, svm unit tests X-Git-Tag: v25.10-rc0~156 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=ee10298fe95d300b8e389e17e78e0735fec54797;p=vpp.git hs-test: added session, tcp, svm unit tests - moved HttpUnitTest to unittests_test.go - unit tests will only run on coverage builds - added "SUCCESS" message to some unit tests Type: test Change-Id: I35a0510d0ac2899d85f2aa6875a738b280e9b89c Signed-off-by: Adrian Villin --- diff --git a/extras/hs-test/http_test.go b/extras/hs-test/http_test.go index ad43f9d032e..f4bee5e312b 100644 --- a/extras/hs-test/http_test.go +++ b/extras/hs-test/http_test.go @@ -33,7 +33,7 @@ func init() { HttpInvalidContentLengthTest, HttpInvalidTargetSyntaxTest, HttpStaticPathSanitizationTest, HttpUriDecodeTest, HttpHeadersTest, HttpStaticFileHandlerTest, HttpStaticFileHandlerDefaultMaxAgeTest, HttpClientTest, HttpClientErrRespTest, HttpClientPostFormTest, HttpClientGet128kbResponseTest, HttpClientGetResponseBodyTest, - HttpClientGetNoResponseBodyTest, HttpClientPostFileTest, HttpClientPostFilePtrTest, HttpUnitTest, + HttpClientGetNoResponseBodyTest, HttpClientPostFileTest, HttpClientPostFilePtrTest, HttpRequestLineTest, HttpClientGetTimeout, HttpStaticFileHandlerWrkTest, HttpStaticUrlHandlerWrkTest, HttpConnTimeoutTest, HttpClientGetRepeatTest, HttpClientPostRepeatTest, HttpIgnoreH2UpgradeTest, HttpInvalidAuthorityFormUriTest, HttpHeaderErrorConnectionDropTest) RegisterNoTopoSoloTests(HttpStaticPromTest, HttpGetTpsTest, HttpGetTpsInterruptModeTest, PromConcurrentConnectionsTest, @@ -547,13 +547,6 @@ func HttpClientPostFilePtrTest(s *NoTopoSuite) { httpClientPostFile(s, true, 131072) } -func HttpUnitTest(s *NoTopoSuite) { - vpp := s.Containers.Vpp.VppInstance - o := vpp.Vppctl("test http all") - s.Log(o) - s.AssertContains(o, "SUCCESS") -} - func HttpStaticPromTest(s *NoTopoSuite) { query := "stats.prom" vpp := s.Containers.Vpp.VppInstance diff --git a/extras/hs-test/infra/hst_suite.go b/extras/hs-test/infra/hst_suite.go index d44b76f3e1f..5ef4883ebdb 100644 --- a/extras/hs-test/infra/hst_suite.go +++ b/extras/hs-test/infra/hst_suite.go @@ -248,6 +248,12 @@ func (s *HstSuite) SkipIfUnconfiguring() { } } +func (s *HstSuite) SkipIfNotCoverage() { + if !s.CoverageRun { + s.Skip("skipping, not a coverage run") + } +} + func (s *HstSuite) SetupTest() { testCounterFunc() s.Log("[* TEST SETUP]") diff --git a/extras/hs-test/unittests_test.go b/extras/hs-test/unittests_test.go new file mode 100644 index 00000000000..26faca572b8 --- /dev/null +++ b/extras/hs-test/unittests_test.go @@ -0,0 +1,35 @@ +package main + +import ( + . "fd.io/hs-test/infra" +) + +func init() { + RegisterNoTopoTests(HttpUnitTest, TcpUnitTest, SvmUnitTest, SessionUnitTest) +} + +func runUnitTest(s *NoTopoSuite, vppCmd string) { + vpp := s.Containers.Vpp.VppInstance + o := vpp.Vppctl(vppCmd) + s.Log(o) + s.AssertContains(o, "SUCCESS") +} + +func HttpUnitTest(s *NoTopoSuite) { + runUnitTest(s, "test http all") +} + +func TcpUnitTest(s *NoTopoSuite) { + s.SkipIfNotCoverage() + runUnitTest(s, "test tcp all") +} + +func SvmUnitTest(s *NoTopoSuite) { + s.SkipIfNotCoverage() + runUnitTest(s, "test svm fifo all") +} + +func SessionUnitTest(s *NoTopoSuite) { + s.SkipIfNotCoverage() + runUnitTest(s, "test session all") +} diff --git a/src/plugins/unittest/session_test.c b/src/plugins/unittest/session_test.c index f0e5d4b4f3d..cab9de0d742 100644 --- a/src/plugins/unittest/session_test.c +++ b/src/plugins/unittest/session_test.c @@ -2732,6 +2732,8 @@ session_test (vlib_main_t * vm, done: if (res) return clib_error_return (0, "Session unit test failed"); + + vlib_cli_output (vm, "SUCCESS"); return 0; } diff --git a/src/plugins/unittest/svm_fifo_test.c b/src/plugins/unittest/svm_fifo_test.c index 9feb37cbc25..c6031c59987 100644 --- a/src/plugins/unittest/svm_fifo_test.c +++ b/src/plugins/unittest/svm_fifo_test.c @@ -2856,6 +2856,8 @@ svm_fifo_test (vlib_main_t * vm, unformat_input_t * input, done: if (res) return clib_error_return (0, "svm fifo unit test failed"); + + vlib_cli_output (vm, "SUCCESS"); return 0; } diff --git a/src/plugins/unittest/tcp_test.c b/src/plugins/unittest/tcp_test.c index 4b53bc18906..33c5387b98f 100644 --- a/src/plugins/unittest/tcp_test.c +++ b/src/plugins/unittest/tcp_test.c @@ -1594,6 +1594,8 @@ tcp_test (vlib_main_t * vm, done: if (res) return clib_error_return (0, "TCP unit test failed"); + + vlib_cli_output (vm, "SUCCESS"); return 0; }