Boost logo

Boost-Commit :

From: igaztanaga_at_[hidden]
Date: 2007-11-18 05:51:20


Author: igaztanaga
Date: 2007-11-18 05:51:19 EST (Sun, 18 Nov 2007)
New Revision: 41197
URL: http://svn.boost.org/trac/boost/changeset/41197

Log:
Interprocess changes to support systems with filesystem-based shared memory
Added:
   trunk/libs/interprocess/test/node_pool_test.hpp (contents, props changed)
Text files modified:
   trunk/libs/interprocess/test/adaptive_node_pool_test.cpp | 14 ++-
   trunk/libs/interprocess/test/data_test.cpp | 1
   trunk/libs/interprocess/test/dummy_test_allocator.hpp | 14 +-
   trunk/libs/interprocess/test/expand_bwd_test_allocator.hpp | 3
   trunk/libs/interprocess/test/file_mapping_test.cpp | 1
   trunk/libs/interprocess/test/flat_tree_test.cpp | 19 +++++
   trunk/libs/interprocess/test/map_test.hpp | 11 +-
   trunk/libs/interprocess/test/memory_algorithm_test_template.hpp | 114 ++++++++++++++++++++++++++++++
   trunk/libs/interprocess/test/node_pool_test.cpp | 148 +--------------------------------------
   trunk/libs/interprocess/test/null_index_test.cpp | 2
   trunk/libs/interprocess/test/set_test.hpp | 1
   trunk/libs/interprocess/test/sharable_mutex_test_template.hpp | 2
   trunk/libs/interprocess/test/shared_memory_mapping_test.cpp | 1
   trunk/libs/interprocess/test/shared_memory_test.cpp | 1
   trunk/libs/interprocess/test/tree_test.cpp | 1
   trunk/libs/interprocess/test/windows_shared_memory_mapping_test.cpp | 1
   trunk/libs/interprocess/test/windows_shared_memory_test.cpp | 1
   17 files changed, 171 insertions(+), 164 deletions(-)

Modified: trunk/libs/interprocess/test/adaptive_node_pool_test.cpp
==============================================================================
--- trunk/libs/interprocess/test/adaptive_node_pool_test.cpp (original)
+++ trunk/libs/interprocess/test/adaptive_node_pool_test.cpp 2007-11-18 05:51:19 EST (Sun, 18 Nov 2007)
@@ -7,15 +7,21 @@
 // See http://www.boost.org/libs/interprocess for documentation.
 //
 //////////////////////////////////////////////////////////////////////////////
-
 #include <boost/interprocess/detail/config_begin.hpp>
-#include <boost/interprocess/managed_shared_memory.hpp>
+#include "node_pool_test.hpp"
 #include <boost/interprocess/allocators/detail/adaptive_node_pool.hpp>
 
-using namespace boost::interprocess;
-
 int main ()
 {
+ using namespace boost::interprocess;
+ typedef managed_shared_memory::segment_manager segment_manager;
+
+ typedef detail::private_adaptive_node_pool
+ <segment_manager, 4, 64, 64> node_pool_t;
+
+ if(!test::test_all_node_pool<node_pool_t>())
+ return 1;
+
    return 0;
 }
 

Modified: trunk/libs/interprocess/test/data_test.cpp
==============================================================================
--- trunk/libs/interprocess/test/data_test.cpp (original)
+++ trunk/libs/interprocess/test/data_test.cpp 2007-11-18 05:51:19 EST (Sun, 18 Nov 2007)
@@ -17,6 +17,7 @@
 #include <algorithm>
 #include <functional>
 #include <string>
+#include <cstdio> //std::remove
 #include "print_container.hpp"
 #include "get_process_id_name.hpp"
 

Modified: trunk/libs/interprocess/test/dummy_test_allocator.hpp
==============================================================================
--- trunk/libs/interprocess/test/dummy_test_allocator.hpp (original)
+++ trunk/libs/interprocess/test/dummy_test_allocator.hpp 2007-11-18 05:51:19 EST (Sun, 18 Nov 2007)
@@ -28,7 +28,7 @@
 #include <algorithm>
 #include <cstddef>
 #include <stdexcept>
-#include <assert.h>
+#include <cassert>
 
 //!\file
 //!Describes an allocator to test expand capabilities
@@ -75,12 +75,12 @@
    {}
 
    //!Constructor from other dummy_test_allocator. Never throws
