• Classes
  • Modules
  • Namespaces
  • Files
  • Related Pages
  • File List
  • File Members

maciTestUtils.h

Go to the documentation of this file.
00001 #ifndef maciTestUtils_h
00002 #define maciTestUtils_h
00003 
00004 /*******************************************************************************
00005 * E.S.O. - ACS project
00006 *
00007 * "@(#) $Id: maciTestUtils.h,v 1.78 2003/01/16 12:14:16 vltsccm Exp $"
00008 *
00009 * who       when      what
00010 * --------  --------  ----------------------------------------------
00011 * msekoran 2002-05-17 ASSERT_EQUALS_STR macro fixed
00012 * kzager   2002-02-15 Created
00013 */
00014 
00015 /************************************************************************
00016  *
00017  *----------------------------------------------------------------------
00018  */
00019 
00020 #ifndef __cplusplus
00021 #error This is a C++ include file and cannot be used from plain C
00022 #endif
00023 
00024 #include <logging.h>
00025 
00026 #include <tao/corba.h>
00027 #include <ace/Read_Buffer.h>
00028 
00029 #include <string>
00030 #include <baci.h>
00031 
00032 #define TEST_INIT(name)                                      \
00033   char *testSuiteName = name;                                \
00034   int   nTestCases  = 0;                                     \
00035   int   nFailures   = 0;                                     \
00036   ACS_SHORT_LOG((LM_INFO, "Test suite '%s'", testSuiteName))
00037 
00038 #define TEST_DONE                                                              \
00039   ACS_SHORT_LOG((LM_INFO, "Test suite '%s' complete. %d out of %d test cases " \
00040                  "have failed (%.2f%%)", testSuiteName, nFailures, nTestCases, \
00041                  100.0*nFailures/nTestCases));
00042 
00043 #define ASSERT_EQUALS_STR(actual, expected)                                   \
00044   {                                                                           \
00045     ++nTestCases;                                                             \
00046     if (expected==0)                                                          \
00047      {                                                                        \
00048         if (actual!=0)                                                        \
00049         {                                                                     \
00050           ACS_SHORT_LOG((LM_ERROR, "Test case in file '%s' at line %d failed: " \
00051                          "Expected 0 but got '%s'!", __FILE__, __LINE__,      \
00052                          actual));                                            \
00053           ++nFailures;                                                        \
00054         }                                                                     \
00055      }                                                                        \
00056     else if (strcmp(actual, expected) != 0)                                   \
00057       {                                                                       \
00058         ACS_SHORT_LOG((LM_ERROR, "Test case in file '%s' at line %d failed: " \
00059                        "Expected '%s' but got '%s'!", __FILE__, __LINE__,     \
00060                        expected, actual));                                    \
00061         ++nFailures;                                                          \
00062       }                                                                       \
00063   }
00064 
00065 #define ASSERT_EQUALS_INT(actual, expected)                                   \
00066   {                                                                           \
00067     ++nTestCases;                                                             \
00068     if (actual != expected)                                                   \
00069       {                                                                       \
00070         ACS_SHORT_LOG((LM_ERROR, "Test case in file '%s' at line %d failed: " \
00071                        "Expected '%d' but got '%d'!", __FILE__, __LINE__,     \
00072                        expected, actual));                                    \
00073         ++nFailures;                                                          \
00074       }                                                                       \
00075   }
00076 
00077 #endif   /* maciTestUtils_h */
00078 

Generated on Thu Jan 12 2012 23:13:51 for ACS-10.0 C++ API by  doxygen 1.7.0