X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=extras%2Fhs-test%2Futils.go;h=304dd4c241bb2fe2583123715d163a69aa1a0cbc;hb=4b3598e39a5b522a55b4b86fa06a323416108a6b;hp=bec54e8cf506a03e08e3f3dd4c16c23b14212bc9;hpb=db823ed6e9543741f6969ff160314093002e037e;p=vpp.git diff --git a/extras/hs-test/utils.go b/extras/hs-test/utils.go old mode 100755 new mode 100644 index bec54e8cf50..304dd4c241b --- a/extras/hs-test/utils.go +++ b/extras/hs-test/utils.go @@ -1,65 +1,14 @@ package main import ( - "encoding/json" - "errors" "fmt" "io" - "io/ioutil" "os" - "os/exec" "strings" - "time" ) -// TODO remove `configTemplate` once its usage has been replaced everywhere with VppConfig -const configTemplate = `unix { - nodaemon - log %[1]s/var/log/vpp/vpp.log - full-coredump - cli-listen %[1]s/var/run/vpp/cli.sock - runtime-dir %[1]s/var/run - gid vpp -} - -api-trace { - on -} - -api-segment { - gid vpp -} - -socksvr { - socket-name %[1]s/var/run/vpp/api.sock -} - -statseg { - socket-name %[1]s/var/run/vpp/stats.sock -} - -plugins { - plugin unittest_plugin.so { enable } - plugin dpdk_plugin.so { disable } - plugin crypto_aesni_plugin.so { enable } - plugin quic_plugin.so { enable } - plugin crypto_ipsecmb_plugin.so { disable } -} - -` - -const vclTemplate = `vcl { - app-socket-api %[1]s - app-scope-global - app-scope-local - namespace-id %[2]s - namespace-secret %[2]s - use-mq-eventfd -} -` - -const NetworkTopologyDir string = "topo-network/" -const ContainerTopologyDir string = "topo-containers/" +const networkTopologyDir string = "topo-network/" +const containerTopologyDir string = "topo-containers/" type Stanza struct { content string @@ -80,73 +29,6 @@ type JsonResult struct { StdOutput string } -func StartServerApp(running chan error, done chan struct{}, env []string) { - cmd := exec.Command("iperf3", "-4", "-s") - if env != nil { - cmd.Env = env - } - err := cmd.Start() - if err != nil { - msg := fmt.Errorf("failed to start iperf server: %v", err) - running <- msg - return - } - running <- nil - <-done - cmd.Process.Kill() -} - -func StartClientApp(env []string, clnCh chan error) { - defer func() { - clnCh <- nil - }() - - nTries := 0 - - for { - cmd := exec.Command("iperf3", "-c", "10.10.10.1", "-u", "-l", "1460", "-b", "10g") - if env != nil { - cmd.Env = env - } - o, err := cmd.CombinedOutput() - if err != nil { - if nTries > 5 { - clnCh <- fmt.Errorf("failed to start client app '%s'.\n%s", err, o) - return - } - time.Sleep(1 * time.Second) - nTries++ - continue - } else { - fmt.Printf("Client output: %s", o) - } - break - } -} - -func waitForSyncFile(fname string) (*JsonResult, error) { - var res JsonResult - - for i := 0; i < 360; i++ { - f, err := os.Open(fname) - if err == nil { - defer f.Close() - - data, err := ioutil.ReadFile(fname) - if err != nil { - return nil, fmt.Errorf("read error: %v", err) - } - err = json.Unmarshal(data, &res) - if err != nil { - return nil, fmt.Errorf("json unmarshal error: %v", err) - } - return &res, nil - } - time.Sleep(1 * time.Second) - } - return nil, fmt.Errorf("no sync file found") -} - func assertFileSize(f1, f2 string) error { fi1, err := os.Stat(f1) if err != nil { @@ -164,58 +46,29 @@ func assertFileSize(f1, f2 string) error { return nil } -func startHttpServer(running chan struct{}, done chan struct{}, addressPort, netNs string) { - cmd := NewCommand([]string{"./http_server", addressPort}, netNs) - err := cmd.Start() - if err != nil { - fmt.Println("Failed to start http server") - return - } - running <- struct{}{} - <-done - cmd.Process.Kill() -} - -func startWget(finished chan error, server_ip, port string, netNs string) { - fname := "test_file_10M" - defer func() { - finished <- errors.New("wget error") - }() - - cmd := NewCommand([]string{"wget", "--tries=5", "-q", "-O", "/dev/null", server_ip + ":" + port + "/" + fname}, - netNs) - o, err := cmd.CombinedOutput() - if err != nil { - fmt.Printf("wget error: '%s'.\n%s", err, o) - return - } - fmt.Printf("Client output: %s", o) - finished <- nil -} - -func (c *Stanza) NewStanza(name string) *Stanza { - c.Append("\n" + name + " {") +func (c *Stanza) newStanza(name string) *Stanza { + c.append("\n" + name + " {") c.pad += 2 return c } -func (c *Stanza) Append(name string) *Stanza { +func (c *Stanza) append(name string) *Stanza { c.content += strings.Repeat(" ", c.pad) c.content += name + "\n" return c } -func (c *Stanza) Close() *Stanza { +func (c *Stanza) close() *Stanza { c.content += "}\n" c.pad -= 2 return c } -func (s *Stanza) ToString() string { +func (s *Stanza) toString() string { return s.content } -func (s *Stanza) SaveToFile(fileName string) error { +func (s *Stanza) saveToFile(fileName string) error { fo, err := os.Create(fileName) if err != nil { return err