summaryrefslogtreecommitdiff
path: root/ACE/tests
diff options
context:
space:
mode:
authorFred Hornsey <hornseyf@objectcomputing.com>2019-01-19 23:57:28 -0600
committerFred Hornsey <hornseyf@objectcomputing.com>2019-01-19 23:57:28 -0600
commit5845c114751e79e8cbd5955ec9c16f1c55e41121 (patch)
tree6d29710411406a885357888d3be1eeb054d5cd3b /ACE/tests
parent320b8f9c1365484b5e1d4f20301a39fa3a72f97c (diff)
parent560f112ae96729e18e2980653ab12b8c399eaabe (diff)
downloadATCD-5845c114751e79e8cbd5955ec9c16f1c55e41121.tar.gz
Merge remote-tracking branch 'upstream/master' into igtd/android
Diffstat (limited to 'ACE/tests')
-rw-r--r--ACE/tests/.gitignore4
-rw-r--r--ACE/tests/Bug_3709_Regression_Test.cpp6
-rw-r--r--ACE/tests/Message_Block_Test.cpp35
-rw-r--r--ACE/tests/Vector_Test.cpp31
4 files changed, 68 insertions, 8 deletions
diff --git a/ACE/tests/.gitignore b/ACE/tests/.gitignore
index c2402c11670..8da5ea9d5fd 100644
--- a/ACE/tests/.gitignore
+++ b/ACE/tests/.gitignore
@@ -272,3 +272,7 @@
/XtAthenaReactor_Test
/XtMotifReactor_Test
/XtReactor_Test
+/Compiler_Features_36_Test
+/Compiler_Features_37_Test
+/Compiler_Features_38_Test
+/SOCK_Acceptor_Test
diff --git a/ACE/tests/Bug_3709_Regression_Test.cpp b/ACE/tests/Bug_3709_Regression_Test.cpp
index 11b7d4fc1dc..f902a4bfbc3 100644
--- a/ACE/tests/Bug_3709_Regression_Test.cpp
+++ b/ACE/tests/Bug_3709_Regression_Test.cpp
@@ -17,12 +17,6 @@ using namespace std;
#define BROKEN_TEMPLATE_TEMPLATE
#endif
-// clang version 2.9 crashes when trying to compile the test
-// http://llvm.org/bugs/show_bug.cgi?id=9643
-#ifdef __clang__
-#define BROKEN_TEMPLATE_TEMPLATE
-#endif
-
#ifdef __SUNPRO_CC
#define BROKEN_TEMPLATE_TEMPLATE
#endif
diff --git a/ACE/tests/Message_Block_Test.cpp b/ACE/tests/Message_Block_Test.cpp
index 554ce4c20da..1355efc066a 100644
--- a/ACE/tests/Message_Block_Test.cpp
+++ b/ACE/tests/Message_Block_Test.cpp
@@ -28,6 +28,20 @@ static const int ACE_ALLOC_SIZE = 5;
// Amount of memory block preallocated.
static const size_t ACE_ALLOC_AMOUNT = 48;
+// For the user-defined data block test
+static bool user_data_dtor_called = false;
+class User_Data : public ACE_Data_Block
+{
+public:
+ User_Data() {}
+
+ ~User_Data()
+ {
+ ACE_DEBUG((LM_DEBUG, ACE_TEXT ("User_Data dtor\n")));
+ user_data_dtor_called = true;
+ }
+};
+
#if defined (ACE_HAS_THREADS)
#include "ace/Lock_Adapter_T.h"
@@ -345,6 +359,27 @@ int
run_main (int, ACE_TCHAR *[])
{
ACE_START_TEST (ACE_TEXT ("Message_Block_Test"));
+
+ // A quick user-defined data block test, then the main event
+ User_Data *user_data_block = 0;
+ ACE_NEW_MALLOC_RETURN (user_data_block,
+ static_cast<User_Data *>(
+ ACE_Allocator::instance()->malloc(sizeof (User_Data))),
+ User_Data (),
+ -1);
+
+ // Create a new message block referring to the User_Data block and
+ // ensure it is released and freed correctly.
+ ACE_Message_Block *wrapper_mb = 0;
+ ACE_NEW_RETURN (wrapper_mb,
+ ACE_Message_Block (user_data_block),
+ -1);
+
+ wrapper_mb->release ();
+ wrapper_mb = 0;
+ if (!user_data_dtor_called)
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("User-defined data block not freed correctly.\n")));
+
#if defined (ACE_HAS_THREADS)
int n_threads = ACE_MAX_THREADS;
diff --git a/ACE/tests/Vector_Test.cpp b/ACE/tests/Vector_Test.cpp
index 5470166b176..cac2f398faa 100644
--- a/ACE/tests/Vector_Test.cpp
+++ b/ACE/tests/Vector_Test.cpp
@@ -9,11 +9,10 @@
*/
//=============================================================================
+#include <algorithm>
#include "test_config.h"
-
-
#include "ace/Vector_T.h"
typedef size_t DATA;
@@ -157,6 +156,34 @@ int run_main (int, ACE_TCHAR *[])
if (v2.size () != 3)
ACE_ERROR ((LM_ERROR, ACE_TEXT ("v2's size should be 3\n")));
+ // Assert that vector standard iterators work
+ {
+ VECTOR vector;
+ const size_t size = 200;
+ const size_t offset = 5;
+
+ ACE_TEST_ASSERT (vector.begin () == vector.end ());
+
+ size_t i;
+ for (i = 0; i < size; i++)
+ {
+ vector.push_back (i + offset);
+ }
+
+ i = 0;
+ for (VECTOR::iterator it = vector.begin (); it != vector.end (); ++it)
+ {
+ ACE_TEST_ASSERT (*it == i++ + offset);
+ }
+
+ std::reverse (vector.begin (), vector.end());
+ i = size - 1;
+ for (VECTOR::iterator it = vector.begin (); it != vector.end (); ++it)
+ {
+ ACE_TEST_ASSERT (*it == i-- + offset);
+ }
+ }
+
ACE_END_TEST;
return 0;