diff options
Diffstat (limited to 'extras/hs-test/infra/hst_suite.go')
-rw-r--r-- | extras/hs-test/infra/hst_suite.go | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/extras/hs-test/infra/hst_suite.go b/extras/hs-test/infra/hst_suite.go index ac255b9fd44..975e01d5b8e 100644 --- a/extras/hs-test/infra/hst_suite.go +++ b/extras/hs-test/infra/hst_suite.go @@ -14,10 +14,11 @@ import ( "strings" "time" + containerTypes "github.com/docker/docker/api/types/container" + "github.com/docker/docker/client" "github.com/onsi/gomega/gmeasure" "gopkg.in/yaml.v3" - "github.com/edwarnicke/exechelper" . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ) @@ -52,6 +53,7 @@ type HstSuite struct { ProcessIndex string Logger *log.Logger LogFile *os.File + Docker *client.Client } func getTestFilename() string { @@ -59,8 +61,16 @@ func getTestFilename() string { return filepath.Base(filename) } +func (s *HstSuite) newDockerClient() { + var err error + s.Docker, err = client.NewClientWithOpts(client.FromEnv, client.WithAPIVersionNegotiation()) + s.AssertNil(err) + s.Log("docker client created") +} + func (s *HstSuite) SetupSuite() { s.CreateLogger() + s.newDockerClient() s.Log("Suite Setup") RegisterFailHandler(func(message string, callerSkip ...int) { s.HstFail() @@ -94,6 +104,7 @@ func (s *HstSuite) AddCpuContext(cpuCtx *CpuContext) { func (s *HstSuite) TearDownSuite() { defer s.LogFile.Close() + defer s.Docker.Close() s.Log("Suite Teardown") s.UnconfigureNetworkTopology() } @@ -104,7 +115,6 @@ func (s *HstSuite) TearDownTest() { return } s.ResetContainers() - s.RemoveVolumes() if s.Ip4AddrAllocator != nil { s.Ip4AddrAllocator.DeleteIpAddresses() @@ -121,18 +131,9 @@ func (s *HstSuite) SetupTest() { s.Log("Test Setup") s.StartedContainers = s.StartedContainers[:0] s.SkipIfUnconfiguring() - s.SetupVolumes() s.SetupContainers() } -func (s *HstSuite) SetupVolumes() { - for _, volume := range s.Volumes { - cmd := "docker volume create --name=" + volume - s.Log(cmd) - exechelper.Run(cmd) - } -} - func (s *HstSuite) SetupContainers() { for _, container := range s.Containers { if !container.IsOptional { @@ -214,6 +215,10 @@ func (s *HstSuite) AssertNotContains(testString, contains interface{}, msgAndArg Expect(testString).ToNot(ContainSubstring(fmt.Sprint(contains)), msgAndArgs...) } +func (s *HstSuite) AssertEmpty(object interface{}, msgAndArgs ...interface{}) { + Expect(object).To(BeEmpty(), msgAndArgs...) +} + func (s *HstSuite) AssertNotEmpty(object interface{}, msgAndArgs ...interface{}) { Expect(object).ToNot(BeEmpty(), msgAndArgs...) } @@ -283,15 +288,10 @@ func (s *HstSuite) SkipUnlessExtendedTestsBuilt() { func (s *HstSuite) ResetContainers() { for _, container := range s.StartedContainers { container.stop() - exechelper.Run("docker rm " + container.Name) - } -} - -func (s *HstSuite) RemoveVolumes() { - for _, volumeName := range s.Volumes { - cmd := "docker volume rm " + volumeName - exechelper.Run(cmd) - os.RemoveAll(volumeName) + s.Log("Removing container " + container.Name) + if err := s.Docker.ContainerRemove(container.ctx, container.ID, containerTypes.RemoveOptions{RemoveVolumes: true}); err != nil { + s.Log(err) + } } } |