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'),
},
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: {
--- /dev/null
+/* 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);