mirror of
https://github.com/systemd/systemd.git
synced 2025-02-01 09:47:35 +03:00
dhcp6-client: Add tests for address, information and prefix requests
Add simple test cases to ensure the request for addresses, prefixes and information request are handled as expected.
This commit is contained in:
parent
f311a62bef
commit
7776f2aeff
@ -37,6 +37,7 @@ static uint8_t test_duid[14] = { };
|
||||
|
||||
static int test_client_basic(sd_event *e) {
|
||||
sd_dhcp6_client *client;
|
||||
int v;
|
||||
|
||||
if (verbose)
|
||||
printf("* %s\n", __FUNCTION__);
|
||||
@ -68,6 +69,36 @@ static int test_client_basic(sd_event *e) {
|
||||
assert_se(sd_dhcp6_client_set_request_option(client, SD_DHCP6_OPTION_DOMAIN_LIST) == -EEXIST);
|
||||
assert_se(sd_dhcp6_client_set_request_option(client, 10) == -EINVAL);
|
||||
|
||||
assert_se(sd_dhcp6_client_set_information_request(client, 1) >= 0);
|
||||
v = 0;
|
||||
assert_se(sd_dhcp6_client_get_information_request(client, &v) >= 0);
|
||||
assert_se(v);
|
||||
assert_se(sd_dhcp6_client_set_information_request(client, 0) >= 0);
|
||||
v = 42;
|
||||
assert_se(sd_dhcp6_client_get_information_request(client, &v) >= 0);
|
||||
assert_se(v == 0);
|
||||
|
||||
v = 0;
|
||||
assert_se(sd_dhcp6_client_get_address_request(client, &v) >= 0);
|
||||
assert_se(v);
|
||||
v = 0;
|
||||
assert_se(sd_dhcp6_client_set_address_request(client, 1) >= 0);
|
||||
assert_se(sd_dhcp6_client_get_address_request(client, &v) >= 0);
|
||||
assert_se(v);
|
||||
v = 42;
|
||||
assert_se(sd_dhcp6_client_set_address_request(client, 1) >= 0);
|
||||
assert_se(sd_dhcp6_client_get_address_request(client, &v) >= 0);
|
||||
assert_se(v);
|
||||
|
||||
assert_se(sd_dhcp6_client_set_address_request(client, 1) >= 0);
|
||||
assert_se(sd_dhcp6_client_set_prefix_delegation(client, 1) >= 0);
|
||||
v = 0;
|
||||
assert_se(sd_dhcp6_client_get_address_request(client, &v) >= 0);
|
||||
assert_se(v);
|
||||
v = 0;
|
||||
assert_se(sd_dhcp6_client_get_prefix_delegation(client, &v) >= 0);
|
||||
assert_se(v);
|
||||
|
||||
assert_se(sd_dhcp6_client_set_callback(client, NULL, NULL) >= 0);
|
||||
|
||||
assert_se(sd_dhcp6_client_detach_event(client) >= 0);
|
||||
@ -862,7 +893,7 @@ static int test_client_solicit(sd_event *e) {
|
||||
sd_dhcp6_client *client;
|
||||
usec_t time_now = now(clock_boottime_or_monotonic());
|
||||
struct in6_addr address = { { { 0xfe, 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x01 } } };
|
||||
int val = true;
|
||||
int val;
|
||||
|
||||
if (verbose)
|
||||
printf("* %s\n", __FUNCTION__);
|
||||
@ -879,10 +910,10 @@ static int test_client_solicit(sd_event *e) {
|
||||
assert_se(sd_dhcp6_client_set_fqdn(client, "host.lab.intra") == 1);
|
||||
|
||||
assert_se(sd_dhcp6_client_get_information_request(client, &val) >= 0);
|
||||
assert_se(val == false);
|
||||
assert_se(sd_dhcp6_client_set_information_request(client, true) >= 0);
|
||||
assert_se(val == 0);
|
||||
assert_se(sd_dhcp6_client_set_information_request(client, 42) >= 0);
|
||||
assert_se(sd_dhcp6_client_get_information_request(client, &val) >= 0);
|
||||
assert_se(val == true);
|
||||
assert_se(val);
|
||||
|
||||
assert_se(sd_dhcp6_client_set_callback(client,
|
||||
test_client_information_cb, e) >= 0);
|
||||
|
Loading…
x
Reference in New Issue
Block a user