test: move unit test for dhcp_identifier_set_iaid() to test-dhcp-duid.c

This commit is contained in:
Yu Watanabe
2026-05-03 06:58:10 +09:00
parent bcc7755438
commit 000eb0f908
3 changed files with 32 additions and 17 deletions

View File

@@ -78,6 +78,9 @@ executables += [
network_test_template + {
'sources' : files('test-dhcp-client.c'),
},
network_test_template + {
'sources' : files('test-dhcp-duid.c'),
},
network_test_template + {
'sources' : files('test-dhcp-message.c'),
},

View File

@@ -108,23 +108,6 @@ TEST(dhcp_client_anonymize) {
ASSERT_OK_ZERO(sd_dhcp_client_set_request_option(client, 101));
}
TEST(dhcp_identifier_set_iaid) {
uint32_t iaid_legacy;
be32_t iaid;
ASSERT_OK(dhcp_identifier_set_iaid(NULL, &hw_addr, /* legacy_unstable_byteorder= */ true, &iaid_legacy));
ASSERT_OK(dhcp_identifier_set_iaid(NULL, &hw_addr, /* legacy_unstable_byteorder= */ false, &iaid));
/* we expect, that the MAC address was hashed. The legacy value is in native endianness. */
ASSERT_EQ(iaid_legacy, 0x8dde4ba8u);
ASSERT_EQ(iaid, htole32(0x8dde4ba8u));
#if __BYTE_ORDER == __LITTLE_ENDIAN
ASSERT_EQ(iaid, iaid_legacy);
#else
ASSERT_EQ(iaid, bswap_32(iaid_legacy));
#endif
}
static int check_options(uint8_t code, uint8_t len, const void *option, void *userdata) {
switch (code) {
case SD_DHCP_OPTION_CLIENT_IDENTIFIER: {

View File

@@ -0,0 +1,29 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#include "dhcp-duid-internal.h"
#include "ether-addr-util.h"
#include "tests.h"
TEST(dhcp_identifier_set_iaid) {
uint32_t iaid_legacy;
be32_t iaid;
static struct hw_addr_data hw_addr = {
.length = ETH_ALEN,
.ether = {{ 'A', 'B', 'C', '1', '2', '3' }},
};
ASSERT_OK(dhcp_identifier_set_iaid(/* dev= */ NULL, &hw_addr, /* legacy_unstable_byteorder= */ true, &iaid_legacy));
ASSERT_OK(dhcp_identifier_set_iaid(/* dev= */ NULL, &hw_addr, /* legacy_unstable_byteorder= */ false, &iaid));
/* we expect, that the MAC address was hashed. The legacy value is in native endianness. */
ASSERT_EQ(iaid_legacy, 0x8dde4ba8u);
ASSERT_EQ(iaid, htole32(0x8dde4ba8u));
#if __BYTE_ORDER == __LITTLE_ENDIAN
ASSERT_EQ(iaid, iaid_legacy);
#else
ASSERT_EQ(iaid, bswap_32(iaid_legacy));
#endif
}
DEFINE_TEST_MAIN(LOG_DEBUG);