|
|
|
@ -37,6 +37,7 @@ extern "C" { |
|
|
|
|
#include "ares_data.h" |
|
|
|
|
#include "ares_strsplit.h" |
|
|
|
|
#include "ares_private.h" |
|
|
|
|
#include "ares__htable.h" |
|
|
|
|
#include "bitncmp.h" |
|
|
|
|
|
|
|
|
|
#ifdef HAVE_ARPA_INET_H |
|
|
|
@ -477,6 +478,94 @@ TEST_F(LibraryTest, CatDomain) { |
|
|
|
|
EXPECT_STREQ("foo.example.net.", s); |
|
|
|
|
ares_free(s); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
TEST_F(LibraryTest, BufMisuse) { |
|
|
|
|
EXPECT_EQ(NULL, ares__buf_create_const(NULL, 0)); |
|
|
|
|
ares__buf_reclaim(NULL); |
|
|
|
|
EXPECT_NE(ARES_SUCCESS, ares__buf_append(NULL, NULL, 0)); |
|
|
|
|
size_t len = 10; |
|
|
|
|
EXPECT_EQ(NULL, ares__buf_append_start(NULL, &len)); |
|
|
|
|
EXPECT_EQ(NULL, ares__buf_append_start(NULL, NULL)); |
|
|
|
|
ares__buf_append_finish(NULL, 0); |
|
|
|
|
EXPECT_EQ(NULL, ares__buf_finish_bin(NULL, NULL)); |
|
|
|
|
EXPECT_EQ(NULL, ares__buf_finish_str(NULL, NULL)); |
|
|
|
|
ares__buf_tag(NULL); |
|
|
|
|
EXPECT_NE(ARES_SUCCESS, ares__buf_tag_rollback(NULL)); |
|
|
|
|
EXPECT_NE(ARES_SUCCESS, ares__buf_tag_clear(NULL)); |
|
|
|
|
EXPECT_EQ(NULL, ares__buf_tag_fetch(NULL, NULL)); |
|
|
|
|
EXPECT_EQ(0, ares__buf_tag_length(NULL)); |
|
|
|
|
EXPECT_NE(ARES_SUCCESS, ares__buf_tag_fetch_bytes(NULL, NULL, NULL)); |
|
|
|
|
EXPECT_NE(ARES_SUCCESS, ares__buf_tag_fetch_string(NULL, NULL, 0)); |
|
|
|
|
EXPECT_NE(ARES_SUCCESS, ares__buf_fetch_bytes_dup(NULL, 0, NULL)); |
|
|
|
|
EXPECT_NE(ARES_SUCCESS, ares__buf_fetch_str_dup(NULL, 0, NULL)); |
|
|
|
|
EXPECT_EQ(0, ares__buf_consume_whitespace(NULL, ARES_FALSE)); |
|
|
|
|
EXPECT_EQ(0, ares__buf_consume_nonwhitespace(NULL)); |
|
|
|
|
EXPECT_EQ(0, ares__buf_consume_line(NULL, ARES_FALSE)); |
|
|
|
|
EXPECT_NE(ARES_SUCCESS, ares__buf_begins_with(NULL, NULL, 0)); |
|
|
|
|
EXPECT_EQ(0, ares__buf_get_position(NULL)); |
|
|
|
|
EXPECT_NE(ARES_SUCCESS, ares__buf_set_position(NULL, 0)); |
|
|
|
|
EXPECT_NE(ARES_SUCCESS, ares__buf_parse_dns_name(NULL, NULL, ARES_FALSE)); |
|
|
|
|
EXPECT_NE(ARES_SUCCESS, ares__buf_parse_dns_binstr(NULL, 0, NULL, NULL, ARES_FALSE)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
TEST_F(LibraryTest, HtableMisuse) { |
|
|
|
|
EXPECT_EQ(NULL, ares__htable_create(NULL, NULL, NULL, NULL)); |
|
|
|
|
EXPECT_EQ(ARES_FALSE, ares__htable_insert(NULL, NULL)); |
|
|
|
|
EXPECT_EQ(NULL, ares__htable_get(NULL, NULL)); |
|
|
|
|
EXPECT_EQ(ARES_FALSE, ares__htable_remove(NULL, NULL)); |
|
|
|
|
EXPECT_EQ(0, ares__htable_num_keys(NULL)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
TEST_F(LibraryTest, HtableAsvpMisuse) { |
|
|
|
|
EXPECT_EQ(ARES_FALSE, ares__htable_asvp_insert(NULL, ARES_SOCKET_BAD, NULL)); |
|
|
|
|
EXPECT_EQ(ARES_FALSE, ares__htable_asvp_get(NULL, ARES_SOCKET_BAD, NULL)); |
|
|
|
|
EXPECT_EQ(ARES_FALSE, ares__htable_asvp_remove(NULL, ARES_SOCKET_BAD)); |
|
|
|
|
EXPECT_EQ(0, ares__htable_asvp_num_keys(NULL)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
TEST_F(LibraryTest, HtableStrvpMisuse) { |
|
|
|
|
EXPECT_EQ(ARES_FALSE, ares__htable_strvp_insert(NULL, NULL, NULL)); |
|
|
|
|
EXPECT_EQ(ARES_FALSE, ares__htable_strvp_get(NULL, NULL, NULL)); |
|
|
|
|
EXPECT_EQ(ARES_FALSE, ares__htable_strvp_remove(NULL, NULL)); |
|
|
|
|
EXPECT_EQ(0, ares__htable_strvp_num_keys(NULL)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
TEST_F(LibraryTest, HtableSzvpMisuse) { |
|
|
|
|
EXPECT_EQ(ARES_FALSE, ares__htable_szvp_insert(NULL, 0, NULL)); |
|
|
|
|
EXPECT_EQ(ARES_FALSE, ares__htable_szvp_get(NULL, 0, NULL)); |
|
|
|
|
EXPECT_EQ(ARES_FALSE, ares__htable_szvp_remove(NULL, 0)); |
|
|
|
|
EXPECT_EQ(0, ares__htable_szvp_num_keys(NULL)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
TEST_F(LibraryTest, LlistMisuse) { |
|
|
|
|
ares__llist_replace_destructor(NULL, NULL); |
|
|
|
|
EXPECT_EQ(NULL, ares__llist_insert_before(NULL, NULL)); |
|
|
|
|
EXPECT_EQ(NULL, ares__llist_insert_after(NULL, NULL)); |
|
|
|
|
EXPECT_EQ(NULL, ares__llist_node_last(NULL)); |
|
|
|
|
EXPECT_EQ(NULL, ares__llist_node_next(NULL)); |
|
|
|
|
EXPECT_EQ(NULL, ares__llist_node_prev(NULL)); |
|
|
|
|
EXPECT_EQ(0, ares__llist_len(NULL)); |
|
|
|
|
EXPECT_EQ(NULL, ares__llist_node_parent(NULL)); |
|
|
|
|
EXPECT_EQ(NULL, ares__llist_node_claim(NULL)); |
|
|
|
|
ares__llist_node_replace(NULL, NULL); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
TEST_F(LibraryTest, SlistMisuse) { |
|
|
|
|
EXPECT_EQ(NULL, ares__slist_create(NULL, NULL, NULL)); |
|
|
|
|
ares__slist_replace_destructor(NULL, NULL); |
|
|
|
|
EXPECT_EQ(NULL, ares__slist_insert(NULL, NULL)); |
|
|
|
|
EXPECT_EQ(NULL, ares__slist_node_find(NULL, NULL)); |
|
|
|
|
EXPECT_EQ(NULL, ares__slist_node_first(NULL)); |
|
|
|
|
EXPECT_EQ(NULL, ares__slist_node_last(NULL)); |
|
|
|
|
EXPECT_EQ(NULL, ares__slist_node_next(NULL)); |
|
|
|
|
EXPECT_EQ(NULL, ares__slist_node_prev(NULL)); |
|
|
|
|
EXPECT_EQ(NULL, ares__slist_node_val(NULL)); |
|
|
|
|
EXPECT_EQ(0, ares__slist_len(NULL)); |
|
|
|
|
EXPECT_EQ(NULL, ares__slist_node_parent(NULL)); |
|
|
|
|
EXPECT_EQ(NULL, ares__slist_first_val(NULL)); |
|
|
|
|
EXPECT_EQ(NULL, ares__slist_last_val(NULL)); |
|
|
|
|
EXPECT_EQ(NULL, ares__slist_node_claim(NULL)); |
|
|
|
|
} |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
#ifdef CARES_EXPOSE_STATICS |
|
|
|
|