]> git.ipfire.org Git - thirdparty/systemd.git/blobdiff - src/libsystemd-network/test-dhcp6-client.c
Merge pull request #1668 from ssahani/net1
[thirdparty/systemd.git] / src / libsystemd-network / test-dhcp6-client.c
index 12daac3211005bde7e41bee1356b1e062bfb1bd3..17ed6d58f35a5d08379643675ca3141aa66863f2 100644 (file)
   along with systemd; If not, see <http://www.gnu.org/licenses/>.
 ***/
 
+#include <net/ethernet.h>
 #include <stdbool.h>
 #include <stdio.h>
-#include <sys/types.h>
 #include <sys/socket.h>
+#include <sys/types.h>
 #include <unistd.h>
-#include <net/ethernet.h>
 
-#include "socket-util.h"
-#include "macro.h"
+#include "sd-dhcp6-client.h"
 #include "sd-event.h"
-#include "event-util.h"
-#include "virt.h"
 
-#include "sd-dhcp6-client.h"
-#include "dhcp6-protocol.h"
 #include "dhcp6-internal.h"
 #include "dhcp6-lease-internal.h"
+#include "dhcp6-protocol.h"
+#include "event-util.h"
+#include "fd-util.h"
+#include "macro.h"
+#include "socket-util.h"
+#include "virt.h"
 
 static struct ether_addr mac_addr = {
         .ether_addr_octet = {'A', 'B', 'C', '1', '2', '3'}
@@ -357,18 +358,6 @@ static int test_hangcheck(sd_event_source *s, uint64_t usec, void *userdata) {
         return 0;
 }
 
-int detect_vm(const char **id) {
-        return 1;
-}
-
-int detect_container(const char **id) {
-        return 1;
-}
-
-int detect_virtualization(const char **id) {
-        return 1;
-}
-
 static void test_client_solicit_cb(sd_dhcp6_client *client, int event,
                                    void *userdata) {
         sd_event *e = userdata;
@@ -377,7 +366,7 @@ static void test_client_solicit_cb(sd_dhcp6_client *client, int event,
         char **domains;
 
         assert_se(e);
-        assert_se(event == DHCP6_EVENT_IP_ACQUIRE);
+        assert_se(event == SD_DHCP6_CLIENT_EVENT_IP_ACQUIRE);
 
         assert_se(sd_dhcp6_client_get_lease(client, &lease) >= 0);
 
@@ -576,7 +565,7 @@ static void test_client_information_cb(sd_dhcp6_client *client, int event,
         char **domains;
 
         assert_se(e);
-        assert_se(event == DHCP6_EVENT_INFORMATION_REQUEST);
+        assert_se(event == SD_DHCP6_CLIENT_EVENT_INFORMATION_REQUEST);
 
         assert_se(sd_dhcp6_client_get_lease(client, &lease) >= 0);
 
@@ -593,7 +582,11 @@ static void test_client_information_cb(sd_dhcp6_client *client, int event,
         if (verbose)
                 printf("  got DHCPv6 event %d\n", event);
 
+        assert_se(sd_dhcp6_client_set_information_request(client, false) == -EBUSY);
+        assert_se(sd_dhcp6_client_set_callback(client, NULL, e) >= 0);
+        assert_se(sd_dhcp6_client_stop(client) >= 0);
         assert_se(sd_dhcp6_client_set_information_request(client, false) >= 0);
+
         assert_se(sd_dhcp6_client_set_callback(client,
                                                test_client_solicit_cb, e) >= 0);
 
@@ -708,7 +701,7 @@ int dhcp6_network_bind_udp_socket(int index, struct in6_addr *local_address) {
 static int test_client_solicit(sd_event *e) {
         sd_dhcp6_client *client;
         usec_t time_now = now(clock_boottime_or_monotonic());
-        bool val = true;
+        int val = true;
 
         if (verbose)
                 printf("* %s\n", __FUNCTION__);