diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-21 11:54:28 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-21 11:54:28 +0000 |
commit | e6918187568dbd01842d8d1d2c808ce16a894239 (patch) | |
tree | 64f88b554b444a49f656b6c656111a145cbbaa28 /src/boost/tools/cmake/test/boost_test | |
parent | Initial commit. (diff) | |
download | ceph-upstream/18.2.2.tar.xz ceph-upstream/18.2.2.zip |
Adding upstream version 18.2.2.upstream/18.2.2
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/boost/tools/cmake/test/boost_test')
14 files changed, 217 insertions, 0 deletions
diff --git a/src/boost/tools/cmake/test/boost_test/CMakeLists.txt b/src/boost/tools/cmake/test/boost_test/CMakeLists.txt new file mode 100644 index 000000000..22dfaad0b --- /dev/null +++ b/src/boost/tools/cmake/test/boost_test/CMakeLists.txt @@ -0,0 +1,58 @@ +# Copyright 2018, 2019 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 + +cmake_minimum_required(VERSION 3.5...3.16) + +project(boost_cmake_test LANGUAGES CXX) + +include(CTest) + +set(BUILD_TESTING OFF) # hide cache variable + +add_subdirectory(../../../../libs/assert EXCLUDE_FROM_ALL boostorg/assert) +add_subdirectory(../../../../libs/config EXCLUDE_FROM_ALL boostorg/config) +add_subdirectory(../../../../libs/core EXCLUDE_FROM_ALL boostorg/core) +add_subdirectory(../../../../libs/static_assert EXCLUDE_FROM_ALL boostorg/static_assert) +add_subdirectory(../../../../libs/throw_exception EXCLUDE_FROM_ALL boostorg/throw_exception) + +unset(BUILD_TESTING) + +list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../include) + +# boost_test + +include(BoostTest) + +boost_test(TYPE compile SOURCES compile.cpp) +boost_test(TYPE compile-fail SOURCES compile_fail.cpp) +boost_test(TYPE link SOURCES link.cpp) +boost_test(TYPE link-fail SOURCES link_fail.cpp) +boost_test(TYPE run SOURCES run.cpp) +boost_test(TYPE run-fail SOURCES run_fail.cpp) + +boost_test(TYPE run SOURCES arguments.cpp ARGUMENTS pumpkin LINK_LIBRARIES Boost::core) + +boost_test(TYPE run NAME return_exit_code_pass SOURCES return_exit_code.cpp COMPILE_DEFINITIONS EXIT_CODE=0) +boost_test(TYPE run-fail NAME return_exit_code_fail SOURCES return_exit_code.cpp COMPILE_DEFINITIONS EXIT_CODE=1) + +boost_test(TYPE run SOURCES requires_variadic_templates.cpp COMPILE_FEATURES cxx_variadic_templates) + +boost_test(TYPE run SOURCES requires_no_rtti.cpp COMPILE_OPTIONS -fno-rtti LINK_LIBRARIES Boost::config) +boost_test(TYPE run SOURCES requires_no_exceptions.cpp COMPILE_OPTIONS -fno-exceptions LINK_LIBRARIES Boost::config) + +boost_test(TYPE compile-fail SOURCES emits_warning.cpp COMPILE_OPTIONS -Wall -Werror) + +# boost_test, w/ globals + +set(BOOST_TEST_COMPILE_OPTIONS -fno-rtti -fno-exceptions) +set(BOOST_TEST_LINK_LIBRARIES Boost::config) + +boost_test(SOURCES requires_no_rtti.cpp PREFIX boost_cmake_test_globals) +boost_test(SOURCES requires_no_exceptions.cpp PREFIX boost_cmake_test_globals) + +# boost_test_jamfile + +include(BoostTestJamfile) + +boost_test_jamfile(FILE Jamfile PREFIX boost_cmake_test_jamfile) diff --git a/src/boost/tools/cmake/test/boost_test/Jamfile b/src/boost/tools/cmake/test/boost_test/Jamfile new file mode 100644 index 000000000..a1ae7b093 --- /dev/null +++ b/src/boost/tools/cmake/test/boost_test/Jamfile @@ -0,0 +1,21 @@ +# Copyright 2018, 2019 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 + +import testing ; + +project + : default-build <warnings-as-errors>on +; + +compile compile.cpp ; +compile-fail compile_fail.cpp ; +link link.cpp ; +link-fail link_fail.cpp ; +run run.cpp ; +run-fail run_fail.cpp + : ; + +run + arguments.cpp : + pumpkin ; diff --git a/src/boost/tools/cmake/test/boost_test/arguments.cpp b/src/boost/tools/cmake/test/boost_test/arguments.cpp new file mode 100644 index 000000000..8ebe8eddb --- /dev/null +++ b/src/boost/tools/cmake/test/boost_test/arguments.cpp @@ -0,0 +1,18 @@ +// Copyright 2018 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 <boost/core/lightweight_test.hpp> +#include <string.h> + +int main( int ac, char const* av[] ) +{ + BOOST_TEST_EQ( ac, 2 ); + + if( ac >= 2 ) + { + BOOST_TEST_CSTR_EQ( av[1], "pumpkin" ); + } + + return boost::report_errors(); +} diff --git a/src/boost/tools/cmake/test/boost_test/compile.cpp b/src/boost/tools/cmake/test/boost_test/compile.cpp new file mode 100644 index 000000000..07df2b88a --- /dev/null +++ b/src/boost/tools/cmake/test/boost_test/compile.cpp @@ -0,0 +1,8 @@ +// Copyright 2018 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 + +int f() +{ + return 0; +} diff --git a/src/boost/tools/cmake/test/boost_test/compile_fail.cpp b/src/boost/tools/cmake/test/boost_test/compile_fail.cpp new file mode 100644 index 000000000..58d4181e6 --- /dev/null +++ b/src/boost/tools/cmake/test/boost_test/compile_fail.cpp @@ -0,0 +1,8 @@ +// Copyright 2018 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 + +int f() +{ + return x; +} diff --git a/src/boost/tools/cmake/test/boost_test/emits_warning.cpp b/src/boost/tools/cmake/test/boost_test/emits_warning.cpp new file mode 100644 index 000000000..91bcf0ccf --- /dev/null +++ b/src/boost/tools/cmake/test/boost_test/emits_warning.cpp @@ -0,0 +1,9 @@ +// Copyright 2019 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 + +int main() +{ + int x, y; + return x; +} diff --git a/src/boost/tools/cmake/test/boost_test/link.cpp b/src/boost/tools/cmake/test/boost_test/link.cpp new file mode 100644 index 000000000..d843d0c0a --- /dev/null +++ b/src/boost/tools/cmake/test/boost_test/link.cpp @@ -0,0 +1,13 @@ +// Copyright 2018 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 + +int f() +{ + return 0; +} + +int main() +{ + return f(); +} diff --git a/src/boost/tools/cmake/test/boost_test/link_fail.cpp b/src/boost/tools/cmake/test/boost_test/link_fail.cpp new file mode 100644 index 000000000..e271ced9c --- /dev/null +++ b/src/boost/tools/cmake/test/boost_test/link_fail.cpp @@ -0,0 +1,10 @@ +// Copyright 2018 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 + +int f(); + +int main() +{ + return f(); +} diff --git a/src/boost/tools/cmake/test/boost_test/requires_no_exceptions.cpp b/src/boost/tools/cmake/test/boost_test/requires_no_exceptions.cpp new file mode 100644 index 000000000..f4ed46110 --- /dev/null +++ b/src/boost/tools/cmake/test/boost_test/requires_no_exceptions.cpp @@ -0,0 +1,18 @@ +// Copyright 2019 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 <boost/config.hpp> + +int main() +{ +#if defined(BOOST_NO_EXCEPTIONS) + + return 0; + +#else + + return 1; + +#endif +} diff --git a/src/boost/tools/cmake/test/boost_test/requires_no_rtti.cpp b/src/boost/tools/cmake/test/boost_test/requires_no_rtti.cpp new file mode 100644 index 000000000..33030b5e7 --- /dev/null +++ b/src/boost/tools/cmake/test/boost_test/requires_no_rtti.cpp @@ -0,0 +1,18 @@ +// Copyright 2019 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 <boost/config.hpp> + +int main() +{ +#if defined(BOOST_NO_RTTI) + + return 0; + +#else + + return 1; + +#endif +} diff --git a/src/boost/tools/cmake/test/boost_test/requires_variadic_templates.cpp b/src/boost/tools/cmake/test/boost_test/requires_variadic_templates.cpp new file mode 100644 index 000000000..ce516c60b --- /dev/null +++ b/src/boost/tools/cmake/test/boost_test/requires_variadic_templates.cpp @@ -0,0 +1,13 @@ +// Copyright 2019 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 + +template<class... T> int f() +{ + return sizeof...(T); +} + +int main() +{ + return f<int, void, float>() == 3? 0: 1; +} diff --git a/src/boost/tools/cmake/test/boost_test/return_exit_code.cpp b/src/boost/tools/cmake/test/boost_test/return_exit_code.cpp new file mode 100644 index 000000000..372988bb2 --- /dev/null +++ b/src/boost/tools/cmake/test/boost_test/return_exit_code.cpp @@ -0,0 +1,8 @@ +// Copyright 2019 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 + +int main() +{ + return EXIT_CODE; +} diff --git a/src/boost/tools/cmake/test/boost_test/run.cpp b/src/boost/tools/cmake/test/boost_test/run.cpp new file mode 100644 index 000000000..a23cef0dc --- /dev/null +++ b/src/boost/tools/cmake/test/boost_test/run.cpp @@ -0,0 +1,7 @@ +// Copyright 2018 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 + +int main() +{ +} diff --git a/src/boost/tools/cmake/test/boost_test/run_fail.cpp b/src/boost/tools/cmake/test/boost_test/run_fail.cpp new file mode 100644 index 000000000..bdb31cb73 --- /dev/null +++ b/src/boost/tools/cmake/test/boost_test/run_fail.cpp @@ -0,0 +1,8 @@ +// Copyright 2018 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 + +int main() +{ + return 1; +} |