diff options
Diffstat (limited to 'ACE/tests/Bug_3744_Regression_Test.cpp')
-rw-r--r-- | ACE/tests/Bug_3744_Regression_Test.cpp | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/ACE/tests/Bug_3744_Regression_Test.cpp b/ACE/tests/Bug_3744_Regression_Test.cpp new file mode 100644 index 00000000000..7dd790f5226 --- /dev/null +++ b/ACE/tests/Bug_3744_Regression_Test.cpp @@ -0,0 +1,61 @@ +// $Id$ + +#include "test_config.h" +#include "ace/OS_NS_string.h" +#include "ace/OS_NS_netdb.h" + +ACE_RCSID(tests, OS_Test, "$Id$") + +#undef THIS_IS_NOT_AN_ASSERT_IT_IS_A_NON_DEBUG_TEST_AS_WELL +#define THIS_IS_NOT_AN_ASSERT_IT_IS_A_NON_DEBUG_TEST_AS_WELL(X) \ + ((X) \ + ? static_cast<void>(0) \ + : ACE_VERSIONED_NAMESPACE_NAME::__ace_assert(__FILE__, __LINE__, ACE_TEXT_CHAR_TO_TCHAR (#X))) + +int +getmacaddress_test (void) +{ + ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Testing getmacaddress\n"))); + +#if defined (ACE_LACKS_NETWORKING) + return 0; +#else /* ACE_LACKS_NETWORKING */ + struct ACE_OS::macaddr_node_t node; + + ACE_OS::memset (&node, 0x0, sizeof (node)); + int retval = ACE_OS::getmacaddress (&node); + if (retval == 0) + { + if (node.node[0] == 0x0 && node.node[1] == 0x0 && node.node[2] == 0x0 && + node.node[3] == 0x0 && node.node[4] == 0x0 && node.node[5] == 0x0) + { + ACE_ERROR ((LM_ERROR, + ACE_TEXT ("ACE_OS::getmacaddress() failed to get MAC address\n"))); + ++retval; + } + } + else + { + ACE_ERROR ((LM_ERROR, + ACE_TEXT ("ACE_OS::getmacaddress() returned %d, should be 0\n"), + retval)); + } + return retval; +#endif /* ACE_LACKS_NETWORKING */ +} + +int +run_main (int, ACE_TCHAR *[]) +{ + ACE_START_TEST (ACE_TEXT ("Bug_3744_Regression_Test")); + + int status = 0; + int result; + + if ((result = getmacaddress_test ()) != 0) + status = result; + + ACE_END_TEST; + return status; +} +#undef THIS_IS_NOT_AN_ASSERT_IT_IS_A_NON_DEBUG_TEST_AS_WELL |