summaryrefslogtreecommitdiff
path: root/tests/Unload_libACE.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/Unload_libACE.cpp')
-rw-r--r--tests/Unload_libACE.cpp259
1 files changed, 0 insertions, 259 deletions
diff --git a/tests/Unload_libACE.cpp b/tests/Unload_libACE.cpp
deleted file mode 100644
index a9c52e30c4c..00000000000
--- a/tests/Unload_libACE.cpp
+++ /dev/null
@@ -1,259 +0,0 @@
-// $Id$
-
-// ============================================================================
-//
-// = LIBRARY
-// tests
-//
-// = FILENAME
-// Unload_libACE.cpp
-//
-// = DESCRIPTION
-// This is a simple test of library unloading that uses
-// an application which has _not_ been linked with libACE
-// but uses dlopen() to dynamically load libACE
-// and then uses dlclose() to unload it.
-//
-// = AUTHORS
-// David Smith <dts@prismtech.com> and Don Sharp <Donald.Sharp@prismtech.com>
-//
-// ============================================================================
-
-#include <stdio.h>
-
-#undef UNLOAD_LIBACE_TEST
-
-#if defined (__GNUC__)
-#if !defined (ACE_VXWORKS) && !defined (__MINGW32__) && !defined (__CYGWIN32__)
-#define UNLOAD_LIBACE_TEST 1
-#endif /* !ACE_VXWORKS && !__MINGW32__ && !CYGWIN32 */
-#endif /* __GNUC__ */
-
-#if defined (__hpux) || defined (__SUNPRO_CC)
-#define UNLOAD_LIBACE_TEST 1
-#endif /* (__hpux) || (__SUNPRO_CC) */
-
-#if defined (ACE_AS_STATIC_LIBS)
-#undef UNLOAD_LIBACE_TEST
-#endif /* ACE_AS_STATIC_LIBS */
-
-#ifdef UNLOAD_LIBACE_TEST
-
-#include <errno.h>
-#include <dlfcn.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <string.h>
-#include <time.h>
-
-#define TIME_STAMP_FIELD_WIDTH 32
-
-static char *
-time_stamp ( char date_and_time[], int date_and_timelen, int format )
-{
- static char const *const month_name[] =
- {
- "Jan",
- "Feb",
- "Mar",
- "Apr",
- "May",
- "Jun",
- "Jul",
- "Aug",
- "Sep",
- "Oct",
- "Nov",
- "Dec"
- };
-
- static char const *const day_of_week_name[] =
- {
- "Sun",
- "Mon",
- "Tue",
- "Wed",
- "Thu",
- "Fri",
- "Sat"
- };
-
- char *ts = NULL;
-
- if ( date_and_timelen >= TIME_STAMP_FIELD_WIDTH )
- {
- time_t timeval;
- struct tm *now;
-
- time ( &timeval );
- now = localtime ( &timeval ); /* Get current local time. */
-
- if ( format == 'Y' )
- {
- sprintf ( date_and_time,
- "%3s %3s %2d %04d %02d:%02d:%02d.%06d",
- day_of_week_name[now->tm_wday],
- month_name[now->tm_mon],
- ( int ) now->tm_mday,
- ( int ) now->tm_year + 1900,
- ( int ) now->tm_hour,
- ( int ) now->tm_min, ( int ) now->tm_sec, ( int ) 0 );
- }
- else /* 'T' */
- {
- sprintf ( date_and_time,
- "%3s %2d %02d:%02d:%02d.%03d %04d",
- month_name[now->tm_mon],
- ( int ) now->tm_mday,
- ( int ) now->tm_hour,
- ( int ) now->tm_min,
- ( int ) now->tm_sec, ( int ) 0,
- ( int ) now->tm_year + 1900 );
- }
-
- ts = date_and_time;
- }
- return ts;
-}
-
-int
-main ( int, char ** )
-{
- char const *const program = "UnloadLibACE";
-
- int status = 0;
- void *handle = NULL;
- char *ace_root = NULL;
- char tbuf[BUFSIZ];
- char ybuf[BUFSIZ];
- FILE *logfp = NULL;
-
- if (( logfp = fopen ( "log/UnloadLibACE.log", "w" )) != NULL )
- {
- setvbuf ( logfp, NULL, _IONBF, 0 );
- // reassign stdout/stderr to log file
- int fdno = fileno ( logfp );
-
- dup2 ( fdno, fileno ( stdout ));
- dup2 ( fdno, fileno ( stderr ));
- setvbuf ( stdout, NULL, _IONBF, 0 );
- setvbuf ( stderr, NULL, _IONBF, 0 );
- fflush ( stdout );
- fflush ( stderr );
-
- printf ( "%s@LM_DEBUG@ Starting %s test at %s\n",
- time_stamp ( tbuf, BUFSIZ, 'T' ),
- program, time_stamp ( ybuf, BUFSIZ, 'Y' ));
-
- if (( ace_root = getenv ( "ACE_ROOT" )) != NULL )
- {
- char buf[BUFSIZ];
-
- strcpy ( buf, ace_root );
-#if defined (__hpux)
- strcat ( buf, "/lib/libACE.sl" );
-#else
- strcat ( buf, "/lib/libACE.so" );
-#endif /* (__hpux) */
-
- handle = dlopen ( buf, RTLD_LAZY );
- if ( handle == NULL )
- {
- // is it because of "No such file or directory" ?
- if ( errno != ENOENT )
- {
- fprintf ( stderr,
- "%s@LM_ERROR@ dlopen() returned NULL\n",
- time_stamp ( tbuf, BUFSIZ, 'T' ));
- fprintf ( stderr,
- "%s@LM_ERROR@ dlerror() says: %s\n",
- time_stamp ( tbuf, BUFSIZ, 'T' ), dlerror ());
- status = 1;
- }
- else
- {
- printf ( "%s@LM_DEBUG@ dlopen() did not find %s\n",
- time_stamp ( tbuf, BUFSIZ, 'T' ), buf);
- status = 0;
- }
- }
- else if ( dlclose ( handle ) != 0 )
- {
- fprintf ( stderr,
- "%s@LM_ERROR@ dlclose() failed : %s\n",
- time_stamp ( tbuf, BUFSIZ, 'T' ), strerror ( errno ));
- status = 1;
- }
- }
- else
- {
- fprintf ( stderr,
- "%s@LM_ERROR@ ACE_ROOT environment variable not set\n",
- time_stamp ( tbuf, BUFSIZ, 'T' ));
- status = 1;
- }
-
- fflush ( stdout );
- fflush ( stderr );
- fflush ( logfp );
-
- fclose ( logfp );
- }
- else
- {
- // Couldn't go into the log file !!!
- printf ( "%s@LM_DEBUG@ Starting %s test at %s\n",
- time_stamp ( tbuf, BUFSIZ, 'T' ),
- program, time_stamp ( ybuf, BUFSIZ, 'Y' ));
-
- fprintf ( stderr,
- "%s@LM_ERROR@ Could not open log/UnloadLibACE.log : %s\n",
- time_stamp ( tbuf, BUFSIZ, 'T' ), strerror ( errno ));
- status = 1;
- }
-
- printf ( "%s@LM_DEBUG@ Ending %s test at %s\n",
- time_stamp ( tbuf, BUFSIZ, 'T' ),
- program, time_stamp ( ybuf, BUFSIZ, 'Y' ));
-
- fflush ( stderr );
- fflush ( stdout );
- fclose ( stdout );
- fclose ( stderr );
-
- exit ( status );
- return 0;
-}
-#else
-# if defined (WIN32) && defined (ACE_USES_WCHAR)
-// Borrow include list from ace_wchar.h
-# if defined (ACE_HAS_WINCE)
-# include /**/ <wtypes.h>
-# elif !defined (__BORLANDC__)
-# include /**/ <wchar.h>
-# endif /* ACE_HAS_WINCE || __BORLANDC__ */
-
-int
-wmain ( int, wchar_t ** )
-#else
-int
-main ( int, char ** )
-#endif /* (WIN32) && (ACE_USES_WCHAR) */
-{
- char const *const program = "UnloadLibACE";
-
- FILE *logfp = NULL;
-
- if (( logfp = fopen ( "log/UnloadLibACE.log", "w" )) != NULL )
- {
- fprintf ( logfp, "@LM_DEBUG@ Starting %s test\n", program);
- fprintf ( logfp, "@LM_DEBUG@ %s test not implemented for this platform\n",
- program);
- fprintf ( logfp, "@LM_DEBUG@ Ending %s test\n", program);
-
- fflush ( logfp );
- fclose ( logfp );
- }
- return 0;
-}
-#endif /* UNLOAD_LIBACE_TEST */