summaryrefslogtreecommitdiff
path: root/ACE/tests/Cached_Allocator_Test.cpp
diff options
context:
space:
mode:
authorschmidt <douglascraigschmidt@users.noreply.github.com>2011-07-22 12:33:43 +0000
committerschmidt <douglascraigschmidt@users.noreply.github.com>2011-07-22 12:33:43 +0000
commit769b6fe1f285539e027c02c5b5a10f88ce5b4d43 (patch)
treed06dd4410fff8d07bc3e9654560f5dbfef159c8e /ACE/tests/Cached_Allocator_Test.cpp
parentcf44e6620fbe2e2b82ca8184c762198301201d9d (diff)
downloadATCD-769b6fe1f285539e027c02c5b5a10f88ce5b4d43.tar.gz
ChangeLogTag:Fri
Diffstat (limited to 'ACE/tests/Cached_Allocator_Test.cpp')
-rw-r--r--ACE/tests/Cached_Allocator_Test.cpp190
1 files changed, 96 insertions, 94 deletions
diff --git a/ACE/tests/Cached_Allocator_Test.cpp b/ACE/tests/Cached_Allocator_Test.cpp
index bda18427401..079a3413976 100644
--- a/ACE/tests/Cached_Allocator_Test.cpp
+++ b/ACE/tests/Cached_Allocator_Test.cpp
@@ -145,102 +145,104 @@ run_main (int argc, ACE_TCHAR *argv[])
else
loops = ACE_OS::atoi (argv[1]);
- chunk_size = 8;
n_chunks = 2;
- ACE_DEBUG ((LM_INFO,
- ACE_TEXT (" (%t) Creating allocator: ")
- ACE_TEXT ("%B chunks, %B bytes each\n"),
- n_chunks,
- chunk_size));
-
- DYNAMIC_ALLOCATOR allocator (n_chunks, chunk_size);
-
- if ((depth = allocator.pool_depth ()) != n_chunks)
- ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("Expected pool depth %B but reported %B\n"),
- n_chunks, depth));
- requested_size = chunk_size;
- ACE_DEBUG ((LM_INFO,
- ACE_TEXT (" (%t) Allocating chunk 1: %B bytes, should succeed...\n"),
- requested_size));
-
- ptr1 = (char *) allocator.malloc (requested_size);
- if (!ptr1)
- ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT (" (%t) Failed, exiting.\n")), -1);
-
- ACE_DEBUG ((LM_INFO, ACE_TEXT (" (%t) OK, succeeded.\n")));
- if ((depth = allocator.pool_depth ()) != (n_chunks - 1))
- ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("Expected pool depth %B but reported %B\n"),
- n_chunks - 1, depth));
-
- requested_size = chunk_size + 1;
- ACE_DEBUG ((LM_INFO,
- ACE_TEXT (" (%t) Allocating chunk 2: %B bytes, too big, should fail...\n"),
- requested_size));
-
- ptr2 = (char *) allocator.malloc (requested_size);
- if (!ptr2)
- ACE_DEBUG ((LM_INFO, ACE_TEXT (" (%t) OK, failed.\n")));
- else
- ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT (" (%t) Something is wrong...\n")), -1);
-
- requested_size = chunk_size - 1;
- ACE_DEBUG ((LM_INFO,
- ACE_TEXT (" (%t) Allocating chunk 3: %B bytes, ")
- ACE_TEXT ("should succeed...\n"),
- requested_size));
- ptr3 = (char *) allocator.malloc (requested_size);
- if (!ptr3)
- ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT (" (%t) Failed, exiting.\n")), -1);
-
- ACE_DEBUG ((LM_INFO, ACE_TEXT (" (%t) OK, succeeded.\n")));
-
- // One chunk too far...
- if ((depth = allocator.pool_depth ()) != 0)
- ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("Expected pool depth 0 but reported %B\n"),
- depth));
- requested_size = chunk_size;
- ACE_DEBUG ((LM_INFO,
- ACE_TEXT (" (%t) Allocating chunk 4: %B bytes, no free chunks,")
- ACE_TEXT (" should fail...\n"),
- requested_size));
-
- ptr4 = (char *) allocator.malloc (requested_size);
- if (!ptr4)
- ACE_DEBUG ((LM_INFO, ACE_TEXT (" (%t) OK, failed.\n")));
- else
- ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT (" (%t) Something is wrong\n")), -1);
-
- ACE_DEBUG ((LM_INFO, ACE_TEXT (" (%t) Writing to chunk 1: %C\n"), str1));
- ACE_OS::memcpy (ptr1, str1, chunk_size);
- ptr1[chunk_size - 1] = '\0';
- ACE_DEBUG ((LM_INFO, ACE_TEXT (" (%t) Reading from chunk 1: %C\n"), ptr1));
-
- ACE_DEBUG ((LM_INFO, ACE_TEXT (" (%t) Writing to chunk 3: %C\n"), str3));
- ACE_OS::memcpy (ptr3, str3, chunk_size);
- ptr3[chunk_size - 1] = '\0';
- ACE_DEBUG ((LM_INFO, ACE_TEXT (" (%t) Reading from chunk 3: %C\n"), ptr3));
-
- ACE_DEBUG ((LM_INFO, ACE_TEXT (" (%t) Deallocating chunk 1\n")));
- allocator.free (ptr1);
-
- requested_size = chunk_size;
- ACE_DEBUG ((LM_INFO, ACE_TEXT (" (%t) Allocating chunk: %B bytes, ")
- ACE_TEXT ("should succeed...\n"),
- requested_size));
- ptr1 = (char *) allocator.malloc (requested_size);
- if (!ptr1)
- ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT (" (%t) Failed, exiting.\n")), -1);
-
- ACE_DEBUG ((LM_INFO, ACE_TEXT (" (%t) OK, succeeded.\n")));
-
- ACE_DEBUG ((LM_INFO, ACE_TEXT (" (%t) Deallocating chunk 1\n")));
- allocator.free (ptr1);
- ACE_DEBUG ((LM_INFO, ACE_TEXT (" (%t) Deallocating chunk 3\n")));
- allocator.free (ptr3);
+ for (chunk_size = 1; chunk_size <= 9; ++chunk_size) // 9 is strlen(str1 or str2) + 1
+ {
+ ACE_DEBUG ((LM_INFO,
+ ACE_TEXT (" (%t) Creating allocator: ")
+ ACE_TEXT ("%B chunks, %B bytes each\n"),
+ n_chunks,
+ chunk_size));
+
+ DYNAMIC_ALLOCATOR allocator (n_chunks, chunk_size);
+
+ if ((depth = allocator.pool_depth ()) != n_chunks)
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Expected pool depth %B but reported %B\n"),
+ n_chunks, depth));
+ requested_size = chunk_size;
+ ACE_DEBUG ((LM_INFO,
+ ACE_TEXT (" (%t) Allocating chunk 1: %B bytes, should succeed...\n"),
+ requested_size));
+
+ ptr1 = (char *) allocator.malloc (requested_size);
+ if (!ptr1)
+ ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT (" (%t) Failed, exiting.\n")), -1);
+
+ ACE_DEBUG ((LM_INFO, ACE_TEXT (" (%t) OK, succeeded.\n")));
+ if ((depth = allocator.pool_depth ()) != (n_chunks - 1))
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Expected pool depth %B but reported %B\n"),
+ n_chunks - 1, depth));
+
+ requested_size = chunk_size + 1;
+ ACE_DEBUG ((LM_INFO,
+ ACE_TEXT (" (%t) Allocating chunk 2: %B bytes, too big, should fail...\n"),
+ requested_size));
+
+ ptr2 = (char *) allocator.malloc (requested_size);
+ if (!ptr2)
+ ACE_DEBUG ((LM_INFO, ACE_TEXT (" (%t) OK, failed.\n")));
+ else
+ ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT (" (%t) Something is wrong...\n")), -1);
+
+ requested_size = chunk_size - 1;
+ ACE_DEBUG ((LM_INFO,
+ ACE_TEXT (" (%t) Allocating chunk 3: %B bytes, ")
+ ACE_TEXT ("should succeed...\n"),
+ requested_size));
+ ptr3 = (char *) allocator.malloc (requested_size);
+ if (!ptr3)
+ ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT (" (%t) Failed, exiting.\n")), -1);
+
+ ACE_DEBUG ((LM_INFO, ACE_TEXT (" (%t) OK, succeeded.\n")));
+
+ // One chunk too far...
+ if ((depth = allocator.pool_depth ()) != 0)
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Expected pool depth 0 but reported %B\n"),
+ depth));
+ requested_size = chunk_size;
+ ACE_DEBUG ((LM_INFO,
+ ACE_TEXT (" (%t) Allocating chunk 4: %B bytes, no free chunks,")
+ ACE_TEXT (" should fail...\n"),
+ requested_size));
+
+ ptr4 = (char *) allocator.malloc (requested_size);
+ if (!ptr4)
+ ACE_DEBUG ((LM_INFO, ACE_TEXT (" (%t) OK, failed.\n")));
+ else
+ ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT (" (%t) Something is wrong\n")), -1);
+
+ ACE_DEBUG ((LM_INFO, ACE_TEXT (" (%t) Writing to chunk 1: %C\n"), str1));
+ ACE_OS::memcpy (ptr1, str1, chunk_size);
+ ptr1[chunk_size - 1] = '\0';
+ ACE_DEBUG ((LM_INFO, ACE_TEXT (" (%t) Reading from chunk 1: %C\n"), ptr1));
+
+ ACE_DEBUG ((LM_INFO, ACE_TEXT (" (%t) Writing to chunk 3: %C\n"), str3));
+ ACE_OS::memcpy (ptr3, str3, chunk_size);
+ ptr3[chunk_size - 1] = '\0';
+ ACE_DEBUG ((LM_INFO, ACE_TEXT (" (%t) Reading from chunk 3: %C\n"), ptr3));
+
+ ACE_DEBUG ((LM_INFO, ACE_TEXT (" (%t) Deallocating chunk 1\n")));
+ allocator.free (ptr1);
+
+ requested_size = chunk_size;
+ ACE_DEBUG ((LM_INFO, ACE_TEXT (" (%t) Allocating chunk: %B bytes, ")
+ ACE_TEXT ("should succeed...\n"),
+ requested_size));
+ ptr1 = (char *) allocator.malloc (requested_size);
+ if (!ptr1)
+ ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT (" (%t) Failed, exiting.\n")), -1);
+
+ ACE_DEBUG ((LM_INFO, ACE_TEXT (" (%t) OK, succeeded.\n")));
+
+ ACE_DEBUG ((LM_INFO, ACE_TEXT (" (%t) Deallocating chunk 1\n")));
+ allocator.free (ptr1);
+ ACE_DEBUG ((LM_INFO, ACE_TEXT (" (%t) Deallocating chunk 3\n")));
+ allocator.free (ptr3);
+ }
speed_test (loops);
stdspeed_test (loops);