From 7d2b68bb89ea3c11e630784e7172e192a96facd9 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Thu, 5 Jun 2014 16:57:22 +0300 Subject: [PATCH] Add tests for lightweight_test.hpp. --- test/Jamfile.v2 | 8 ++++ test/lightweight_test_fail.cpp | 20 ++++++++++ test/lightweight_test_fail2.cpp | 18 +++++++++ test/lightweight_test_fail3.cpp | 20 ++++++++++ test/lightweight_test_fail4.cpp | 20 ++++++++++ test/lightweight_test_fail5.cpp | 26 +++++++++++++ test/lightweight_test_fail6.cpp | 27 +++++++++++++ test/lightweight_test_test.cpp | 68 +++++++++++++++++++++++++++++++++ 8 files changed, 207 insertions(+) create mode 100644 test/lightweight_test_fail.cpp create mode 100644 test/lightweight_test_fail2.cpp create mode 100644 test/lightweight_test_fail3.cpp create mode 100644 test/lightweight_test_fail4.cpp create mode 100644 test/lightweight_test_fail5.cpp create mode 100644 test/lightweight_test_fail6.cpp create mode 100644 test/lightweight_test_test.cpp diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index 8746d8b..4412cbc 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -49,4 +49,12 @@ test-suite "core" [ run visit_each_test.cpp ] [ run get_pointer_test.cpp ] + + [ run lightweight_test_test.cpp ] + [ run-fail lightweight_test_fail.cpp ] + [ run-fail lightweight_test_fail2.cpp ] + [ run-fail lightweight_test_fail3.cpp ] + [ run-fail lightweight_test_fail4.cpp ] + [ run-fail lightweight_test_fail5.cpp ] + [ run-fail lightweight_test_fail6.cpp ] ; diff --git a/test/lightweight_test_fail.cpp b/test/lightweight_test_fail.cpp new file mode 100644 index 0000000..ec329b3 --- /dev/null +++ b/test/lightweight_test_fail.cpp @@ -0,0 +1,20 @@ +// +// Negative test for BOOST_TEST +// +// Copyright (c) 2014 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() +{ + int x = 0; + + BOOST_TEST( x == 1 ); // will fail + + return boost::report_errors(); +} diff --git a/test/lightweight_test_fail2.cpp b/test/lightweight_test_fail2.cpp new file mode 100644 index 0000000..dcab724 --- /dev/null +++ b/test/lightweight_test_fail2.cpp @@ -0,0 +1,18 @@ +// +// Test for BOOST_ERROR +// +// Copyright (c) 2014 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_ERROR( "expected failure" ); + + return boost::report_errors(); +} diff --git a/test/lightweight_test_fail3.cpp b/test/lightweight_test_fail3.cpp new file mode 100644 index 0000000..1e20842 --- /dev/null +++ b/test/lightweight_test_fail3.cpp @@ -0,0 +1,20 @@ +// +// Negative test for BOOST_TEST_EQ +// +// Copyright (c) 2014 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() +{ + int x = 0; + + BOOST_TEST_EQ( x, 1 ); + + return boost::report_errors(); +} diff --git a/test/lightweight_test_fail4.cpp b/test/lightweight_test_fail4.cpp new file mode 100644 index 0000000..492699a --- /dev/null +++ b/test/lightweight_test_fail4.cpp @@ -0,0 +1,20 @@ +// +// Negative test for BOOST_TEST_NE +// +// Copyright (c) 2014 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() +{ + int x = 0; + + BOOST_TEST_NE( x, 0 ); + + return boost::report_errors(); +} diff --git a/test/lightweight_test_fail5.cpp b/test/lightweight_test_fail5.cpp new file mode 100644 index 0000000..5cc4659 --- /dev/null +++ b/test/lightweight_test_fail5.cpp @@ -0,0 +1,26 @@ +// +// Negative test for BOOST_TEST_THROWS +// +// Copyright (c) 2014 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 + +struct X +{ +}; + +void f() +{ +} + +int main() +{ + BOOST_TEST_THROWS( f(), X ); + + return boost::report_errors(); +} diff --git a/test/lightweight_test_fail6.cpp b/test/lightweight_test_fail6.cpp new file mode 100644 index 0000000..10544ab --- /dev/null +++ b/test/lightweight_test_fail6.cpp @@ -0,0 +1,27 @@ +// +// Negative test for BOOST_TEST_THROWS +// +// Copyright (c) 2014 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 + +struct X +{ +}; + +void f() +{ + throw 5; +} + +int main() +{ + BOOST_TEST_THROWS( f(), X ); + + return boost::report_errors(); +} diff --git a/test/lightweight_test_test.cpp b/test/lightweight_test_test.cpp new file mode 100644 index 0000000..475371c --- /dev/null +++ b/test/lightweight_test_test.cpp @@ -0,0 +1,68 @@ +// +// Test for lightweight_test.hpp +// +// Copyright (c) 2014 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 + +struct X +{ +}; + +void f( bool x ) +{ + if( x ) + { + throw X(); + } + else + { + throw 5; + } +} + +int main() +{ + int x = 0; + + // BOOST_TEST + + BOOST_TEST( x == 0 ); + BOOST_TEST( ++x == 1 ); + BOOST_TEST( x++ == 1 ); + BOOST_TEST( x == 2? true: false ); + BOOST_TEST( x == 2? &x: 0 ); + + // BOOST_TEST_EQ + + BOOST_TEST_EQ( x, 2 ); + BOOST_TEST_EQ( ++x, 3 ); + BOOST_TEST_EQ( x++, 3 ); + + int y = 4; + + BOOST_TEST_EQ( ++x, ++y ); + BOOST_TEST_EQ( x++, y++ ); + + // BOOST_TEST_NE + + BOOST_TEST_NE( ++x, y ); + BOOST_TEST_NE( &x, &y ); + + // BOOST_TEST_THROWS + + BOOST_TEST_THROWS( throw X(), X ); + BOOST_TEST_THROWS( throw 1, int ); + + BOOST_TEST_THROWS( f(true), X ); + BOOST_TEST_THROWS( f(false), int ); + + // + + return boost::report_errors(); +}