X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=extras%2Fhs-test%2Fframework_test.go;h=84aa570e6818cbd40f4691234f334c6d4f0cf982;hb=116392b1742e86440c6a194170c1c9bca1314fe1;hp=056be13d597a99f8524d71fa4f47663a28c9c718;hpb=c204c87c186993704927beffa4d5b1cafaf9a193;p=vpp.git diff --git a/extras/hs-test/framework_test.go b/extras/hs-test/framework_test.go old mode 100755 new mode 100644 index 056be13d597..84aa570e681 --- a/extras/hs-test/framework_test.go +++ b/extras/hs-test/framework_test.go @@ -1,169 +1,11 @@ package main import ( - "io/ioutil" - "os" "testing" - "github.com/edwarnicke/exechelper" - "github.com/stretchr/testify/assert" "github.com/stretchr/testify/suite" - "gopkg.in/yaml.v3" ) -func IsPersistent() bool { - return os.Getenv("HST_PERSIST") == "1" -} - -func IsVerbose() bool { - return os.Getenv("HST_VERBOSE") == "1" -} - -type HstSuite struct { - suite.Suite - teardownSuite func() - containers map[string]*Container - volumes []string -} - -func (s *HstSuite) TearDownSuite() { - s.teardownSuite() -} - -func (s *HstSuite) TearDownTest() { - if IsPersistent() { - return - } - s.ResetContainers() - s.RemoveVolumes() -} - -func (s *HstSuite) SetupTest() { - for _, volume := range s.volumes { - cmd := "docker volume create --name=" + volume - s.log(cmd) - exechelper.Run(cmd) - } - for _, container := range s.containers { - if container.isOptional == false { - container.run() - } - } -} - -func (s *HstSuite) hstFail() { - s.T().FailNow() -} - -func (s *HstSuite) assertNil(object interface{}, msgAndArgs ...interface{}) { - if !assert.Nil(s.T(), object, msgAndArgs...) { - s.hstFail() - } -} - -func (s *HstSuite) assertNotNil(object interface{}, msgAndArgs ...interface{}) { - if !assert.NotNil(s.T(), object, msgAndArgs...) { - s.hstFail() - } -} - -func (s *HstSuite) assertEqual(expected, actual interface{}, msgAndArgs ...interface{}) { - if !assert.Equal(s.T(), expected, actual, msgAndArgs...) { - s.hstFail() - } -} - -func (s *HstSuite) assertNotEqual(expected, actual interface{}, msgAndArgs ...interface{}) { - if !assert.NotEqual(s.T(), expected, actual, msgAndArgs...) { - s.hstFail() - } -} - -func (s *HstSuite) assertContains(testString, contains interface{}, msgAndArgs ...interface{}) { - if !assert.Contains(s.T(), testString, contains, msgAndArgs...) { - s.hstFail() - } -} - -func (s *HstSuite) assertNotContains(testString, contains interface{}, msgAndArgs ...interface{}) { - if !assert.NotContains(s.T(), testString, contains, msgAndArgs...) { - s.hstFail() - } -} - -func (s *HstSuite) log(args ...any) { - if IsVerbose() { - s.T().Log(args...) - } -} - -func (s *HstSuite) skip(args ...any) { - s.log(args...) - s.T().SkipNow() -} - -func (s *HstSuite) ResetContainers() { - for _, container := range s.containers { - container.stop() - } -} - -func (s *HstSuite) RemoveVolumes() { - for _, volumeName := range s.volumes { - cmd := "docker volume rm " + volumeName - exechelper.Run(cmd) - } -} - -func (s *HstSuite) getContainerByName(name string) *Container { - return s.containers[name] -} - -func (s *HstSuite) loadContainerTopology(topologyName string) { - data, err := ioutil.ReadFile(ContainerTopologyDir + topologyName + ".yaml") - if err != nil { - s.T().Fatalf("read error: %v", err) - } - var yamlTopo YamlTopology - err = yaml.Unmarshal(data, &yamlTopo) - if err != nil { - s.T().Fatalf("unmarshal error: %v", err) - } - - for _, elem := range yamlTopo.Volumes { - s.volumes = append(s.volumes, elem) - } - - s.containers = make(map[string]*Container) - for _, elem := range yamlTopo.Containers { - newContainer, err := NewContainer(elem) - if err != nil { - s.T().Fatalf("config error: %v", err) - } - s.log(newContainer.getRunCommand()) - s.containers[newContainer.name] = newContainer - } -} - -func setupSuite(s *suite.Suite, topologyName string) func() { - t := s.T() - topology, err := LoadTopology(NetworkTopologyDir, topologyName) - if err != nil { - t.Fatalf("error on loading topology '%s': %v", topologyName, err) - } - err = topology.Configure() - if err != nil { - t.Fatalf("failed to configure %s: %v", topologyName, err) - } - - return func() { - if IsPersistent() { - return - } - topology.Unconfigure() - } -} - func TestTapSuite(t *testing.T) { var m TapSuite suite.Run(t, &m) @@ -183,3 +25,8 @@ func TestNoTopo(t *testing.T) { var m NoTopoSuite suite.Run(t, &m) } + +func TestNginx(t *testing.T) { + var m NginxSuite + suite.Run(t, &m) +}