diff --git a/test/Jamfile b/test/Jamfile index 63e46cf..6e23b25 100644 --- a/test/Jamfile +++ b/test/Jamfile @@ -1,6 +1,6 @@ # Boost.SmartPtr Library test Jamfile # -# Copyright (c) 2003 Peter Dimov +# Copyright (c) 2003-2005 Peter Dimov # Copyright (c) 2003 Dave Abrahams # # Permission to copy, use, modify, sell and distribute this software @@ -28,6 +28,7 @@ DEPENDS all : smart_ptr ; [ run intrusive_ptr_test.cpp ] [ run atomic_count_test.cpp ] [ compile-fail shared_ptr_assign_fail.cpp ] + [ compile-fail shared_ptr_delete_fail.cpp ] ; # this one is too slow to run unless explicitly requested, and ALL diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index d4d7545..128853e 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -1,6 +1,6 @@ # Boost.SmartPtr Library test Jamfile # -# Copyright (c) 2003 Peter Dimov +# Copyright (c) 2003-2005 Peter Dimov # Copyright (c) 2003 Dave Abrahams # # Permission to copy, use, modify, sell and distribute this software @@ -22,16 +22,6 @@ import testing ; [ run intrusive_ptr_test.cpp ] [ run atomic_count_test.cpp ] [ compile-fail shared_ptr_assign_fail.cpp ] + [ compile-fail shared_ptr_delete_fail.cpp ] ; - - # this one is too slow to run unless explicitly requested, and ALL - # tests are run by default when this file is subincluded from - # boost/status, so it's guarded from that case. It will only be - # built from this directory when the targets "test" (all tests) or - # "shared_ptr_alloc_test" are requested. - #!!! - #if [ in-invocation-subdir ] - #{ - # run shared_ptr_alloc_test.cpp ; - #} } diff --git a/test/shared_ptr_delete_fail.cpp b/test/shared_ptr_delete_fail.cpp new file mode 100644 index 0000000..66cfafe --- /dev/null +++ b/test/shared_ptr_delete_fail.cpp @@ -0,0 +1,27 @@ +#include + +#if defined(BOOST_MSVC) +#pragma warning(disable: 4786) // identifier truncated in debug info +#pragma warning(disable: 4710) // function not inlined +#pragma warning(disable: 4711) // function selected for automatic inline expansion +#pragma warning(disable: 4514) // unreferenced inline removed +#endif + +// +// shared_ptr_delete_fail.cpp - a negative test for "delete sp;" +// +// Copyright 2005 Peter Dimov +// +// 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) +// + +#include + +int main() +{ + boost::shared_ptr p; + delete p; // must fail + return 0; +}