From: Filip Tehlar Date: Thu, 10 Nov 2022 11:34:17 +0000 (+0100) Subject: hs-test: add http client connect test X-Git-Tag: v23.06-rc0~133 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=b15a0000fff121cdd9ab03c208da429e27901b38;p=vpp.git hs-test: add http client connect test Type: test Signed-off-by: Filip Tehlar Change-Id: If705d311065e128b4b6df7d8d80910e4be72d3e6 --- diff --git a/MAINTAINERS b/MAINTAINERS index 865d1f24536..b18e48b40a8 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -823,6 +823,13 @@ M: Fan Zhang M: Gabriel Oginski F: extras/strongswan/vpp_sswan +Host stack test framework +I: hs-test +M: Florin Coras +M: Filip Tehlar +M: Maros Ondrejicka +F: extras/hs-test + THE REST I: misc M: vpp-dev Mailing List diff --git a/extras/hs-test/actions.go b/extras/hs-test/actions.go index 7525085632a..1f35ee7df15 100755 --- a/extras/hs-test/actions.go +++ b/extras/hs-test/actions.go @@ -31,6 +31,8 @@ func RegisterActions() { reg("2veths", Configure2Veths) reg("vcl-test-server", RunVclEchoServer) reg("vcl-test-client", RunVclEchoClient) + reg("http-cli-srv", RunHttpCliSrv) + reg("http-cli-cln", RunHttpCliCln) } func configureProxyTcp(ifName0, ipAddr0, ifName1, ipAddr1 string) ConfFn { @@ -51,6 +53,17 @@ func configureProxyTcp(ifName0, ipAddr0, ifName1, ipAddr1 string) ConfFn { } } +func RunHttpCliSrv(args []string) *ActionResult { + cmd := fmt.Sprintf("http cli server") + return ApiCliInband("/tmp/2veths", cmd) +} + +func RunHttpCliCln(args []string) *ActionResult { + cmd := fmt.Sprintf("http cli client uri http://10.10.10.1/80 query %s", getArgs()) + fmt.Println(cmd) + return ApiCliInband("/tmp/2veths", cmd) +} + func ConfigureVppProxy(args []string) *ActionResult { ctx, cancel := newVppContext() defer cancel() diff --git a/extras/hs-test/http_test.go b/extras/hs-test/http_test.go new file mode 100755 index 00000000000..fbbd64aa31e --- /dev/null +++ b/extras/hs-test/http_test.go @@ -0,0 +1,90 @@ +package main + +import ( + "strings" + + "github.com/edwarnicke/exechelper" +) + +func (s *NsSuite) TestHttpTps() { + t := s.T() + finished := make(chan error, 1) + server_ip := "10.0.0.2" + port := "8080" + dockerInstance := "http-tps" + + t.Log("starting vpp..") + + err := dockerRun(dockerInstance, "") + if err != nil { + t.Errorf("%v", err) + return + } + defer func() { exechelper.Run("docker stop " + dockerInstance) }() + + // start & configure vpp in the container + _, err = hstExec(dockerInstance, dockerInstance) + if err != nil { + t.Errorf("%v", err) + return + } + + go startWget(finished, server_ip, port, "client") + // wait for client + err = <-finished + if err != nil { + t.Errorf("%v", err) + } +} + +func (s *Veths2Suite) TestHttpCli() { + t := s.T() + + srvInstance := "http-cli-srv" + clnInstance := "http-cli-cln" + err := dockerRun(srvInstance, "") + if err != nil { + t.Errorf("%v", err) + return + } + defer func() { exechelper.Run("docker stop " + srvInstance) }() + + err = dockerRun(clnInstance, "") + if err != nil { + t.Errorf("%v", err) + return + } + defer func() { exechelper.Run("docker stop " + clnInstance) }() + + _, err = hstExec("2veths srv", srvInstance) + if err != nil { + t.Errorf("%v", err) + return + } + + _, err = hstExec("2veths cln", clnInstance) + if err != nil { + t.Errorf("%v", err) + return + } + + t.Log("configured IPs...") + + _, err = hstExec("http-cli-srv", srvInstance) + if err != nil { + t.Errorf("%v", err) + return + } + + t.Log("configured http server") + + o, err := hstExec("http-cli-cln /show/version", clnInstance) + if err != nil { + t.Errorf("%v", err) + return + } + + if strings.Index(o, "") < 0 { + t.Error(" not found in the result!") + } +} diff --git a/extras/hs-test/tps_test.go b/extras/hs-test/tps_test.go deleted file mode 100755 index dd87da1718e..00000000000 --- a/extras/hs-test/tps_test.go +++ /dev/null @@ -1,36 +0,0 @@ -package main - -import ( - "github.com/edwarnicke/exechelper" -) - -func (s *NsSuite) TestHttpTps() { - t := s.T() - finished := make(chan error, 1) - server_ip := "10.0.0.2" - port := "8080" - dockerInstance := "http-tps" - - t.Log("starting vpp..") - - err := dockerRun(dockerInstance, "") - if err != nil { - t.Errorf("%v", err) - return - } - defer func() { exechelper.Run("docker stop " + dockerInstance) }() - - // start & configure vpp in the container - _, err = hstExec(dockerInstance, dockerInstance) - if err != nil { - t.Errorf("%v", err) - return - } - - go startWget(finished, server_ip, port, "client") - // wait for client - err = <-finished - if err != nil { - t.Errorf("%v", err) - } -} diff --git a/extras/hs-test/utils.go b/extras/hs-test/utils.go index 4674bafc6dc..3dc511ee13d 100755 --- a/extras/hs-test/utils.go +++ b/extras/hs-test/utils.go @@ -46,6 +46,7 @@ plugins { plugin dpdk_plugin.so { disable } plugin crypto_aesni_plugin.so { enable } plugin quic_plugin.so { enable } + plugin crypto_ipsecmb_plugin.so { disable } } `