X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flibsystemd-network%2Ftest-dhcp-client.c;h=0515440e4e97cf0d65e70050c4273a88890b39b5;hb=4ec3cd7391e119b597375c547cf4ed50fce9f115;hp=7cbe10d5a7a632936382829c08d449dac85e9613;hpb=58587a7a0c3bf5595190486781d3bbc00654c6ef;p=elogind.git diff --git a/src/libsystemd-network/test-dhcp-client.c b/src/libsystemd-network/test-dhcp-client.c index 7cbe10d5a..0515440e4 100644 --- a/src/libsystemd-network/test-dhcp-client.c +++ b/src/libsystemd-network/test-dhcp-client.c @@ -196,7 +196,9 @@ int dhcp_network_send_raw_socket(int s, const union sockaddr_union *link, return 575; } -int dhcp_network_bind_raw_socket(int index, union sockaddr_union *link, uint32_t id, struct ether_addr mac) +int dhcp_network_bind_raw_socket(int index, union sockaddr_union *link, + uint32_t id, const uint8_t *addr, + size_t addr_len, uint16_t arp_type) { if (socketpair(AF_UNIX, SOCK_STREAM, 0, test_fd) < 0) return -errno; @@ -244,7 +246,10 @@ static void test_discover_message(sd_event *e) assert_se(r >= 0); assert_se(sd_dhcp_client_set_index(client, 42) >= 0); - assert_se(sd_dhcp_client_set_mac(client, &mac_addr) >= 0); + assert_se(sd_dhcp_client_set_mac(client, + (const uint8_t *) &mac_addr, + sizeof (mac_addr), + ARPHRD_ETHER) >= 0); assert_se(sd_dhcp_client_set_request_option(client, 248) >= 0); @@ -447,7 +452,7 @@ static int test_addr_acq_recv_discover(size_t size, DHCPMessage *discover) { } static void test_addr_acq(sd_event *e) { - usec_t time_now = now(CLOCK_MONOTONIC); + usec_t time_now = now(clock_boottime_or_monotonic()); sd_dhcp_client *client; int res, r; @@ -462,7 +467,10 @@ static void test_addr_acq(sd_event *e) { assert_se(r >= 0); assert_se(sd_dhcp_client_set_index(client, 42) >= 0); - assert_se(sd_dhcp_client_set_mac(client, &mac_addr) >= 0); + assert_se(sd_dhcp_client_set_mac(client, + (const uint8_t *) &mac_addr, + sizeof (mac_addr), + ARPHRD_ETHER) >= 0); assert_se(sd_dhcp_client_set_callback(client, test_addr_acq_acquired, e) >= 0); @@ -470,19 +478,19 @@ static void test_addr_acq(sd_event *e) { callback_recv = test_addr_acq_recv_discover; assert_se(sd_event_add_time(e, &test_hangcheck, - CLOCK_MONOTONIC, + clock_boottime_or_monotonic(), time_now + 2 * USEC_PER_SEC, 0, test_dhcp_hangcheck, NULL) >= 0); res = sd_dhcp_client_start(client); assert_se(res == 0 || res == -EINPROGRESS); - sd_event_loop(e); + assert_se(sd_event_loop(e) >= 0); test_hangcheck = sd_event_source_unref(test_hangcheck); - sd_dhcp_client_set_callback(client, NULL, NULL); - sd_dhcp_client_stop(client); + assert_se(sd_dhcp_client_set_callback(client, NULL, NULL) >= 0); + assert_se(sd_dhcp_client_stop(client) >= 0); sd_dhcp_client_unref(client); test_fd[1] = safe_close(test_fd[1]);