diff options
author | Filip Tehlar <ftehlar@cisco.com> | 2022-08-09 14:44:47 +0000 |
---|---|---|
committer | Florin Coras <florin.coras@gmail.com> | 2022-09-19 21:00:18 +0000 |
commit | 229f5fcf188cf710f4a8fb269d92f1a1d04a99da (patch) | |
tree | bc2c85a49bac6aea4e5ef3304c356acb75ad9493 /extras/hs-test/framework_test.go | |
parent | 6cacc94de3984d9f0cf6d562a27d89a4ab0a89f9 (diff) |
misc: add test framework for host stack
Type: feature
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I5a64a2c095cae3a4d5f8fdc73e624b010339ec8e
Diffstat (limited to 'extras/hs-test/framework_test.go')
-rwxr-xr-x | extras/hs-test/framework_test.go | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/extras/hs-test/framework_test.go b/extras/hs-test/framework_test.go new file mode 100755 index 00000000000..78a289265be --- /dev/null +++ b/extras/hs-test/framework_test.go @@ -0,0 +1,82 @@ +package main + +import ( + "testing" + "time" + + "github.com/stretchr/testify/suite" +) + +type TapSuite struct { + suite.Suite + teardownSuite func() +} + +func (s *TapSuite) SetupSuite() { + time.Sleep(1 * time.Second) + s.teardownSuite = setupSuite(&s.Suite, "tap") +} + +func (s *TapSuite) TearDownSuite() { + s.teardownSuite() +} + +type Veths2Suite struct { + suite.Suite + teardownSuite func() +} + +func (s *Veths2Suite) SetupSuite() { + time.Sleep(1 * time.Second) + s.teardownSuite = setupSuite(&s.Suite, "2peerVeth") +} + +func (s *Veths2Suite) TearDownSuite() { + s.teardownSuite() +} + +type NsSuite struct { + suite.Suite + teardownSuite func() +} + +func (s *NsSuite) SetupSuite() { + s.teardownSuite = setupSuite(&s.Suite, "ns") +} + +func (s *NsSuite) TearDownSuite() { + s.teardownSuite() +} + +func setupSuite(s *suite.Suite, topologyName string) func() { + t := s.T() + topology, err := LoadTopology(TopologyDir, 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) + } + + t.Logf("topo %s loaded", topologyName) + return func() { + topology.Unconfigure() + } +} + +func TestTapSuite(t *testing.T) { + var m TapSuite + suite.Run(t, &m) +} + +func TestNs(t *testing.T) { + var m NsSuite + suite.Run(t, &m) +} + +func TestVeths2(t *testing.T) { + var m Veths2Suite + suite.Run(t, &m) + +} |