tests: Unit test autopath via ovs-ofctl.
authorEthan Jackson <ethan@nicira.com>
Mon, 11 Apr 2011 23:17:39 +0000 (16:17 -0700)
committerEthan Jackson <ethan@nicira.com>
Tue, 12 Apr 2011 18:23:45 +0000 (11:23 -0700)
This patch adds test designed to verify the correctness of the
parsing function introduced with the autopath action.

tests/automake.mk
tests/autopath.at [new file with mode: 0644]
tests/testsuite.at

index 7872d21..5f6800b 100644 (file)
@@ -15,6 +15,7 @@ TESTSUITE_AT = \
        tests/ofp-print.at \
        tests/ovs-ofctl.at \
        tests/multipath.at \
+       tests/autopath.at \
        tests/vconn.at \
        tests/file_name.at \
        tests/aes128.at \
diff --git a/tests/autopath.at b/tests/autopath.at
new file mode 100644 (file)
index 0000000..40e54d5
--- /dev/null
@@ -0,0 +1,35 @@
+AT_BANNER([autopath link selection])
+
+AT_SETUP([autopath basic])
+AT_CHECK([ovs-ofctl parse-flow 'actions=autopath(1, NXM_NX_REG0[[]])'], [0],
+  [OFPT_FLOW_MOD (xid=0x1): ADD actions=autopath(1,NXM_NX_REG0[[]])
+], [ignore])
+AT_CHECK([ovs-ofctl parse-flow 'actions=autopath(2, NXM_NX_REG0[[2..30]])'], [0],
+  [OFPT_FLOW_MOD (xid=0x1): ADD actions=autopath(2,NXM_NX_REG0[[2..30]])
+], [ignore])
+AT_CLEANUP
+
+AT_SETUP([autopath action missing argument])
+AT_CHECK([ovs-ofctl parse-flow actions=autopath], [1], [],
+  [ovs-ofctl: : not enough arguments to autopath action
+])
+AT_CLEANUP
+
+AT_SETUP([autopath action bad port])
+AT_CHECK([ovs-ofctl parse-flow 'actions=autopath(bad, NXM_NX_REG0[[]])'], [1], [],
+  [ovs-ofctl: bad, NXM_NX_REG0[[]]: autopath id 0 is not in valid range 1 to 4294967295
+])
+AT_CLEANUP
+
+AT_SETUP([autopath action bad destination])
+AT_CHECK([ovs-ofctl parse-flow 'actions=autopath(1, NXM_OF_VLAN_TCI[[]])'], [1], [],
+  [ovs-ofctl: 1, NXM_OF_VLAN_TCI[[]]: destination field must be a register
+])
+AT_CLEANUP
+
+AT_SETUP([autopath action destination too narrow])
+AT_CHECK([ovs-ofctl parse-flow 'actions=autopath(1,NXM_NX_REG0[[0..7]])'], [1], [],
+  [ovs-ofctl: 1,NXM_NX_REG0[[0..7]]: 8-bit destination field has 256 possible values, less than required 65536
+])
+AT_CLEANUP
+
index 5625f8b..2867893 100644 (file)
@@ -46,6 +46,7 @@ m4_include([tests/daemon-py.at])
 m4_include([tests/ofp-print.at])
 m4_include([tests/ovs-ofctl.at])
 m4_include([tests/multipath.at])
+m4_include([tests/autopath.at])
 m4_include([tests/vconn.at])
 m4_include([tests/file_name.at])
 m4_include([tests/aes128.at])