summaryrefslogtreecommitdiff
path: root/tests/Multihomed_INET_Addr_Test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/Multihomed_INET_Addr_Test.cpp')
-rw-r--r--tests/Multihomed_INET_Addr_Test.cpp470
1 files changed, 0 insertions, 470 deletions
diff --git a/tests/Multihomed_INET_Addr_Test.cpp b/tests/Multihomed_INET_Addr_Test.cpp
deleted file mode 100644
index 8c89f1fe7db..00000000000
--- a/tests/Multihomed_INET_Addr_Test.cpp
+++ /dev/null
@@ -1,470 +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 IPv4 addresses and checks that the
-// address formed by the class is valid.
-//
-// = AUTHOR
-// Edward Mulholland (emulholl@atl.lmco.com)
-//
-// ============================================================================
-
-#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"));
-
- int status = 0; // Innocent until proven guilty
-
- // loop variables
- size_t i, j;
- sockaddr_in *pointer;
-
- // The port will always be this
- u_short port = 80;
-
- // The primary address will always be this
- const char *primary_dotted_decimal = "138.38.180.251";
-
- // The secondary addresses will always be these...
- const char *secondary_dotted_decimals[] = {
- "64.219.54.121",
- "127.0.0.1",
- "21.242.14.51",
- "53.141.124.24",
- "42.12.44.9"
- };
-
- // ... and as you can see, there are 5 of them
- const size_t num_secondaries = 5;
-
- // We also need the primary address and the secondary addresses
- // in ACE_UINT32 format in host byte order
- ACE_UINT32 primary_addr32;
- ACE_UINT32 secondary_addr32[5];
-
- {
- struct in_addr addrv4;
- ACE_OS::inet_pton (AF_INET, primary_dotted_decimal, &addrv4);
- ACE_OS::memcpy (&primary_addr32, &addrv4, sizeof (primary_addr32));
- primary_addr32 = ACE_NTOHL(primary_addr32);
- }
-
- for (i = 0; i < num_secondaries; ++i) {
- struct in_addr addrv4;
- ACE_OS::inet_pton (AF_INET, secondary_dotted_decimals[i], &addrv4);
- ACE_OS::memcpy (&secondary_addr32[i], &addrv4, sizeof (primary_addr32));
- secondary_addr32[i] = ACE_NTOHL(secondary_addr32[i]);
- }
-
- // Test subject
- ACE_Multihomed_INET_Addr addr;
-
- // Array of ones (used to clear the secondary addresses of the test
- // subject)
- ACE_UINT32 array_of_threes[5] = { ACE_UINT32 (3),
- ACE_UINT32 (3),
- ACE_UINT32 (3),
- ACE_UINT32 (3),
- ACE_UINT32 (3) };
-
- // 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_in in_out_sockaddr[num_sockaddrs];
-
- // Run the test with a varying number of secondary addresses
- for (i = 0; i <= num_secondaries; ++i) {
-
-
- /****** Clear the in_out array and test subject ******/
-
-
- // Clear the in_out array by setting every port to 0 and every
- // address to 1
- for (j = 0; j < num_secondaries; ++j) {
- in_out[j].set(0, ACE_UINT32 (1), 1);
- }
-
- // Clear the in_out_sockaddr array by setting every port to 0 and
- // every address to 1
- ACE_OS::memset(in_out_sockaddr, 0, num_sockaddrs * sizeof(sockaddr));
-
- // Clear the test subject by setting the port to 2 and every
- // address (both the primary and the secondaries) to 3
- addr.set (2, ACE_UINT32 (3), 1, array_of_threes, num_secondaries);
-
- // Check that the port is 2
- if (addr.get_port_number() != 2) {
- ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("Failed get_port_number check\n")
- ACE_TEXT ("%d != %d\n"),
- addr.get_port_number(),
- 2));
- status = 1;
- }
-
- // Check that the primary address is 3
- if (addr.get_ip_address() != ACE_UINT32 (3)) {
- ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("Failed get_ip_address check\n")
- ACE_TEXT ("0x%x != 0x%x\n"),
- addr.get_ip_address(),
- ACE_UINT32 (3)));
- 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 == num_secondaries) {
-
- // Set a stay_out element to the state that we expect to see
- // from every in_out element after the in_out array is passed to
- // the accessor of the test subject.
- stay_out[0].set(2, ACE_UINT32 (3), 1);
-
- // Pass the in_out array to the accessor
- addr.get_secondary_addresses(in_out, num_secondaries);
-
- // Check that the in_out array matches stay_out element
- for (j = 0; j < num_secondaries; ++j) {
-
- if (in_out[j] != stay_out[0]) {
-
- ACE_TCHAR in_out_string[100];
- ACE_TCHAR stay_out_string[100];
-
- in_out[j].addr_to_string(in_out_string, 100);
- stay_out[0].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_sockaddr, num_secondaries + 1);
-
- // Check that the in_out_sockaddr array matches stay_out element
- for (j = 0, pointer = in_out_sockaddr;
- j < num_secondaries + 1;
- ++j, ++pointer) {
-
- if (ACE_OS::memcmp(pointer, stay_out[0].get_addr(), sizeof(sockaddr))) {
-
- ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("Failed get_addresses check\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,
- num_secondaries));
- status = 1;
-
- }
-
-
- /**** Test set (u_short, const char[], int, int, const char *([]), size_t) ****/
-
-
- addr.set(port,
- primary_dotted_decimal,
- 1,
- AF_INET,
- secondary_dotted_decimals,
- 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 (addr.get_host_addr(), primary_dotted_decimal))
- {
- ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("%s failed get_host_addr() check\n")
- ACE_TEXT ("%s != %s\n"),
- primary_dotted_decimal,
- addr.get_host_addr (),
- primary_dotted_decimal));
- status = 1;
- }
-
- // Check that the test subject reports the correct number of
- // secondary addresses.
- 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_dotted_decimals[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 second 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_sockaddr, 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_sockaddr, addr.get_addr(), sizeof(sockaddr))) {
-
- 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, pointer = &in_out_sockaddr[1];
- j < i + 1;
- ++j, ++pointer) {
-
- if (ACE_OS::memcmp(pointer, stay_out[j-1].get_addr(), sizeof(sockaddr))) {
-
- ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("Failed second get_addresses check ")
- ACE_TEXT ("(for secondary addresses)\n")));
-
- status = 1;
- }
- }
-
- } else {
-
- ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("Failed second get_num_secondary_addresses check\n")
- ACE_TEXT ("%d != %d\n"),
- returned_num_secondaries,
- i));
- status = 1;
- }
-
-
- /****** Clear the in_out array and test subject AGAIN ******/
-
-
- // Clear the in_out array by setting every port to 0 and every
- // address to 1
- for (j = 0; j < num_secondaries; ++j) {
- in_out[j].set(0, ACE_UINT32 (1), 1);
- }
-
- // Clear the test subject by setting the port to 2 and every
- // address (both the primary and the secondaries) to 3
- addr.set (2, ACE_UINT32 (3), 1, array_of_threes, num_secondaries);
-
- // Check that the port is 2
- if (addr.get_port_number() != 2) {
- ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("Failed third get_port_number check\n")
- ACE_TEXT ("%d != %d\n"),
- addr.get_port_number(),
- 2));
- status = 1;
- }
-
- // Check that the primary address is 3
- if (addr.get_ip_address() != ACE_UINT32 (3)) {
- ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("Failed third get_ip_address check\n")
- ACE_TEXT ("0x%x != 0x%x\n"),
- addr.get_ip_address(),
- ACE_UINT32 (3)));
- status = 1;
- }
-
- // Check that the test subject reports the correct number of
- // secondary addresses.
- returned_num_secondaries = addr.get_num_secondary_addresses();
- if (returned_num_secondaries == num_secondaries) {
-
- // Set a stay_out element to the state that we expect to see
- // from every in_out element after the in_out array is passed to
- // the accessor of the test subject.
- stay_out[0].set(2, ACE_UINT32 (3), 1);
-
- // Pass the in_out array to the accessor
- addr.get_secondary_addresses(in_out, num_secondaries);
-
- // Check that the in_out array matches stay_out array
- for (j = 0; j < num_secondaries; ++j) {
-
- if (in_out[j] != stay_out[0]) {
-
- ACE_TCHAR in_out_string[100];
- ACE_TCHAR stay_out_string[100];
-
- in_out[j].addr_to_string(in_out_string, 100);
- stay_out[0].addr_to_string(stay_out_string, 100);
-
- ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("Failed third get_secondary_addresses check\n")
- ACE_TEXT ("%s != %s\n"),
- in_out_string,
- stay_out_string));
-
- status = 1;
- }
- }
-
- } else {
-
- ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("Failed third get_num_secondary_addresses check\n")
- ACE_TEXT ("%d != %d\n"),
- returned_num_secondaries,
- num_secondaries));
- status = 1;
-
- }
-
-
- /**** Test set (u_short, ACE_UINT32, int, const ACE_UINT32 *, size_t) ****/
-
- addr.set(port,
- primary_addr32,
- 1,
- secondary_addr32,
- i);
-
- // Check the port number
- if (addr.get_port_number() != port) {
- ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("Failed forth 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 (addr.get_host_addr(), primary_dotted_decimal))
- {
- ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("%s failed second get_ip_address() check\n")
- ACE_TEXT ("%s != %s\n"),
- primary_dotted_decimal,
- addr.get_host_addr (),
- primary_dotted_decimal));
- status = 1;
- }
-
- // Check that the test subject reports the correct number of
- // secondary addresses.
- 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_addr32[j]);
- }
-
- // Pass the in_out array to the accessor
- addr.get_secondary_addresses(in_out, j);
-
- // 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 forth get_secondary_addresses check\n")
- ACE_TEXT ("%s != %s\n"),
- in_out_string,
- stay_out_string));
-
- status = 1;
- }
- }
-
- } else {
-
- ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("Failed forth get_num_secondary_addresses check\n")
- ACE_TEXT ("%d != %d\n"),
- returned_num_secondaries,
- i));
- status = 1;
- }
-
- }
-
- ACE_END_TEST;
- return status;
-
-}