[ovs-dev] [PATCH 3/3] dpctl: Add tests.

Ben Pfaff blp at nicira.com
Wed Apr 15 18:19:36 UTC 2015


These tests prevent regressions against the problems fixed by the previous
two commits.

Signed-off-by: Ben Pfaff <blp at nicira.com>
---
 tests/automake.mk    |  1 +
 tests/dpctl.at       | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 tests/dpif-netdev.at |  8 ------
 tests/testsuite.at   |  1 +
 4 files changed, 82 insertions(+), 8 deletions(-)
 create mode 100644 tests/dpctl.at

diff --git a/tests/automake.mk b/tests/automake.mk
index fdc3118..7c699b2 100644
--- a/tests/automake.mk
+++ b/tests/automake.mk
@@ -51,6 +51,7 @@ TESTSUITE_AT = \
 	tests/reconnect.at \
 	tests/ovs-vswitchd.at \
 	tests/dpif-netdev.at \
+	tests/dpctl.at \
 	tests/ofproto-dpif.at \
 	tests/bridge.at \
 	tests/vlan-splinters.at \
diff --git a/tests/dpctl.at b/tests/dpctl.at
new file mode 100644
index 0000000..7921d03
--- /dev/null
+++ b/tests/dpctl.at
@@ -0,0 +1,80 @@
+AT_BANNER([dpctl])
+
+AT_SETUP([dpctl - add-dp del-dp])
+OVS_VSWITCHD_START
+AT_CHECK([ovs-appctl dpctl/add-dp dummy at br0])
+AT_CHECK([ovs-appctl dpctl/add-dp dummy at br0], [2], [],
+  [ovs-vswitchd: add_dp (File exists)
+ovs-appctl: ovs-vswitchd: server returned an error
+])
+AT_CHECK([ovs-appctl dpctl/del-dp dummy at br0])
+AT_CHECK([ovs-appctl dpctl/del-dp dummy at br0], [2], [],
+  [ovs-vswitchd: opening datapath (No such device)
+ovs-appctl: ovs-vswitchd: server returned an error
+])
+OVS_VSWITCHD_STOP
+AT_CLEANUP
+
+AT_SETUP([dpctl - add-if set-if del-if])
+OVS_VSWITCHD_START([], [], [=override])
+AT_CHECK([ovs-appctl dpctl/add-dp dummy at br0])
+AT_CHECK([ovs-appctl dpctl/show dummy at br0], [0], [dnl
+dummy at br0:
+	lookups: hit:0 missed:0 lost:0
+	flows: 0
+	port 0: br0 (internal)
+])
+AT_CHECK([ovs-appctl dpctl/add-if dummy at br0 vif1.0,type=tap,port_no=5])
+AT_CHECK([ovs-appctl dpctl/show dummy at br0], [0], [dnl
+dummy at br0:
+	lookups: hit:0 missed:0 lost:0
+	flows: 0
+	port 0: br0 (internal)
+	port 5: vif1.0 (tap)
+])
+AT_CHECK([ovs-appctl dpctl/add-if dummy at br0 vif1.0,type=tap], [2], [],
+  [ovs-vswitchd: adding vif1.0 to dummy at br0 failed (File exists)
+ovs-appctl: ovs-vswitchd: server returned an error
+])
+AT_CHECK([ovs-appctl dpctl/set-if dummy at br0 vif1.0,port_no=5])
+AT_CHECK([ovs-appctl dpctl/set-if dummy at br0 vif1.0,type=system], [2], [],
+  [ovs-vswitchd: vif1.0: can't change type from tap to system
+ovs-appctl: ovs-vswitchd: server returned an error
+])
+AT_CHECK([ovs-appctl dpctl/set-if dummy at br0 br0,type=tap], [2], [],
+  [ovs-vswitchd: br0: can't change type from internal to tap
+ovs-appctl: ovs-vswitchd: server returned an error
+])
+AT_CHECK([ovs-appctl dpctl/del-if dummy at br0 vif1.0])
+AT_CHECK([ovs-appctl dpctl/show dummy at br0], [0], [dnl
+dummy at br0:
+	lookups: hit:0 missed:0 lost:0
+	flows: 0
+	port 0: br0 (internal)
+])
+AT_CHECK([ovs-appctl dpctl/del-if dummy at br0 vif1.0], [2], [],
+  [ovs-vswitchd: no port named vif1.0
+ovs-appctl: ovs-vswitchd: server returned an error
+])
+AT_CHECK([ovs-appctl dpctl/show dummy at br0], [0], [dnl
+dummy at br0:
+	lookups: hit:0 missed:0 lost:0
+	flows: 0
+	port 0: br0 (internal)
+])
+AT_CHECK([ovs-appctl dpctl/del-if dummy at br0 nonexistent], [2], [],
+  [ovs-vswitchd: no port named nonexistent
+ovs-appctl: ovs-vswitchd: server returned an error
+])
+AT_CHECK([ovs-appctl dpctl/del-if dummy at br0 br0], [2], [],
+  [ovs-vswitchd: deleting port br0 from dummy at br0 failed (Invalid argument)
+ovs-appctl: ovs-vswitchd: server returned an error
+])
+AT_CHECK([ovs-appctl dpctl/del-dp dummy at br0])
+AT_CHECK([ovs-appctl dpctl/del-if dummy at br0 br0], [2], [],
+  [ovs-vswitchd: opening datapath (No such device)
+ovs-appctl: ovs-vswitchd: server returned an error
+])
+OVS_VSWITCHD_STOP(["/dummy at br0: port_del failed (Invalid argument)/d
+/dummy at br0: failed to add vif1.0 as port: File exists/d"])
+AT_CLEANUP
diff --git a/tests/dpif-netdev.at b/tests/dpif-netdev.at
index a267366..067f900 100644
--- a/tests/dpif-netdev.at
+++ b/tests/dpif-netdev.at
@@ -127,11 +127,3 @@ skb_priority(0/0),skb_mark(0/0),recirc_id(0),dp_hash(0/0),in_port(1),eth(src=50:
 
 OVS_VSWITCHD_STOP
 AT_CLEANUP
-
-AT_SETUP([dpif-netdev - Datapath removal])
-OVS_VSWITCHD_START()
-AT_CHECK([ovs-appctl dpctl/add-dp dummy at br0])
-AT_CHECK([ovs-appctl dpctl/del-dp dummy at br0])
-
-OVS_VSWITCHD_STOP
-AT_CLEANUP
diff --git a/tests/testsuite.at b/tests/testsuite.at
index 152ea17..40cb863 100644
--- a/tests/testsuite.at
+++ b/tests/testsuite.at
@@ -53,6 +53,7 @@ m4_include([tests/reconnect.at])
 m4_include([tests/ovs-vswitchd.at])
 m4_include([tests/ofproto.at])
 m4_include([tests/dpif-netdev.at])
+m4_include([tests/dpctl.at])
 m4_include([tests/ofproto-dpif.at])
 m4_include([tests/bridge.at])
 m4_include([tests/vlan-splinters.at])
-- 
2.1.3




More information about the dev mailing list