chiark / gitweb /
test-dhcp-client: open a real udp socket for test execution
[elogind.git] / src / libsystemd-network / test-dhcp-client.c
index a3d69f338c2b28b22ba4e8f0502c815d3b2b4f20..831ec190592985c5ed01e440dbc93c705a6d673e 100644 (file)
@@ -218,7 +218,13 @@ int dhcp_network_bind_raw_socket(int index, union sockaddr_union *link,
 
 int dhcp_network_bind_udp_socket(be32_t address, uint16_t port)
 {
-        return 0;
+        int fd;
+
+        fd = socket(AF_INET, SOCK_DGRAM|SOCK_CLOEXEC, 0);
+        if (fd < 0)
+                return -errno;
+
+        return fd;
 }
 
 int dhcp_network_send_udp_socket(int s, be32_t address, uint16_t port,
@@ -474,8 +480,7 @@ static void test_addr_acq(sd_event *e) {
         assert_se(sd_dhcp_client_set_index(client, 42) >= 0);
         assert_se(sd_dhcp_client_set_mac(client, mac_addr, ETH_ALEN, ARPHRD_ETHER) >= 0);
 
-        assert_se(sd_dhcp_client_set_callback(client, test_addr_acq_acquired, e)
-                >= 0);
+        assert_se(sd_dhcp_client_set_callback(client, test_addr_acq_acquired, e) >= 0);
 
         callback_recv = test_addr_acq_recv_discover;