]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
test: make network_verify() public and use it in test-networkd-conf
authorYu Watanabe <watanabe.yu+github@gmail.com>
Fri, 1 Mar 2019 08:39:45 +0000 (17:39 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Wed, 13 Mar 2019 02:59:18 +0000 (11:59 +0900)
src/network/networkd-network.c
src/network/networkd-network.h
src/network/test-networkd-conf.c

index 027e076c3463b3b3145634ec036acfec042a123b..22b240c1bec39cbf2d8b7fd6ad5e3d763d6e00de 100644 (file)
@@ -70,14 +70,15 @@ static int network_resolve_netdev_one(Network *network, const char *name, NetDev
         NetDev *netdev;
         int r;
 
+        /* For test-networkd-conf, the check must be earlier than the assertions. */
+        if (!name)
+                return 0;
+
         assert(network);
         assert(network->manager);
         assert(network->filename);
         assert(ret_netdev);
 
-        if (!name)
-                return 0;
-
         if (kind == _NETDEV_KIND_TUNNEL)
                 kind_string = "tunnel";
         else {
@@ -159,7 +160,7 @@ static uint32_t network_get_stacked_netdevs_mtu(Network *network) {
         return mtu;
 }
 
-static int network_verify(Network *network) {
+int network_verify(Network *network) {
         Address *address, *address_next;
         Route *route, *route_next;
         FdbEntry *fdb, *fdb_next;
index 38f3b7decb338d5365cab28d27383a8d564f6f6e..8b65fd16bde1bf895ef51a4786ed88e9337f9860 100644 (file)
@@ -285,6 +285,7 @@ DEFINE_TRIVIAL_CLEANUP_FUNC(Network*, network_free);
 
 int network_load(Manager *manager);
 int network_load_one(Manager *manager, const char *filename);
+int network_verify(Network *network);
 
 int network_get_by_name(Manager *manager, const char *name, Network **ret);
 int network_get(Manager *manager, sd_device *device, const char *ifname, const struct ether_addr *mac, Network **ret);
index 3adfdab2bf8442388dabb19fc72be2bb1cd06625..6408719d15aac2d11aa947d8117b331e2a5f3adc 100644 (file)
@@ -172,8 +172,11 @@ static void test_config_parse_address_one(const char *rvalue, int family, unsign
         _cleanup_(network_freep) Network *network = NULL;
 
         assert_se(network = new0(Network, 1));
+        assert_se(network->filename = strdup("hogehoge.network"));
         assert_se(config_parse_address("network", "filename", 1, "section", 1, "Address", 0, rvalue, network, network) == 0);
         assert_se(network->n_static_addresses == 1);
+        assert_se(network_verify(network) >= 0);
+        assert_se(network->n_static_addresses == n_addresses);
         if (n_addresses > 0) {
                 assert_se(network->static_addresses);
                 assert_se(network->static_addresses->prefixlen == prefixlen);