diff options
Diffstat (limited to 'ACE/tests/Multihomed_INET_Addr_Test_IPV6.cpp')
-rw-r--r-- | ACE/tests/Multihomed_INET_Addr_Test_IPV6.cpp | 191 |
1 files changed, 0 insertions, 191 deletions
diff --git a/ACE/tests/Multihomed_INET_Addr_Test_IPV6.cpp b/ACE/tests/Multihomed_INET_Addr_Test_IPV6.cpp deleted file mode 100644 index 1607dd81fb2..00000000000 --- a/ACE/tests/Multihomed_INET_Addr_Test_IPV6.cpp +++ /dev/null @@ -1,191 +0,0 @@ -// $Id$ -// ============================================================================ -// -// = LIBRARY -// tests -// -// = FILENAME -// Multihomed_INET_Addr_Test.cpp -// -// = DESCRIPTION -// Performs several tests on the Multihomed_ACE_INET_Addr class. -// It creates several IPv6 addresses and checks that the -// address formed by the class is valid. -// -// = AUTHOR -// Edward Mulholland (emulholl@atl.lmco.com) -// Brian Buesker (bbuesker@qualcomm.com) - Added testing of -// ACE_Multihomed_INET_Addr class -// using IPv6 addresses based on -// Multihomed_INET_Addr_Test. -// -// ============================================================================ - -#include "test_config.h" -#include "ace/OS_NS_string.h" -#include "ace/Multihomed_INET_Addr.h" -#include "ace/Log_Msg.h" -#include "ace/OS_NS_arpa_inet.h" - -int run_main (int argc, ACE_TCHAR *argv[]) -{ - ACE_UNUSED_ARG (argc); - ACE_UNUSED_ARG (argv); - - ACE_START_TEST (ACE_TEXT ("Multihomed_INET_Addr_Test_IPV6")); - - int status = 0; // Innocent until proven guilty - -#if defined (ACE_HAS_IPV6) - // loop variables - size_t i, j; - sockaddr_in6 *pointer6; - - const ACE_TCHAR *primary_ipv6 = ACE_TEXT("3ffe::123:4567:89ab:cdef"); - - const ACE_TCHAR *secondary_ipv6[] = { - ACE_IPV6_LOCALHOST, - ACE_TEXT("fe80::0123:4567:89ab:cdef"), - ACE_TEXT("fec0::0123:4567:89ab:cdef"), - ACE_TEXT("3ffe::1:0123:4567:89ab:cdef"), - ACE_TEXT("2002:3e02:5473::") - }; - - // The port will always be this - u_short port = 80; - - // ... and as you can see, there are 5 of them - const size_t num_secondaries = 5; - - // Test subject - ACE_Multihomed_INET_Addr addr; - - // Array of INET_Addrs that will repeatedly be passed into the - // get_secondary_addresses accessor of Multihomed_INET_Addr - ACE_INET_Addr in_out[5]; - - // Array of INET_Addrs against which the above array will be tested. - ACE_INET_Addr stay_out[5]; - - // Array of sockaddrs that will repeatedly be passed into the - // get_addresses accessor of Multihomed_INET_Addr - const size_t num_sockaddrs = 6; - sockaddr_in6 in_out_sockaddr6[num_sockaddrs]; - - for (i = 0; i <= num_secondaries; ++i) { - - - /**** Test set (u_short, const char[], int, int, const char *([]), size_t) ****/ - - - addr.set(port, - primary_ipv6, - 1, - AF_INET6, - secondary_ipv6, - i); - - // Check the port number - if (addr.get_port_number() != port) { - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("Failed second get_port_number check\n") - ACE_TEXT ("%d != %d\n"), - addr.get_port_number(), - port)); - status = 1; - } - - // Check the primary address - if (0 != ACE_OS::strcmp (ACE_TEXT_CHAR_TO_TCHAR(addr.get_host_addr()), primary_ipv6)) - { - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("%s failed get_host_addr() check\n") - ACE_TEXT ("%s != %s\n"), - primary_ipv6, - addr.get_host_addr (), - primary_ipv6)); - status = 1; - } - - // Check that the test subject reports the correct number of - // secondary addresses. - size_t returned_num_secondaries = addr.get_num_secondary_addresses(); - if (returned_num_secondaries == i) { - - // Initialize the stay_out array with the secondary addresses - for (j = 0; j < i; ++j) { - stay_out[j].set(port, secondary_ipv6[j]); - } - - // Pass the in_out array to the accessor - addr.get_secondary_addresses(in_out, i); - - // Check that the in_out array matches stay_out array - for (j = 0; j < i; ++j) { - - if (in_out[j] != stay_out[j]) { - - ACE_TCHAR in_out_string[100]; - ACE_TCHAR stay_out_string[100]; - - in_out[j].addr_to_string(in_out_string, 100); - stay_out[j].addr_to_string(stay_out_string, 100); - - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("Failed get_secondary_addresses check\n") - ACE_TEXT ("%s != %s\n"), - in_out_string, - stay_out_string)); - - status = 1; - } - } - - // Pass the in_out_sockaddr array to the accessor - addr.get_addresses(in_out_sockaddr6, i + 1); - - // Check that the primary address in the in_out_sockaddr array - // matches the primary address reported by the superclass - if (ACE_OS::memcmp(in_out_sockaddr6, addr.get_addr(), - sizeof(sockaddr_in6))) { - - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("Failed second get_addresses check ") - ACE_TEXT ("(for primary address)\n"))); - - status = 1; - - } - - // Check that the secondary addresses in the in_out_sockaddr - // array match the stay_out array - for (j = 1, pointer6 = &in_out_sockaddr6[1]; - j < i + 1; - ++j, ++pointer6) { - - if (ACE_OS::memcmp(pointer6, stay_out[j-1].get_addr(), - sizeof(sockaddr_in6))) { - - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("Failed get_addresses check ") - ACE_TEXT ("(for secondary addresses)\n"))); - - status = 1; - } - } - } else { - - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("Failed get_num_secondary_addresses check\n") - ACE_TEXT ("%d != %d\n"), - returned_num_secondaries, - i)); - status = 1; - } - } -#endif /* ACE_HAS_IPV6 */ - - ACE_END_TEST; - return status; - -} |