From c1979bcaf5971a5a8f49762fc02697f419591cf3 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Thu, 22 Jun 2017 15:31:50 +0300 Subject: [PATCH] Check use counts in make_shared tests --- test/make_shared_esft_test.cpp | 11 +++++++++++ test/make_shared_test.cpp | 16 ++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/test/make_shared_esft_test.cpp b/test/make_shared_esft_test.cpp index cbd31d0..71b2912 100644 --- a/test/make_shared_esft_test.cpp +++ b/test/make_shared_esft_test.cpp @@ -41,6 +41,7 @@ int main() { boost::shared_ptr< X > px = boost::make_shared< X >(); + BOOST_TEST( px.use_count() == 1 ); BOOST_TEST( X::instances == 1 ); try @@ -63,6 +64,7 @@ int main() { boost::shared_ptr< X > px = boost::make_shared_noinit< X >(); + BOOST_TEST( px.use_count() == 1 ); BOOST_TEST( X::instances == 1 ); try @@ -85,6 +87,7 @@ int main() { boost::shared_ptr< X > px = boost::make_shared< X >( 1 ); + BOOST_TEST( px.use_count() == 1 ); BOOST_TEST( X::instances == 1 ); try @@ -107,6 +110,7 @@ int main() { boost::shared_ptr< X > px = boost::make_shared< X >( 1, 2 ); + BOOST_TEST( px.use_count() == 1 ); BOOST_TEST( X::instances == 1 ); try @@ -129,6 +133,7 @@ int main() { boost::shared_ptr< X > px = boost::make_shared< X >( 1, 2, 3 ); + BOOST_TEST( px.use_count() == 1 ); BOOST_TEST( X::instances == 1 ); try @@ -151,6 +156,7 @@ int main() { boost::shared_ptr< X > px = boost::make_shared< X >( 1, 2, 3, 4 ); + BOOST_TEST( px.use_count() == 1 ); BOOST_TEST( X::instances == 1 ); try @@ -173,6 +179,7 @@ int main() { boost::shared_ptr< X > px = boost::make_shared< X >( 1, 2, 3, 4, 5 ); + BOOST_TEST( px.use_count() == 1 ); BOOST_TEST( X::instances == 1 ); try @@ -195,6 +202,7 @@ int main() { boost::shared_ptr< X > px = boost::make_shared< X >( 1, 2, 3, 4, 5, 6 ); + BOOST_TEST( px.use_count() == 1 ); BOOST_TEST( X::instances == 1 ); try @@ -217,6 +225,7 @@ int main() { boost::shared_ptr< X > px = boost::make_shared< X >( 1, 2, 3, 4, 5, 6, 7 ); + BOOST_TEST( px.use_count() == 1 ); BOOST_TEST( X::instances == 1 ); try @@ -239,6 +248,7 @@ int main() { boost::shared_ptr< X > px = boost::make_shared< X >( 1, 2, 3, 4, 5, 6, 7, 8 ); + BOOST_TEST( px.use_count() == 1 ); BOOST_TEST( X::instances == 1 ); try @@ -261,6 +271,7 @@ int main() { boost::shared_ptr< X > px = boost::make_shared< X >( 1, 2, 3, 4, 5, 6, 7, 8, 9 ); + BOOST_TEST( px.use_count() == 1 ); BOOST_TEST( X::instances == 1 ); try diff --git a/test/make_shared_test.cpp b/test/make_shared_test.cpp index aff9b7c..9e3cdd3 100644 --- a/test/make_shared_test.cpp +++ b/test/make_shared_test.cpp @@ -58,6 +58,8 @@ int main() boost::shared_ptr< int > pi = boost::make_shared< int >(); BOOST_TEST( pi.get() != 0 ); + BOOST_TEST( pi.use_count() == 1 ); + BOOST_TEST( *pi == 0 ); } @@ -65,12 +67,15 @@ int main() boost::shared_ptr< int > pi = boost::make_shared_noinit< int >(); BOOST_TEST( pi.get() != 0 ); + BOOST_TEST( pi.use_count() == 1 ); } { boost::shared_ptr< int > pi = boost::make_shared< int >( 5 ); BOOST_TEST( pi.get() != 0 ); + BOOST_TEST( pi.use_count() == 1 ); + BOOST_TEST( *pi == 5 ); } @@ -82,6 +87,7 @@ int main() BOOST_TEST( X::instances == 1 ); BOOST_TEST( pi.get() != 0 ); + BOOST_TEST( pi.use_count() == 1 ); BOOST_TEST( pi->v == 0 ); pi.reset(); @@ -95,6 +101,7 @@ int main() BOOST_TEST( X::instances == 1 ); BOOST_TEST( pi.get() != 0 ); + BOOST_TEST( pi.use_count() == 1 ); BOOST_TEST( pi->v == 0 ); pi.reset(); @@ -108,6 +115,7 @@ int main() BOOST_TEST( X::instances == 1 ); BOOST_TEST( pi.get() != 0 ); + BOOST_TEST( pi.use_count() == 1 ); BOOST_TEST( pi->v == 1 ); pi.reset(); @@ -121,6 +129,7 @@ int main() BOOST_TEST( X::instances == 1 ); BOOST_TEST( pi.get() != 0 ); + BOOST_TEST( pi.use_count() == 1 ); BOOST_TEST( pi->v == 1+2 ); pi.reset(); @@ -134,6 +143,7 @@ int main() BOOST_TEST( X::instances == 1 ); BOOST_TEST( pi.get() != 0 ); + BOOST_TEST( pi.use_count() == 1 ); BOOST_TEST( pi->v == 1+2+3 ); pi.reset(); @@ -147,6 +157,7 @@ int main() BOOST_TEST( X::instances == 1 ); BOOST_TEST( pi.get() != 0 ); + BOOST_TEST( pi.use_count() == 1 ); BOOST_TEST( pi->v == 1+2+3+4 ); pi.reset(); @@ -160,6 +171,7 @@ int main() BOOST_TEST( X::instances == 1 ); BOOST_TEST( pi.get() != 0 ); + BOOST_TEST( pi.use_count() == 1 ); BOOST_TEST( pi->v == 1+2+3+4+5 ); pi.reset(); @@ -173,6 +185,7 @@ int main() BOOST_TEST( X::instances == 1 ); BOOST_TEST( pi.get() != 0 ); + BOOST_TEST( pi.use_count() == 1 ); BOOST_TEST( pi->v == 1+2+3+4+5+6 ); pi.reset(); @@ -186,6 +199,7 @@ int main() BOOST_TEST( X::instances == 1 ); BOOST_TEST( pi.get() != 0 ); + BOOST_TEST( pi.use_count() == 1 ); BOOST_TEST( pi->v == 1+2+3+4+5+6+7 ); pi.reset(); @@ -199,6 +213,7 @@ int main() BOOST_TEST( X::instances == 1 ); BOOST_TEST( pi.get() != 0 ); + BOOST_TEST( pi.use_count() == 1 ); BOOST_TEST( pi->v == 1+2+3+4+5+6+7+8 ); pi.reset(); @@ -212,6 +227,7 @@ int main() BOOST_TEST( X::instances == 1 ); BOOST_TEST( pi.get() != 0 ); + BOOST_TEST( pi.use_count() == 1 ); BOOST_TEST( pi->v == 1+2+3+4+5+6+7+8+9 ); pi.reset();