chiark / gitweb /
journal: guarantee async-signal-safety in sd_journald_sendv
[elogind.git] / src / libsystemd-dhcp / test-dhcp-client.c
index 1ff78c11440cec7a1db19efeeec367bf1bb20d3d..56a10b3dfc7bb6c8b7fc2a5420275a36f955e595 100644 (file)
@@ -42,12 +42,18 @@ static int test_fd[2];
 
 static void test_request_basic(sd_event *e)
 {
+        int r;
+
         sd_dhcp_client *client;
 
-        client = sd_dhcp_client_new(e);
+        r = sd_dhcp_client_new(&client);
 
+        assert(r >= 0);
         assert(client);
 
+        r = sd_dhcp_client_attach_event(client, e, 0);
+        assert(r >= 0);
+
         assert(sd_dhcp_client_set_request_option(NULL, 0) == -EINVAL);
         assert(sd_dhcp_client_set_request_address(NULL, NULL) == -EINVAL);
         assert(sd_dhcp_client_set_index(NULL, 0) == -EINVAL);
@@ -85,6 +91,7 @@ static void test_request_basic(sd_event *e)
         assert(sd_dhcp_client_set_request_option(client, 33) == 0);
         assert(sd_dhcp_client_set_request_option(client, 33) == -EEXIST);
         assert(sd_dhcp_client_set_request_option(client, 44) == 0);
+        assert(sd_dhcp_client_set_request_option(client, 33) == -EEXIST);
 }
 
 static uint16_t client_checksum(void *buf, int len)
@@ -184,14 +191,29 @@ int dhcp_network_bind_raw_socket(int index, union sockaddr_union *link)
         return test_fd[0];
 }
 
+int dhcp_network_bind_udp_socket(int index, be32_t client_address)
+{
+        return 0;
+}
+
+int dhcp_network_send_udp_socket(int s, be32_t server_address,
+                                 const void *packet, size_t len)
+{
+        return 0;
+}
+
 static void test_discover_message(sd_event *e)
 {
         sd_dhcp_client *client;
-        int res;
+        int res, r;
 
-        client = sd_dhcp_client_new(e);
+        r = sd_dhcp_client_new(&client);
+        assert(r >= 0);
         assert(client);
 
+        r = sd_dhcp_client_attach_event(client, e, 0);
+        assert(r >= 0);
+
         assert(sd_dhcp_client_set_index(client, 42) >= 0);
         assert(sd_dhcp_client_set_mac(client, &mac_addr) >= 0);