void
test_serialize_u_int32_t (void)
{
    // 10101010101010101010101010101010
    u_int32_t test_value = 0xAAAAAAAA;
    char *answer_string = "AA AA AA AA";

    unsigned char buffer[MAX_STRING_LEN] = { '\0' };
    unsigned char *ptr;
    char hex_buffer[MAX_STRING_LEN];

    ptr = serialize_u_int32_t (buffer, test_value);
    partial_hexdump (buffer, ptr - buffer, hex_buffer);

    NP_ASSERT_EQUAL (ptr - buffer, sizeof (u_int32_t));
    NP_ASSERT_STR_EQUAL (hex_buffer, answer_string);
}
void
test_deserialize_ip_address (void)
{
    unsigned char test_value[] = { 0x20, 0x01, 0x0D, 0xB8, 0x76, 0x54, 0x32, 0x10,
        0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10
    };
    char *answer = "2001:db8:7654:3210:fedc:ba98:7654:3210";

    char result[INET6_ADDRSTRLEN] = { '\0' };
    struct in6_addr result_struct;
    unsigned char *ptr;
    ptr = deserialize_ip_address (&result_struct, test_value);

    inet_ntop (AF_INET6, &(result_struct.s6_addr), result, INET6_ADDRSTRLEN);

    NP_ASSERT_EQUAL (ptr - test_value, sizeof (struct in6_addr));
    NP_ASSERT_STR_EQUAL (result, answer);
}
void
test_serialize_u_int32_t_array3 (void)
{
    // 10101010101010101010101010101010
    // 10101010101010101010101010101011
    // 10101010101010101010101010101100
    u_int32_t test_value[3] = { 0xAAAAAAAA, 0xAAAAAAAB, 0xAAAAAAAC };
    char *answer_string = "AA AA AA AA AA AA AA AB AA AA AA AC";

    unsigned char buffer[MAX_STRING_LEN] = { '\0' };
    unsigned char *ptr;
    char hex_buffer[MAX_STRING_LEN];

    ptr = serialize_u_int32_t_array3 (buffer, test_value);
    partial_hexdump (buffer, ptr - buffer, hex_buffer);

    NP_ASSERT_EQUAL (ptr - buffer, 3 * sizeof (u_int32_t));
    NP_ASSERT_STR_EQUAL (hex_buffer, answer_string);
}
void
test_serialize_ip_address (void)
{
    char *test_str = "2001:DB8:7654:3210:FEDC:BA98:7654:3210";
    char *answer_string = "20 01 0D B8 76 54 32 10 FE DC BA 98 76 54 32 10";

    struct in6_addr test_ip_address;
    inet_pton (AF_INET6, test_str, &(test_ip_address));

    unsigned char buffer[MAX_STRING_LEN] = { '\0' };
    unsigned char *ptr;
    char hex_buffer[MAX_STRING_LEN];

    ptr = serialize_ip_address (buffer, &test_ip_address);
    partial_hexdump (buffer, ptr - buffer, hex_buffer);

    NP_ASSERT_EQUAL (ptr - buffer, sizeof (struct in6_addr));
    NP_ASSERT_STR_EQUAL (hex_buffer, answer_string);
}
Beispiel #5
0
static void test_assert_str_equal_fail(void)
{
    const char *x = "Bye";
    NP_ASSERT_STR_EQUAL(x, GREET);
}