Skip to content

Commit 75a380c

Browse files
authored
Merge pull request #6 from digitalocean/mdl-travis-ovs
travis, ovsnl: perform integration tests with OvS installed
2 parents 62d2259 + 3fa2b70 commit 75a380c

File tree

2 files changed

+28
-2
lines changed

2 files changed

+28
-2
lines changed

.travis.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ os:
55
- linux
66
sudo: required
77
before_install:
8+
- sudo apt install openvswitch-switch
9+
- sudo ovs-vsctl add-br ovsbr0
810
- go get github.com/golang/lint/golint
911
- go get honnef.co/go/tools/cmd/staticcheck
1012
- go get -d ./...

ovsnl/client_linux_integration_test.go

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,12 @@
1717
package ovsnl_test
1818

1919
import (
20+
"net"
2021
"os"
2122
"testing"
2223

2324
"github.com/digitalocean/go-openvswitch/ovsnl"
25+
"github.com/google/go-cmp/cmp"
2426
)
2527

2628
func TestLinuxClientIntegration(t *testing.T) {
@@ -34,12 +36,34 @@ func TestLinuxClientIntegration(t *testing.T) {
3436
}
3537
defer c.Close()
3638

39+
const (
40+
ovsSystem = "ovs-system"
41+
ovsBridge = "ovsbr0"
42+
)
43+
44+
// Ensure required interfaces exist for remaining tests.
45+
for _, ifi := range []string{ovsSystem, ovsBridge} {
46+
if _, err := net.InterfaceByName(ifi); err != nil {
47+
t.Skipf("failed to check for OVS interface %q: %v", ifi, err)
48+
}
49+
}
50+
51+
t.Run("datapath", func(t *testing.T) {
52+
testClientDatapath(t, c, ovsSystem)
53+
})
54+
}
55+
56+
func testClientDatapath(t *testing.T, c *ovsnl.Client, datapath string) {
3757
dps, err := c.Datapath.List()
3858
if err != nil {
3959
t.Fatalf("failed to list datapaths: %v", err)
4060
}
4161

42-
for _, d := range dps {
43-
t.Logf("datapath: %q, flows: %d", d.Name, d.Stats.Flows)
62+
if diff := cmp.Diff(1, len(dps)); diff != "" {
63+
t.Fatalf("unexpected number of datapaths (-want +got):\n%s", diff)
64+
}
65+
66+
if diff := cmp.Diff(datapath, dps[0].Name); diff != "" {
67+
t.Fatalf("unexpected datapath name (-want +got):\n%s", diff)
4468
}
4569
}

0 commit comments

Comments
 (0)