summaryrefslogtreecommitdiff
path: root/tests/Mem_Map_Test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/Mem_Map_Test.cpp')
-rw-r--r--tests/Mem_Map_Test.cpp162
1 files changed, 0 insertions, 162 deletions
diff --git a/tests/Mem_Map_Test.cpp b/tests/Mem_Map_Test.cpp
deleted file mode 100644
index ff5f2cd84c6..00000000000
--- a/tests/Mem_Map_Test.cpp
+++ /dev/null
@@ -1,162 +0,0 @@
-// $Id$
-
-// ============================================================================
-//
-// = LIBRARY
-// tests
-//
-// = FILENAME
-// Mem_Map_Test.cpp
-//
-// = DESCRIPTION
-// This test illustrates the use of ACE_Mem_Map to reverse a
-// file. The test first creates a dummy file for testing, then
-// reverses the file and then reverses it again to get back the
-// original file.
-//
-// = AUTHOR
-// Prashant Jain
-//
-// ============================================================================
-
-
-#include "ace/Mem_Map.h"
-#include "test_config.h"
-
-static const int FILE_SIZE = 10;
-static const int NUM_LINES = 15;
-
-static void
-reverse_file (ACE_HANDLE file_handle,
- char *array,
- int size)
-{
- int count = 0;
- size--;
-
- if (array[size] == '\0')
- array[size] = '\n';
-
- while (--size >= 0)
- {
- if (array[size] == '\n')
- {
- ACE_OS::write (file_handle, array + size + 1, count);
- ACE_OS::write (file_handle, "\n", 1);
- count = 0;
- }
- else
- count++;
- }
- ACE_OS::write (file_handle, array, count+1);
-}
-
-static int
-create_test_file (int size, int num_lines)
-{
- char *mybuf;
-
- ACE_NEW_RETURN (mybuf, char[size + 1], -1);
- char c = 'a';
- char d = c;
-
- ACE_HANDLE file_handle = ACE_OS::open (ACE_DEFAULT_TEST_FILE,
- O_RDWR | O_CREAT | O_TRUNC,
- 0666);
-
- if (file_handle == ACE_INVALID_HANDLE)
- ACE_ERROR_RETURN ((LM_ERROR, "Open failed\n"), -1);
-
- for (int j = 0; j < num_lines; j++)
- {
- for (int i = 0; i < size; i++)
- {
- mybuf[i] = c;
- c++;
- }
-
- mybuf[size] = '\0';
-
- c = ++d;
-
- if (ACE_OS::write (file_handle, mybuf, size) != size)
- ACE_ERROR_RETURN ((LM_ERROR, "write to file failed\n"), -1);
-
- if (ACE_OS::write (file_handle, "\n", 1) != 1)
- ACE_ERROR_RETURN ((LM_ERROR, "write to file failed\n"), -1);
- }
-
- ACE_OS::close (file_handle);
- return 0;
-}
-
-int
-main (int, char *[])
-{
- ACE_START_TEST ("Mem_Map_Test");
-
- // First create a test file to work on
- if (create_test_file (FILE_SIZE, NUM_LINES) != 0)
- ACE_ERROR_RETURN ((LM_ERROR, "Create test file failed\n"), -1);
-
- ACE_Mem_Map mmap;
-
- // First memory map the test file
- if (mmap.map (ACE_DEFAULT_TEST_FILE) == -1)
- ACE_ERROR_RETURN ((LM_ERROR, "%n: %p\n%a", "mmap"), -1);
-
- ACE_HANDLE temp_file_handle = ACE_OS::open (ACE_TEMP_FILE_NAME,
- O_RDWR | O_TRUNC | O_CREAT,
- 0666);
-
- // Now create a temporary file for intermediate processing
- if (temp_file_handle == ACE_INVALID_HANDLE)
- ACE_ERROR_RETURN ((LM_ERROR, "Open failed\n"), -1);
-
- // Reverse the original file and write the output to the temporary
- // file.
- reverse_file (temp_file_handle,
- (char *) mmap.addr (),
- mmap.size ());
-
- ACE_OS::close (temp_file_handle);
-
- ACE_Mem_Map temp_mmap;
-
- // Now memory map the temporary file
- if (temp_mmap.map (ACE_TEMP_FILE_NAME) == -1)
- ACE_ERROR_RETURN ((LM_ERROR, "%n: %p\n%a", "mmap"), -1);
-
- TCHAR temp_file_name[BUFSIZ];
-
- // Create another temporary file that would hold the output of
- // reversing the first temporary file
- ACE_OS::sprintf (temp_file_name, __TEXT ("%s%s"), ACE_TEMP_FILE_NAME, __TEXT ("2"));
- if ((temp_file_handle = ACE_OS::open (temp_file_name,
- O_RDWR | O_TRUNC | O_CREAT,
- 0666)) == ACE_INVALID_HANDLE)
- ACE_ERROR_RETURN ((LM_ERROR, "Open failed\n"), -1);
-
- // Now reverse the temporary file and write everything to the second
- // temporary file.
- reverse_file (temp_file_handle,
- (char *) temp_mmap.addr (),
- temp_mmap.size ());
-
- ACE_OS::close (temp_file_handle);
-
- // Memory map the second temporary file
- ACE_Mem_Map temp_mmap2;
-
- if (temp_mmap2.map (temp_file_name) == -1)
- ACE_ERROR_RETURN ((LM_ERROR, "%n: %p\n%a", "mmap"), -1);
-
- // Now do a memcmp -- the orig file and the second temporary file
- // should be identical.
- ACE_ASSERT (ACE_OS::memcmp (temp_mmap2.addr (),
- mmap.addr (),
- mmap.size ()) == 0);
-
- ACE_END_TEST;
- return 0;
-}