]> git.ipfire.org Git - thirdparty/systemd.git/blobdiff - src/network/test-network.c
Add SPDX license identifiers to source files under the LGPL
[thirdparty/systemd.git] / src / network / test-network.c
index 5909cc790e842af25a94b462f16edaf4234dbbe8..ff0f272ef60f55740836614f14ccb84e955cf551 100644 (file)
@@ -1,5 +1,4 @@
-/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
-
+/* SPDX-License-Identifier: LGPL-2.1+ */
 /***
   This file is part of systemd.
 
   along with systemd; If not, see <http://www.gnu.org/licenses/>.
 ***/
 
-#include "networkd.h"
-#include "network-internal.h"
+#include "alloc-util.h"
 #include "dhcp-lease-internal.h"
+#include "network-internal.h"
+#include "networkd-manager.h"
 
 static void test_deserialize_in_addr(void) {
         _cleanup_free_ struct in_addr *addresses = NULL;
@@ -143,8 +143,8 @@ static void test_network_get(Manager *manager, struct udev_device *loopback) {
 static void test_address_equality(void) {
         _cleanup_address_free_ Address *a1 = NULL, *a2 = NULL;
 
-        assert_se(address_new_dynamic(&a1) >= 0);
-        assert_se(address_new_dynamic(&a2) >= 0);
+        assert_se(address_new(&a1) >= 0);
+        assert_se(address_new(&a2) >= 0);
 
         assert_se(address_equal(NULL, NULL));
         assert_se(!address_equal(a1, NULL));
@@ -158,17 +158,18 @@ static void test_address_equality(void) {
         assert_se(address_equal(a1, a2));
 
         assert_se(inet_pton(AF_INET, "192.168.3.9", &a1->in_addr.in));
-        assert_se(address_equal(a1, a2));
+        assert_se(!address_equal(a1, a2));
         assert_se(inet_pton(AF_INET, "192.168.3.9", &a2->in_addr.in));
         assert_se(address_equal(a1, a2));
+        assert_se(inet_pton(AF_INET, "192.168.3.10", &a1->in_addr_peer.in));
+        assert_se(address_equal(a1, a2));
+        assert_se(inet_pton(AF_INET, "192.168.3.11", &a2->in_addr_peer.in));
+        assert_se(address_equal(a1, a2));
         a1->prefixlen = 10;
         assert_se(!address_equal(a1, a2));
         a2->prefixlen = 10;
         assert_se(address_equal(a1, a2));
 
-        assert_se(inet_pton(AF_INET, "192.168.3.10", &a2->in_addr.in));
-        assert_se(address_equal(a1, a2));
-
         a1->family = AF_INET6;
         assert_se(!address_equal(a1, a2));
 
@@ -186,6 +187,7 @@ static void test_address_equality(void) {
 
 int main(void) {
         _cleanup_manager_free_ Manager *manager = NULL;
+        sd_event *event;
         struct udev *udev;
         struct udev_device *loopback;
         int r;
@@ -194,11 +196,16 @@ int main(void) {
         test_deserialize_dhcp_routes();
         test_address_equality();
 
-        assert_se(manager_new(&manager) >= 0);
+        r = sd_event_default(&event);
+        assert_se(r >= 0);
+
+        assert_se(manager_new(&manager, event) >= 0);
 
         r = test_load_config(manager);
-        if (r == -EPERM)
+        if (r == -EPERM) {
+                sd_event_unref(event);
                 return EXIT_TEST_SKIP;
+        }
 
         udev = udev_new();
         assert_se(udev);
@@ -213,4 +220,5 @@ int main(void) {
 
         udev_device_unref(loopback);
         udev_unref(udev);
+        sd_event_unref(event);
 }