hs-test: use relative paths for docker volumes
[vpp.git] / extras / hs-test / hst_suite.go
index f0ebdca..7f93b15 100644 (file)
@@ -4,7 +4,6 @@ import (
        "errors"
        "flag"
        "fmt"
-       "io/ioutil"
        "os"
        "os/exec"
        "strings"
@@ -209,7 +208,7 @@ func (s *HstSuite) getTransientContainerByName(name string) *Container {
 }
 
 func (s *HstSuite) loadContainerTopology(topologyName string) {
-       data, err := ioutil.ReadFile(containerTopologyDir + topologyName + ".yaml")
+       data, err := os.ReadFile(containerTopologyDir + topologyName + ".yaml")
        if err != nil {
                s.T().Fatalf("read error: %v", err)
        }
@@ -222,13 +221,15 @@ func (s *HstSuite) loadContainerTopology(topologyName string) {
        for _, elem := range yamlTopo.Volumes {
                volumeMap := elem["volume"].(VolumeConfig)
                hostDir := volumeMap["host-dir"].(string)
+               workingVolumeDir := logDir + s.T().Name() + volumeDir
+               volDirReplacer := strings.NewReplacer("$HST_VOLUME_DIR", workingVolumeDir)
+               hostDir = volDirReplacer.Replace(hostDir)
                s.volumes = append(s.volumes, hostDir)
        }
 
        s.containers = make(map[string]*Container)
        for _, elem := range yamlTopo.Containers {
-               newContainer, err := newContainer(elem)
-               newContainer.suite = s
+               newContainer, err := newContainer(s, elem)
                if err != nil {
                        s.T().Fatalf("container config error: %v", err)
                }
@@ -237,7 +238,7 @@ func (s *HstSuite) loadContainerTopology(topologyName string) {
 }
 
 func (s *HstSuite) loadNetworkTopology(topologyName string) {
-       data, err := ioutil.ReadFile(networkTopologyDir + topologyName + ".yaml")
+       data, err := os.ReadFile(networkTopologyDir + topologyName + ".yaml")
        if err != nil {
                s.T().Fatalf("read error: %v", err)
        }