summaryrefslogtreecommitdiff
path: root/ACE/tests/INET_Addr_Test.cpp
diff options
context:
space:
mode:
authorPhil Mesnier <mesnierp@ociweb.com>2015-09-09 06:22:34 -0500
committerPhil Mesnier <mesnierp@ociweb.com>2015-09-09 06:22:34 -0500
commit46dae9e6dcf5bfd00096b6e9f24cced71df9e28a (patch)
tree2686d4cd6e86e2fad24731d21e610acf8ff4e06d /ACE/tests/INET_Addr_Test.cpp
parentb4b415c7266ea88e3c44a27c91139425804dfd65 (diff)
downloadATCD-46dae9e6dcf5bfd00096b6e9f24cced71df9e28a.tar.gz
fix for setting port number on an ACE_INET_Addr with a non-empty inet_addrs_ list.
Diffstat (limited to 'ACE/tests/INET_Addr_Test.cpp')
-rw-r--r--ACE/tests/INET_Addr_Test.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/ACE/tests/INET_Addr_Test.cpp b/ACE/tests/INET_Addr_Test.cpp
index 2c272514a64..0910a62b24a 100644
--- a/ACE/tests/INET_Addr_Test.cpp
+++ b/ACE/tests/INET_Addr_Test.cpp
@@ -84,6 +84,30 @@ static bool test_tao_use (void)
return true;
}
+static bool test_port_assignment (void)
+{
+#if defined (ACE_HAS_IPV6)
+ ACE_INET_Addr addr1 (static_cast<unsigned short> (0), ACE_IPV6_ANY, AF_INET6);
+ ACE_INET_Addr addr2;
+
+ addr1.set_port_number (12345);
+ addr2.set (addr1);
+ if (addr1.get_port_number () != addr2.get_port_number ())
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("port number not properly copied. ")
+ ACE_TEXT ("addr1 port = %d addr2 port = %d\n"),
+ addr1.get_port_number (), addr2.get_port_number ()));
+ return false;
+ }
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Test Port Assignment passed\n")));
+#else
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Test Port Assignment is IPv6 only\n")));
+#endif /* ACE_HAS_IPV6 */
+ return true;
+}
static bool test_multiple (void)
{
@@ -466,6 +490,9 @@ int run_main (int, ACE_TCHAR *[])
if (!test_multiple ())
status = 1;
+ if (!test_port_assignment ())
+ status = 1;
+
ACE_INET_Addr a1 (80, "127.0.0.1");
ACE_INET_Addr a2 = a1;
if (a1 != a2)