summaryrefslogtreecommitdiff
path: root/tests/SOCK_Dgram_Test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/SOCK_Dgram_Test.cpp')
-rw-r--r--tests/SOCK_Dgram_Test.cpp220
1 files changed, 0 insertions, 220 deletions
diff --git a/tests/SOCK_Dgram_Test.cpp b/tests/SOCK_Dgram_Test.cpp
deleted file mode 100644
index 54bbd705204..00000000000
--- a/tests/SOCK_Dgram_Test.cpp
+++ /dev/null
@@ -1,220 +0,0 @@
-// $Id$
-// ===========================================================================
-//
-// = LIBRARY
-// tests
-//
-// = FILENAME
-// SOCK_Dgram.cpp
-//
-// = DESCRIPTION
-// Tests that a call to open with an any address binds to the any address
-// for the protocol passed in.
-//
-// This test uses the same test setup as SOCK_Test.
-//
-// = AUTHOR
-// Brian Buesker (bbuesker@qualcomm.com)
-//
-// ==========================================================================
-
-#include "test_config.h"
-#include "ace/OS_NS_sys_wait.h"
-#include "ace/Thread.h"
-#include "ace/Thread_Manager.h"
-#include "ace/SOCK_Dgram.h"
-#include "ace/Log_Msg.h"
-#include "ace/Time_Value.h"
-#include "ace/OS_NS_unistd.h"
-
-#define SERVER_PORT 20000
-#define TEST_DATA ACE_TEXT ("UDP Open Test")
-
-static void *
-client (void *arg)
-{
- ACE_INET_Addr *remote_addr = (ACE_INET_Addr *) arg;
- ACE_INET_Addr server_addr, peer_addr;
- ACE_SOCK_Dgram cli_dgram;
- ACE_Time_Value timeout (1);
-
- char buf[20];
-
- ACE_TCHAR hostname_string[100];
-
- if (remote_addr->get_type () == AF_INET)
- {
- server_addr.set (remote_addr->get_port_number (),
- ACE_LOCALHOST);
- }
-#if defined (ACE_HAS_IPV6)
- else
- {
- server_addr.set (remote_addr->get_port_number(),
- ACE_IPV6_LOCALHOST);
- }
-#endif /* ACE_HAS_IPV6 */
-
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%P|%t) starting client UDP send\n")));
-
- if (cli_dgram.open (ACE_Addr::sap_any, server_addr.get_type ()) == -1)
- {
- ACE_ERROR((LM_ERROR,
- ACE_TEXT("%p\n"),
- ACE_TEXT("open SOCK_Dgram failed for client for protocol")
- ACE_TEXT(" = %d\n"),
- server_addr.get_type ()));
- }
- else if (cli_dgram.send (TEST_DATA, sizeof (TEST_DATA), server_addr) == -1)
- {
- server_addr.addr_to_string (hostname_string, 100);
- ACE_ERROR((LM_ERROR,
- ACE_TEXT("%p\n"),
- ACE_TEXT("UDP send to %s\n"),
- hostname_string));
- }
- else if (cli_dgram.recv (buf, sizeof (buf), peer_addr, 0, &timeout) == -1)
- {
- if (errno == ETIME)
- {
- ACE_ERROR((LM_ERROR,
- ACE_TEXT("%p\n"),
- ACE_TEXT("recv for UDP over IPv4 timed out")));
- }
- else
- {
- ACE_ERROR((LM_ERROR,
- ACE_TEXT("%p\n"),
- ACE_TEXT("recv for UDP over IPv4 failed")));
- }
- }
-
- cli_dgram.close();
-
- return 0;
-}
-
-static void *
-server (void *arg)
-{
- ACE_SOCK_Dgram *server_dgram = (ACE_SOCK_Dgram *) arg;
-
- ACE_INET_Addr peer_addr;
-
- char buf[20];
- ACE_TCHAR hostname_string[100];
-
- if (server_dgram->recv (buf, sizeof (buf), peer_addr, 0) == -1)
- {
- ACE_ERROR((LM_ERROR,
- ACE_TEXT("%p\n"),
- ACE_TEXT("recv for UDP over IPv6 failed")));
- }
- else if (server_dgram->send (TEST_DATA, sizeof (TEST_DATA),
- peer_addr, 0) == -1)
- {
- peer_addr.addr_to_string (hostname_string, sizeof (hostname_string));
- ACE_ERROR((LM_ERROR,
- ACE_TEXT("%p\n"),
- ACE_TEXT("Server UDP send to %s failed"),
- hostname_string));
- }
- server_dgram->close ();
-
- return 0;
-}
-
-static void
-spawn (int proto)
-{
- ACE_SOCK_Dgram server_dgram;
-
- ACE_INET_Addr server_addr;
-
- if (proto == AF_INET)
- {
- server_addr.set (SERVER_PORT,
- ACE_LOCALHOST);
- }
-#if defined (ACE_HAS_IPV6)
- else
- {
- server_addr.set (SERVER_PORT,
- ACE_IPV6_LOCALHOST);
- }
-#endif /* ACE_HAS_IPV6 */
-
- // Bind UDP server to the appropriate port
- if (server_dgram.open (server_addr, proto) == -1)
- ACE_ERROR ((LM_ERROR, ACE_TEXT ("(%P|%t) %p\n"), ACE_TEXT ("server open")));
- else
- {
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%P|%t) started server at port %d\n"),
- server_addr.get_port_number ()));
-#if !defined (ACE_LACKS_FORK)
- switch (ACE_OS::fork (ACE_TEXT ("child")))
- {
- case -1:
- ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("(%P|%t) %p\n%a"),
- ACE_TEXT ("fork failed"),
- 1));
- /* NOTREACHED */
- case 0:
- client (&server_addr);
- exit (0);
- /* NOTREACHED */
- default:
- server ((void *) &server_dgram);
- ACE_OS::wait ();
- }
-#elif defined (ACE_HAS_THREADS)
- if (ACE_Thread_Manager::instance ()->spawn
- (ACE_THR_FUNC (server),
- (void *) &server_dgram,
- THR_NEW_LWP | THR_DETACHED) == -1)
- ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("(%P|%t) %p\n%a"),
- ACE_TEXT ("thread create failed"),
- 1));
-
- if (ACE_Thread_Manager::instance ()->spawn
- (ACE_THR_FUNC (client),
- (void *) &server_addr,
- THR_NEW_LWP | THR_DETACHED) == -1)
- ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("(%P|%t) %p\n%a"),
- ACE_TEXT ("thread create failed"),
- 1));
-
- // Wait for the threads to exit.
- ACE_Thread_Manager::instance ()->wait ();
-#else
- ACE_ERROR ((LM_INFO,
- ACE_TEXT ("(%P|%t) ")
- ACE_TEXT ("only one thread may be run ")
- ACE_TEXT ("in a process on this platform\n")));
-#endif /* ACE_HAS_THREADS */
-
- server_dgram.close ();
- }
-}
-
-int run_main (int argc, ACE_TCHAR *argv[])
-{
- ACE_UNUSED_ARG (argc);
- ACE_UNUSED_ARG (argv);
-
- ACE_START_TEST (ACE_TEXT ("SOCK_Dgram_Test"));
-
- spawn (AF_INET);
-
-#if defined (ACE_HAS_IPV6)
-
- spawn (AF_INET6);
-
-#endif /* ACE_HAS_IPV6 */
-
- ACE_END_TEST;
- return 0;
-}