summaryrefslogtreecommitdiffstats
path: root/extras/hs-test/framework_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'extras/hs-test/framework_test.go')
-rwxr-xr-xextras/hs-test/framework_test.go82
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)
+
+}