- dummy_test_allocator(const dummy_test_allocator &other)
+ dummy_test_allocator(const dummy_test_allocator &)
    {}
 
    //!Constructor from related dummy_test_allocator. Never throws
    template<class T2>
- dummy_test_allocator(const dummy_test_allocator<T2> &other)
+ dummy_test_allocator(const dummy_test_allocator<T2> &)
    {}
 /*
    pointer address(reference value)
@@ -137,14 +137,14 @@
 
 //!Equality test for same type of dummy_test_allocator
 template<class T> inline
-bool operator==(const dummy_test_allocator<T> &alloc1,
- const dummy_test_allocator<T> &alloc2)
+bool operator==(const dummy_test_allocator<T> &,
+ const dummy_test_allocator<T> &)
 { return false; }
 
 //!Inequality test for same type of dummy_test_allocator
 template<class T> inline
-bool operator!=(const dummy_test_allocator<T> &alloc1,
- const dummy_test_allocator<T> &alloc2)
+bool operator!=(const dummy_test_allocator<T> &,
+ const dummy_test_allocator<T> &)
 { return true; }
 
 } //namespace test {

Modified: trunk/libs/interprocess/test/expand_bwd_test_allocator.hpp
==============================================================================
--- trunk/libs/interprocess/test/expand_bwd_test_allocator.hpp (original)
+++ trunk/libs/interprocess/test/expand_bwd_test_allocator.hpp 2007-11-18 05:51:19 EST (Sun, 18 Nov 2007)
@@ -28,7 +28,7 @@
 #include <algorithm>
 #include <cstddef>
 #include <stdexcept>
-#include <assert.h>
+#include <cassert>
 
 //!\file
 //!Describes an allocator to test expand capabilities
@@ -147,7 +147,6 @@
          assert(0);
          throw std::bad_alloc();
       }
- return std::pair<pointer, bool>(0, true);
    }
 
    //!Returns maximum the number of objects the previously allocated memory

Modified: trunk/libs/interprocess/test/file_mapping_test.cpp
==============================================================================
--- trunk/libs/interprocess/test/file_mapping_test.cpp (original)
+++ trunk/libs/interprocess/test/file_mapping_test.cpp 2007-11-18 05:51:19 EST (Sun, 18 Nov 2007)
@@ -16,6 +16,7 @@
 #include <memory>
 #include <cstdio>
 #include <string>
+#include <cstdio> //std::remove
 #include "get_process_id_name.hpp"
 
 using namespace boost::interprocess;

Modified: trunk/libs/interprocess/test/flat_tree_test.cpp
==============================================================================
--- trunk/libs/interprocess/test/flat_tree_test.cpp (original)
+++ trunk/libs/interprocess/test/flat_tree_test.cpp 2007-11-18 05:51:19 EST (Sun, 18 Nov 2007)
@@ -123,6 +123,16 @@
       std::cout << "Error in set_test<MyShmSet>" << std::endl;
       return 1;
    }
+
+ if (0 != set_test_copyable<my_managed_shared_memory
+ ,MyShmSet
+ ,MyStdSet
+ ,MyShmMultiSet
+ ,MyStdMultiSet>()){
+ std::cout << "Error in set_test<MyShmSet>" << std::endl;
+ return 1;
+ }
+
    if (0 != set_test<my_managed_shared_memory
                   ,MyMovableShmSet
                   ,MyStdSet
@@ -150,6 +160,15 @@
       return 1;
    }
 
+ if (0 != map_test_copyable<my_managed_shared_memory
+ ,MyShmMap
+ ,MyStdMap
+ ,MyShmMultiMap
+ ,MyStdMultiMap>()){
+ std::cout << "Error in set_test<MyShmMap>" << std::endl;
+ return 1;
+ }
+
 // if (0 != map_test<my_managed_shared_memory
 // ,MyMovableShmMap
 // ,MyStdMap

Modified: trunk/libs/interprocess/test/map_test.hpp
==============================================================================
--- trunk/libs/interprocess/test/map_test.hpp (original)
+++ trunk/libs/interprocess/test/map_test.hpp 2007-11-18 05:51:19 EST (Sun, 18 Nov 2007)
@@ -97,19 +97,20 @@
 
          MyStdMap *stdmap2 = new MyStdMap(aux_vect2, aux_vect2 + 50);
 
- MyShmMultiMap *shmmultiset2 =
+ MyShmMultiMap *shmmultimap2 =
             segment.template construct<MyShmMultiMap>("MyShmMultiMap2")
                (detail::make_move_iterator(&aux_vect3[0])
                , detail::make_move_iterator(aux_vect3 + 50)
                , std::less<IntType>(), segment.get_segment_manager());
 
- MyStdMultiMap *stdmultiset2 = new MyStdMultiMap(aux_vect2, aux_vect2 + 50);
+ MyStdMultiMap *stdmultimap2 = new MyStdMultiMap(aux_vect2, aux_vect2 + 50);
          if(!CheckEqualContainers(shmmap2, stdmap2)) return 1;
- if(!CheckEqualContainers(shmmultiset2, stdmultiset2)) return 1;
+ if(!CheckEqualContainers(shmmultimap2, stdmultimap2)) return 1;
+
          segment.destroy_ptr(shmmap2);
- segment.destroy_ptr(shmmultiset2);
+ segment.destroy_ptr(shmmultimap2);
          delete stdmap2;
- delete stdmultiset2;
+ delete stdmultimap2;
       }
 
       int i, j;

Modified: trunk/libs/interprocess/test/memory_algorithm_test_template.hpp
==============================================================================
--- trunk/libs/interprocess/test/memory_algorithm_test_template.hpp (original)
+++ trunk/libs/interprocess/test/memory_algorithm_test_template.hpp 2007-11-18 05:51:19 EST (Sun, 18 Nov 2007)
@@ -17,6 +17,7 @@
 #include <new>
 #include <utility>
 #include <cstring>
+#include <cstdio> //std::remove
 
 namespace boost { namespace interprocess { namespace test {
 
@@ -508,6 +509,102 @@
    return true;
 }
 
+
+//This test uses tests grow and shrink_to_fit functions
+template<class Allocator>
+bool test_grow_shrink_to_fit(Allocator &a)
+{
+ std::vector<void*> buffers;
+
+ std::size_t original_size = a.get_size();
+ std::size_t original_free = a.get_free_memory();
+
+ a.shrink_to_fit();
+
+ if(!a.all_memory_deallocated() && a.check_sanity())
+ return false;
+
+ std::size_t shrunk_size = a.get_size();
+ std::size_t shrunk_free_memory = a.get_free_memory();
+ if(shrunk_size != a.get_min_size())
+ return 1;
+
+ a.grow(original_size - shrunk_size);
+
+ if(!a.all_memory_deallocated() && a.check_sanity())
+ return false;
+
+ if(original_size != a.get_size())
+ return false;
+ if(original_free != a.get_free_memory())
+ return false;
+
+ //Allocate memory
+ for(int i = 0; true; ++i){
+ void *ptr = a.allocate(i, std::nothrow);
+ if(!ptr)
+ break;
+ buffers.push_back(ptr);
+ }
+
+ //Now deallocate the half of the blocks
+ //so expand maybe can merge new free blocks
+ for(int i = 0, max = (int)buffers.size()
+ ;i < max
+ ;++i){
+ if(i%2){
+ a.deallocate(buffers[i]);
+ buffers[i] = 0;
+ }
+ }
+
+ //Deallocate the rest of the blocks
+
+ //Deallocate it in non sequential order
+ for(int j = 0, max = (int)buffers.size()
+ ;j < max
+ ;++j){
+ int pos = (j%4)*((int)buffers.size())/4;
+ std::size_t old_free = a.get_free_memory();
+ a.shrink_to_fit();
+ if(!a.check_sanity()) return false;
+ if(original_size < a.get_size()) return false;
+ if(old_free < a.get_free_memory()) return false;
+
+ a.grow(original_size - a.get_size());
+
+ if(!a.check_sanity()) return false;
+ if(original_size != a.get_size()) return false;
+ if(old_free != a.get_free_memory()) return false;
+
+ a.deallocate(buffers[pos]);
+ buffers.erase(buffers.begin()+pos);
+ }
+
+ //Now shrink it to the maximum
+ a.shrink_to_fit();
+
+ if(a.get_size() != a.get_min_size())
+ return 1;
+
+ if(shrunk_free_memory != a.get_free_memory())
+ return 1;
+
+ if(!a.all_memory_deallocated() && a.check_sanity())
+ return false;
+
+ a.grow(original_size - shrunk_size);
+
+ if(original_size != a.get_size())
+ return false;
+ if(original_free != a.get_free_memory())
+ return false;
+
+ if(!a.all_memory_deallocated() && a.check_sanity())
+ return false;
+ return true;
+}
+
 //This test allocates multiple values until there is no more memory
 //and after that deallocates all in the inverse order
 template<class Allocator>
@@ -526,6 +623,8 @@
          void *ptr = a.allocate(i, std::nothrow);
          if(!ptr)
             break;
+ if(!a.check_sanity())
+ return false;
          buffers2.push_back(ptr);
       }
 
@@ -540,6 +639,9 @@
          }
       }
 
+ if(!a.check_sanity())
+ return false;
+
       std::vector<void*> buffers;
       for(int i = 0; true; ++i){
          multiallocation_iterator it = a.allocate_many(i+1, (i+1)*2, std::nothrow);
@@ -555,6 +657,9 @@
             return false;
       }
 
+ if(!a.check_sanity())
+ return false;
+
       switch(t){
          case DirectDeallocation:
          {
@@ -811,6 +916,15 @@
       return false;
    }
 
+ std::cout << "Starting test_grow_shrink_to_fit. Class: "
+ << typeid(a).name() << std::endl;
+
+ if(!test_grow_shrink_to_fit(a)){
+ std::cout << "test_grow_shrink_to_fit failed. Class: "
+ << typeid(a).name() << std::endl;
+ return false;
+ }
+
    return true;
 }
 

Modified: trunk/libs/interprocess/test/node_pool_test.cpp
==============================================================================
--- trunk/libs/interprocess/test/node_pool_test.cpp (original)
+++ trunk/libs/interprocess/test/node_pool_test.cpp 2007-11-18 05:51:19 EST (Sun, 18 Nov 2007)
@@ -8,157 +8,19 @@
 //
 //////////////////////////////////////////////////////////////////////////////
 #include <boost/interprocess/detail/config_begin.hpp>
-#include <boost/interprocess/managed_shared_memory.hpp>
+#include "node_pool_test.hpp"
 #include <boost/interprocess/allocators/detail/node_pool.hpp>
-#include <boost/interprocess/smart_ptr/unique_ptr.hpp>
-#include <boost/interprocess/smart_ptr/deleter.hpp>
-#include <boost/interprocess/detail/type_traits.hpp>
-#include <vector>
-#include <cstddef>
-#include <string>
-#include "get_process_id_name.hpp"
 
-using namespace boost::interprocess;
 
-template <class NodePool>
-struct test_node_pool
-{
- static bool allocate_then_deallocate(NodePool &pool);
- static bool deallocate_free_chunks(NodePool &pool);
-};
-
-template <class NodePool>
-bool test_node_pool<NodePool>::allocate_then_deallocate(NodePool &pool)
-{
- const std::size_t num_alloc = 1 + 3*NodePool::nodes_per_chunk;
-
- std::vector<void*> nodes;
-
- //Precondition, the pool must be empty
- if(0 != pool.num_free_nodes()){
- return false;
- }
-
- //First allocate nodes
- for(std::size_t i = 0; i < num_alloc; ++i){
- nodes.push_back(pool.allocate(1));
- }
-
- //Check that the free count is correct
- if((NodePool::nodes_per_chunk - 1) != pool.num_free_nodes()){
- return false;
- }
-
- //Now deallocate all and check again
- for(std::size_t i = 0; i < num_alloc; ++i){
- pool.deallocate(nodes[i], 1);
- }
-
- //Check that the free count is correct
- if(4*NodePool::nodes_per_chunk != pool.num_free_nodes()){
- return false;
- }
-
- pool.deallocate_free_chunks();
-
- if(0 != pool.num_free_nodes()){
- return false;
- }
-
- return true;
-}
-
-template <class NodePool>
-bool test_node_pool<NodePool>::deallocate_free_chunks(NodePool &pool)
-{
- const std::size_t max_chunks = 10;
- const std::size_t max_nodes = max_chunks*NodePool::nodes_per_chunk;
- const std::size_t nodes_per_chunk = NodePool::nodes_per_chunk;
-
- std::vector<void*> nodes;
-
- //Precondition, the pool must be empty
- if(0 != pool.num_free_nodes()){
- return false;
- }
-
- //First allocate nodes
- for(std::size_t i = 0; i < max_nodes; ++i){
- nodes.push_back(pool.allocate(1));
- }
-
- //Check that the free count is correct
- if(0 != pool.num_free_nodes()){
- return false;
- }
-
- //Now deallocate one of each chunk per iteration
- for(std::size_t node_i = 0; node_i < nodes_per_chunk; ++node_i){
- //Deallocate a node per chunk
- for(std::size_t i = 0; i < max_chunks; ++i){
- pool.deallocate(nodes[i*nodes_per_chunk + node_i], 1);
- }
-
- //Check that the free count is correct
- if(max_chunks*(node_i+1) != pool.num_free_nodes()){
- return false;
- }
-
- //Now try to deallocate free chunks
- pool.deallocate_free_chunks();
-
- //Until we don't deallocate the last node of every chunk
- //no node should be deallocated
- if(node_i != (nodes_per_chunk - 1)){
- if(max_chunks*(node_i+1) != pool.num_free_nodes()){
- return false;
- }
- }
- else{
- //If this is the last iteration, all the memory should
- //have been deallocated.
- if(0 != pool.num_free_nodes()){
- return false;
- }
- }
- }
-
- return true;
-}
 
-template<std::size_t NodeSize, std::size_t NodesPerChunk>
-bool test_all_node_pool()
+int main ()
 {
+ using namespace boost::interprocess;
    typedef managed_shared_memory::segment_manager segment_manager;
    typedef detail::private_node_pool
- <segment_manager, NodeSize, NodesPerChunk> node_pool_t;
+ <segment_manager, 4, 64> node_pool_t;
 
- typedef test_node_pool<node_pool_t> test_node_pool_t;
- shared_memory_object::remove(test::get_process_id_name());
- {
- managed_shared_memory shm(create_only, test::get_process_id_name(), 16*1024);
-
- typedef deleter<node_pool_t, segment_manager> deleter_t;
- typedef unique_ptr<node_pool_t, deleter_t> unique_ptr_t;
-
- //Delete the pool when the tests end
- unique_ptr_t p
- (shm.construct<node_pool_t>(anonymous_instance)(shm.get_segment_manager())
- ,deleter_t(shm.get_segment_manager()));
-
- //Now call each test
- if(!test_node_pool_t::allocate_then_deallocate(*p))
- return false;
- if(!test_node_pool_t::deallocate_free_chunks(*p))
- return false;
- }
- shared_memory_object::remove(test::get_process_id_name());
- return true;
-}
-
-int main ()
-{
- if(!test_all_node_pool<4, 64>())
+ if(!test::test_all_node_pool<node_pool_t>())
       return 1;
 
    return 0;

Added: trunk/libs/interprocess/test/node_pool_test.hpp
==============================================================================
--- (empty file)
+++ trunk/libs/interprocess/test/node_pool_test.hpp 2007-11-18 05:51:19 EST (Sun, 18 Nov 2007)
@@ -0,0 +1,163 @@
+//////////////////////////////////////////////////////////////////////////////
+//
+// (C) Copyright Ion Gaztanaga 2007. Distributed under the Boost
+// Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/interprocess for documentation.
+//
+//////////////////////////////////////////////////////////////////////////////
+#include <boost/interprocess/detail/config_begin.hpp>
+#include <boost/interprocess/managed_shared_memory.hpp>
+#include <boost/interprocess/smart_ptr/unique_ptr.hpp>
+#include <boost/interprocess/smart_ptr/deleter.hpp>
+#include <boost/interprocess/detail/type_traits.hpp>
+#include <vector>
+#include <cstddef>
+#include <string>
+#include "get_process_id_name.hpp"
+
+namespace boost {
+namespace interprocess {
+namespace test {
+
+template <class NodePool>
+struct test_node_pool
+{
+ static bool allocate_then_deallocate(NodePool &pool);
+ static bool deallocate_free_chunks(NodePool &pool);
+};
+
+template <class NodePool>
+bool test_node_pool<NodePool>::allocate_then_deallocate(NodePool &pool)
+{
+ const std::size_t num_alloc = 1 + 3*pool.get_real_num_node();
+
+ std::vector<void*> nodes;
+
+ //Precondition, the pool must be empty
+ if(0 != pool.num_free_nodes()){
+ return false;
+ }
+
+ //First allocate nodes
+ for(std::size_t i = 0; i < num_alloc; ++i){
+ nodes.push_back(pool.allocate(1));
+ }
+
+ //Check that the free count is correct
+ if((pool.get_real_num_node() - 1) != pool.num_free_nodes()){
+ return false;
+ }
+
+ //Now deallocate all and check again
+ for(std::size_t i = 0; i < num_alloc; ++i){
+ pool.deallocate(nodes[i], 1);
+ }
+
+ //Check that the free count is correct
+ if(4*pool.get_real_num_node() != pool.num_free_nodes()){
+ return false;
+ }
+
+ pool.deallocate_free_chunks();
+
+ if(0 != pool.num_free_nodes()){
+ return false;
+ }
+
+ return true;
+}
+
+template <class NodePool>
+bool test_node_pool<NodePool>::deallocate_free_chunks(NodePool &pool)
+{
+ const std::size_t max_chunks = 10;
+ const std::size_t max_nodes = max_chunks*pool.get_real_num_node();
+ const std::size_t nodes_per_chunk = pool.get_real_num_node();
+
+ std::vector<void*> nodes;
+
+ //Precondition, the pool must be empty
+ if(0 != pool.num_free_nodes()){
+ return false;
+ }
+
+ //First allocate nodes
+ for(std::size_t i = 0; i < max_nodes; ++i){
+ nodes.push_back(pool.allocate(1));
+ }
+
+ //Check that the free count is correct
+ if(0 != pool.num_free_nodes()){
+ return false;
+ }
+
+ //Now deallocate one of each chunk per iteration
+ for(std::size_t node_i = 0; node_i < nodes_per_chunk; ++node_i){
+ //Deallocate a node per chunk
+ for(std::size_t i = 0; i < max_chunks; ++i){
+ pool.deallocate(nodes[i*nodes_per_chunk + node_i], 1);
+ }
+
+ //Check that the free count is correct
+ if(max_chunks*(node_i+1) != pool.num_free_nodes()){
+ return false;
+ }
+
+ //Now try to deallocate free chunks
+ pool.deallocate_free_chunks();
+
+ //Until we don't deallocate the last node of every chunk
+ //no node should be deallocated
+ if(node_i != (nodes_per_chunk - 1)){
+ if(max_chunks*(node_i+1) != pool.num_free_nodes()){
+ return false;
+ }
+ }
+ else{
+ //If this is the last iteration, all the memory should
+ //have been deallocated.
+ if(0 != pool.num_free_nodes()){
+ return false;
+ }
+ }
+ }
+
+ return true;
+}
+
+template<class node_pool_t>
+bool test_all_node_pool()
+{
+ using namespace boost::interprocess;
+ typedef managed_shared_memory::segment_manager segment_manager;
+
+ typedef boost::interprocess::test::test_node_pool<node_pool_t> test_node_pool_t;
+ shared_memory_object::remove(test::get_process_id_name());
+ {
+ managed_shared_memory shm(create_only, test::get_process_id_name(), 16*1024);
+
+ typedef deleter<node_pool_t, segment_manager> deleter_t;
+ typedef unique_ptr<node_pool_t, deleter_t> unique_ptr_t;
+
+ //Delete the pool when the tests end
+ unique_ptr_t p
+ (shm.construct<node_pool_t>(anonymous_instance)(shm.get_segment_manager())
+ ,deleter_t(shm.get_segment_manager()));
+
+ //Now call each test
+ if(!test_node_pool_t::allocate_then_deallocate(*p))
+ return false;
+ if(!test_node_pool_t::deallocate_free_chunks(*p))
+ return false;
+ }
+ shared_memory_object::remove(test::get_process_id_name());
+ return true;
+}
+
+} //namespace test {
+} //namespace interprocess {
+} //namespace boost {
+
+#include <boost/interprocess/detail/config_end.hpp>

Modified: trunk/libs/interprocess/test/null_index_test.cpp
==============================================================================
--- trunk/libs/interprocess/test/null_index_test.cpp (original)
+++ trunk/libs/interprocess/test/null_index_test.cpp 2007-11-18 05:51:19 EST (Sun, 18 Nov 2007)
@@ -13,7 +13,7 @@
 #include <boost/interprocess/managed_shared_memory.hpp>
 #include <boost/interprocess/mem_algo/simple_seq_fit.hpp>
 #include <cstddef>
-#include <assert.h>
+#include <cassert>
 #include <string>
 #include "get_process_id_name.hpp"
 

Modified: trunk/libs/interprocess/test/set_test.hpp
==============================================================================
--- trunk/libs/interprocess/test/set_test.hpp (original)
+++ trunk/libs/interprocess/test/set_test.hpp 2007-11-18 05:51:19 EST (Sun, 18 Nov 2007)
@@ -98,6 +98,7 @@
             std::cout << "Error in construct<MyShmMultiSet>(MyShmMultiSet2)" << std::endl;
             return 1;
          }
+
          segment.destroy_ptr(shmset2);
          segment.destroy_ptr(shmmultiset2);
          delete stdset2;

Modified: trunk/libs/interprocess/test/sharable_mutex_test_template.hpp
==============================================================================
--- trunk/libs/interprocess/test/sharable_mutex_test_template.hpp (original)
+++ trunk/libs/interprocess/test/sharable_mutex_test_template.hpp 2007-11-18 05:51:19 EST (Sun, 18 Nov 2007)
@@ -30,7 +30,7 @@
 #include <boost/interprocess/sync/sharable_lock.hpp>
 #include <boost/interprocess/sync/scoped_lock.hpp>
 #include <iostream>
-#include <assert.h>
+#include <cassert>
 #include "util.hpp"
 
 namespace boost { namespace interprocess { namespace test {

Modified: trunk/libs/interprocess/test/shared_memory_mapping_test.cpp
==============================================================================
--- trunk/libs/interprocess/test/shared_memory_mapping_test.cpp (original)
+++ trunk/libs/interprocess/test/shared_memory_mapping_test.cpp 2007-11-18 05:51:19 EST (Sun, 18 Nov 2007)
@@ -117,6 +117,7 @@
    catch(std::exception &exc){
       shared_memory_object::remove(test::get_process_id_name());
       std::cout << "Unhandled exception: " << exc.what() << std::endl;
+ return 1;
    }
    shared_memory_object::remove(test::get_process_id_name());
    return 0;

Modified: trunk/libs/interprocess/test/shared_memory_test.cpp
==============================================================================
--- trunk/libs/interprocess/test/shared_memory_test.cpp (original)
+++ trunk/libs/interprocess/test/shared_memory_test.cpp 2007-11-18 05:51:19 EST (Sun, 18 Nov 2007)
@@ -79,6 +79,7 @@
    catch(std::exception &ex){
       shared_memory_object::remove(ShmName);
       std::cout << ex.what() << std::endl;
+ return 1;
    }
    shared_memory_object::remove(ShmName);
    return 0;

Modified: trunk/libs/interprocess/test/tree_test.cpp
==============================================================================
--- trunk/libs/interprocess/test/tree_test.cpp (original)
+++ trunk/libs/interprocess/test/tree_test.cpp 2007-11-18 05:51:19 EST (Sun, 18 Nov 2007)
@@ -132,7 +132,6 @@
       return 1;
    }
 
- using namespace boost::interprocess::detail;
    if(0 != test::set_test_copyable<my_managed_shared_memory
                         ,MyShmSet
                         ,MyStdSet

Modified: trunk/libs/interprocess/test/windows_shared_memory_mapping_test.cpp
==============================================================================
--- trunk/libs/interprocess/test/windows_shared_memory_mapping_test.cpp (original)
+++ trunk/libs/interprocess/test/windows_shared_memory_mapping_test.cpp 2007-11-18 05:51:19 EST (Sun, 18 Nov 2007)
@@ -116,6 +116,7 @@
    }
    catch(std::exception &exc){
       std::cout << "Unhandled exception: " << exc.what() << std::endl;
+ return 1;
    }
 
    return 0;

Modified: trunk/libs/interprocess/test/windows_shared_memory_test.cpp
==============================================================================
--- trunk/libs/interprocess/test/windows_shared_memory_test.cpp (original)
+++ trunk/libs/interprocess/test/windows_shared_memory_test.cpp 2007-11-18 05:51:19 EST (Sun, 18 Nov 2007)
@@ -66,6 +66,7 @@
    }
    catch(std::exception &ex){
       std::cout << ex.what() << std::endl;
+ return 1;
    }
    return 0;
 }


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk