diff options
Diffstat (limited to 'tests/test_config.h')
-rw-r--r-- | tests/test_config.h | 163 |
1 files changed, 4 insertions, 159 deletions
diff --git a/tests/test_config.h b/tests/test_config.h index 06efa70c390..e6dce2a7674 100644 --- a/tests/test_config.h +++ b/tests/test_config.h @@ -1,4 +1,4 @@ -// -*- C++ -*- +// -*- C++ -*- // ============================================================================ @@ -32,18 +32,8 @@ // This first #undef protects against command-line definitions. #undef ACE_NDEBUG -#include "ace/OS.h" #include "ace/streams.h" -#include "ace/Singleton.h" -#include "ace/Synch.h" #include "ace/Log_Msg.h" -#include "ace/ACE.h" - -// The second #undef protects against being reset in a config.h file. -#undef ACE_NDEBUG - -#undef ACE_TEXT -#define ACE_TEXT ACE_LIB_TEXT #if defined (ACE_HAS_WINCE) // Note that Pocket PC 2002 will NOT create a directory if it does not start with a leading '\'. @@ -161,6 +151,7 @@ class ACE_Test_Output public: ACE_Test_Output (void); ~ACE_Test_Output (void); + static ACE_Test_Output *instance (); int set_output (const ACE_TCHAR *filename, int append = 0); OFSTREAM *output_file (void); void close (void); @@ -169,154 +160,8 @@ private: OFSTREAM *output_file_; }; -inline ACE_Test_Output::ACE_Test_Output (void) - : output_file_ (0) -{ -#if !defined (ACE_LACKS_IOSTREAM_TOTALLY) - this->output_file_ = new OFSTREAM; -#endif /* ACE_LACKS_IOSTREAM_TOTALLY */ -} - -inline ACE_Test_Output::~ACE_Test_Output (void) -{ -#if !defined (ACE_LACKS_IOSTREAM_TOTALLY) && !defined (ACE_PSOS) - ACE_LOG_MSG->msg_ostream (&cerr); -#endif /* ! ACE_LACKS_IOSTREAM_TOTALLY && ! ACE_PSOS */ - - ACE_LOG_MSG->clr_flags (ACE_Log_Msg::OSTREAM); - ACE_LOG_MSG->set_flags (ACE_Log_Msg::STDERR); - -#if !defined (ACE_LACKS_IOSTREAM_TOTALLY) && !defined (ACE_HAS_PHARLAP) - delete this->output_file_; -#endif /* ! ACE_LACKS_IOSTREAM_TOTALLY */ -} - -inline OFSTREAM * -ACE_Test_Output::output_file (void) -{ - return this->output_file_; -} - -inline int -ACE_Test_Output::set_output (const ACE_TCHAR *filename, int append) -{ -#if defined (ACE_HAS_PHARLAP) - // For PharLap, just send it all to the host console for now - redirect - // to a file there for saving/analysis. - EtsSelectConsole(ETS_CO_HOST); - ACE_LOG_MSG->msg_ostream (&cout); - -#else - ACE_TCHAR temp[MAXPATHLEN]; - // Ignore the error value since the directory may already exist. - const ACE_TCHAR *test_dir; - -#if !defined (ACE_HAS_WINCE) - test_dir = ACE_OS::getenv (ACE_TEXT ("ACE_TEST_DIR")); - - if (test_dir == 0) -#endif /* ACE_HAS_WINCE */ - test_dir = ACE_TEXT (""); - - ACE_OS::sprintf (temp, - ACE_TEXT ("%s%s%s%s"), - test_dir, - ACE_LOG_DIRECTORY, - ACE::basename (filename, ACE_DIRECTORY_SEPARATOR_CHAR), - ACE_LOG_FILE_EXT_NAME); - -#if defined (VXWORKS) - // This is the only way I could figure out to avoid a console - // warning about opening an existing file (w/o O_CREAT), or - // attempting to unlink a non-existant one. - ACE_HANDLE fd = ACE_OS::open (temp, - O_WRONLY|O_CREAT, - S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH); - if (fd != ERROR) - { - ACE_OS::close (fd); - ACE_OS::unlink (temp); - } -# else /* ! VXWORKS */ - // This doesn't seem to work on VxWorks if the directory doesn't - // exist: it creates a plain file instead of a directory. If the - // directory does exist, it causes a wierd console error message - // about "cat: input error on standard input: Is a directory". So, - // VxWorks users must create the directory manually. -# if defined (ACE_HAS_WINCE) - ACE_OS::mkdir (ACE_LOG_DIRECTORY_FOR_MKDIR); -# else - ACE_OS::mkdir (ACE_LOG_DIRECTORY); -# endif // ACE_HAS_WINCE -# endif /* ! VXWORKS */ - -# if !defined (ACE_LACKS_IOSTREAM_TOTALLY) - this->output_file_->open (ACE_TEXT_ALWAYS_CHAR (temp), - ios::out | (append ? ios::app : ios::trunc)); - if (this->output_file_->bad ()) - return -1; -#else /* when ACE_LACKS_IOSTREAM_TOTALLY */ - ACE_TCHAR *fmode = 0; - if (append) - fmode = ACE_TEXT ("a"); - else - fmode = ACE_TEXT ("w"); - this->output_file_ = ACE_OS::fopen (temp, fmode); -# endif /* ACE_LACKS_IOSTREAM_TOTALLY */ - - ACE_LOG_MSG->msg_ostream (this->output_file ()); -#endif /* ACE_HAS_PHARLAP */ - - ACE_LOG_MSG->clr_flags (ACE_Log_Msg::STDERR | ACE_Log_Msg::LOGGER ); - ACE_LOG_MSG->set_flags (ACE_Log_Msg::OSTREAM); - - return 0; -} - -inline void -ACE_Test_Output::close (void) -{ -#if !defined (ACE_LACKS_IOSTREAM_TOTALLY) - this->output_file_->flush (); - this->output_file_->close (); -#else - ACE_OS::fflush (this->output_file_); - ACE_OS::fclose (this->output_file_); -#endif /* !ACE_LACKS_IOSTREAM_TOTALLY */ -} - -inline void -randomize (int array[], size_t size) -{ - size_t i; - - for (i = 0; i < size; i++) - array [i] = ACE_static_cast (int, i); - - // See with a fixed number so that we can produce "repeatable" - // random numbers. - ACE_OS::srand (0); - - // Generate an array of random numbers from 0 .. size - 1. - - for (i = 0; i < size; i++) - { - size_t index = ACE_OS::rand() % size--; - int temp = array [index]; - array [index] = array [size]; - array [size] = temp; - } -} - -typedef ACE_Singleton<ACE_Test_Output, ACE_Null_Mutex> ace_file_stream; +typedef ACE_Test_Output ace_file_stream; -#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) -template class ACE_Singleton<ACE_Test_Output, ACE_Null_Mutex>; -#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) -#pragma instantiate ACE_Singleton<ACE_Test_Output, ACE_Null_Mutex> -#elif defined (__GNUC__) && (defined (_AIX) || defined (__hpux)) -template ACE_Singleton<ACE_Test_Output, ACE_Null_Mutex> * - ACE_Singleton<ACE_Test_Output, ACE_Null_Mutex>::singleton_; -#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ +void randomize (int array[], size_t size); #endif /* ACE_TEST_CONFIG_H */ |