]> git.proxmox.com Git - mirror_ovs.git/commitdiff
tests: introduced tests for adding/deleting logical routers in VTEP database
authorDamijan Skvarc <damjan.skvarc@gmail.com>
Mon, 23 Dec 2019 09:38:57 +0000 (10:38 +0100)
committerBen Pfaff <blp@ovn.org>
Tue, 7 Jan 2020 20:13:38 +0000 (12:13 -0800)
New tests were introduced based on lcov report, which reveals apparent code
is not covered by ovs test suites.

Signed-off-by: Damijan Skvarc <damjan.skvarc@gmail.com>
Signed-off-by: Ben Pfaff <blp@ovn.org>
tests/vtep-ctl.at

index 3949f1623cef0f8b3f4e05d0fc691bcd055d8ef9..98067658446853a48009f6c8f9ec710b7235b129 100644 (file)
@@ -129,6 +129,39 @@ m4_define([CHECK_LSWITCHES],
    AT_CHECK([RUN_VTEP_CTL([ls-exists nonexistent])], [2], [], [],
             [VTEP_CTL_CLEANUP])])
 
+
+dnl CHECK_LROUTERS([LROUTER], ...)
+dnl
+dnl Verifies that "vtep-ctl list-lr" prints the specified list of
+dnl logical routers, which must be in alphabetical order.
+m4_define([CHECK_LROUTERS],
+  [dnl Check that the lrouters appear on list-lr, without --oneline.
+   AT_CHECK(
+     [RUN_VTEP_CTL([list-lr])],
+     [0],
+     [m4_foreach([lrinfo], [$@], [m4_car(lrinfo)
+])],
+     [],
+     [VTEP_CTL_CLEANUP])
+
+   dnl Check that the lswitches appear on list-lr, with --oneline.
+   AT_CHECK(
+     [RUN_VTEP_CTL_ONELINE([list-lr])],
+     [0],
+     [m4_join([\n], m4_foreach([lrinfo], [$@], [m4_car(lrinfo),]))
+],
+     [],
+     [VTEP_CTL_CLEANUP])
+
+   dnl Check that each lrouter exists according to lr-exists and that
+   dnl a prouter that should not exist does not.
+   m4_foreach([lrinfo], [$@],
+              [AT_CHECK([RUN_VTEP_CTL([lr-exists m4_car(lrinfo)])], [0], [],
+                        [], [VTEP_CTL_CLEANUP])])
+   AT_CHECK([RUN_VTEP_CTL([lr-exists nonexistent])], [2], [], [],
+            [VTEP_CTL_CLEANUP])])
+
+
 dnl ----------------------------------------------------------------------
 AT_BANNER([vtep-ctl unit tests -- physical switch tests])
 
@@ -351,6 +384,60 @@ AT_CHECK([RUN_VTEP_CTL(
 VTEP_CTL_CLEANUP
 AT_CLEANUP
 
+
+dnl ----------------------------------------------------------------------
+AT_BANNER([vtep-ctl unit tests -- logical router tests])
+
+AT_SETUP([add-lr a])
+AT_KEYWORDS([vtep-ctl])
+VTEP_CTL_SETUP
+AT_CHECK([RUN_VTEP_CTL([add-lr a])], [0], [], [], [VTEP_CTL_CLEANUP])
+CHECK_LROUTERS([a])
+VTEP_CTL_CLEANUP
+AT_CLEANUP
+
+AT_SETUP([add-lr a, add-lr a])
+AT_KEYWORDS([vtep-ctl])
+VTEP_CTL_SETUP
+AT_CHECK([RUN_VTEP_CTL([add-lr a])], [0], [], [], [VTEP_CTL_CLEANUP])
+AT_CHECK([RUN_VTEP_CTL([add-lr a])], [1], [],
+  [vtep-ctl: cannot create logical router a because it already exists
+], [VTEP_CTL_CLEANUP])
+VTEP_CTL_CLEANUP
+AT_CLEANUP
+
+AT_SETUP([add-lr a, add-lr b])
+AT_KEYWORDS([vtep-ctl])
+VTEP_CTL_SETUP
+AT_CHECK([RUN_VTEP_CTL([add-lr a], [add-lr b])], [0], [], [],
+         [VTEP_CTL_CLEANUP])
+CHECK_LROUTERS([a], [b])
+VTEP_CTL_CLEANUP
+AT_CLEANUP
+
+AT_SETUP([add-lr a, add-lr b, del-lr a])
+AT_KEYWORDS([vtep-ctl])
+VTEP_CTL_SETUP
+AT_CHECK([RUN_VTEP_CTL([add-lr a], [add-lr b], [del-lr a])], [0], [], [],
+         [VTEP_CTL_CLEANUP])
+CHECK_LROUTERS([b])
+VTEP_CTL_CLEANUP
+AT_CLEANUP
+
+AT_SETUP([add-lr a, del-lr a, add-lr a])
+AT_KEYWORDS([vtep-ctl])
+VTEP_CTL_SETUP
+AT_CHECK([RUN_VTEP_CTL_TOGETHER(
+  [add-lr a],
+  [del-lr a],
+  [add-lr a])], [0], [
+
+
+], [], [VTEP_CTL_CLEANUP])
+CHECK_LROUTERS([a])
+VTEP_CTL_CLEANUP
+AT_CLEANUP
+
 dnl ----------------------------------------------------------------------
 AT_BANNER([vtep-ctl unit tests -- logical binding tests])