mirror of
https://github.com/boostorg/core.git
synced 2025-05-09 23:03:54 +00:00
Add CMake tests
This commit is contained in:
parent
bda2b9b4b1
commit
750625272f
25
.travis.yml
25
.travis.yml
@ -304,15 +304,38 @@ matrix:
|
|||||||
env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z
|
env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z
|
||||||
osx_image: xcode10.1
|
osx_image: xcode10.1
|
||||||
|
|
||||||
|
- os: linux
|
||||||
|
env: CMAKE_TEST=1
|
||||||
|
script:
|
||||||
|
- mkdir __build__ && cd __build__
|
||||||
|
- cmake -DBOOST_ENABLE_CMAKE=1 -DBoost_VERBOSE=1 -DBOOST_INCLUDE_LIBRARIES=core ..
|
||||||
|
- ctest --output-on-failure -R boost_core
|
||||||
|
|
||||||
- os: linux
|
- os: linux
|
||||||
compiler: g++
|
compiler: g++
|
||||||
env: CMAKE_SUBDIR_TEST=1
|
env: CMAKE_SUBDIR_TEST=1
|
||||||
|
install:
|
||||||
|
- BOOST_BRANCH=develop
|
||||||
|
- if [ "$TRAVIS_BRANCH" = "master" ]; then BOOST_BRANCH=master; fi
|
||||||
|
- git clone -b $BOOST_BRANCH https://github.com/boostorg/config.git ../config
|
||||||
|
- git clone -b $BOOST_BRANCH https://github.com/boostorg/assert.git ../assert
|
||||||
script:
|
script:
|
||||||
- cd libs/core/test/cmake_subdir_test && mkdir __build__ && cd __build__
|
- cd test/cmake_subdir_test && mkdir __build__ && cd __build__
|
||||||
- cmake ..
|
- cmake ..
|
||||||
- cmake --build .
|
- cmake --build .
|
||||||
- cmake --build . --target check
|
- cmake --build . --target check
|
||||||
|
|
||||||
|
- os: linux
|
||||||
|
env: CMAKE_INSTALL_TEST=1
|
||||||
|
script:
|
||||||
|
- mkdir __build__ && cd __build__
|
||||||
|
- cmake -DBOOST_ENABLE_CMAKE=1 -DBoost_VERBOSE=1 -DBOOST_INCLUDE_LIBRARIES="assert;config;core" -DCMAKE_INSTALL_PREFIX=~/.local ..
|
||||||
|
- cmake --build . --target install
|
||||||
|
- cd ../libs/core/test/cmake_install_test && mkdir __build__ && cd __build__
|
||||||
|
- cmake -DCMAKE_INSTALL_PREFIX=~/.local ..
|
||||||
|
- cmake --build .
|
||||||
|
- cmake --build . --target check
|
||||||
|
|
||||||
install:
|
install:
|
||||||
- BOOST_BRANCH=develop
|
- BOOST_BRANCH=develop
|
||||||
- if [ "$TRAVIS_BRANCH" = "master" ]; then BOOST_BRANCH=master; fi
|
- if [ "$TRAVIS_BRANCH" = "master" ]; then BOOST_BRANCH=master; fi
|
||||||
|
@ -23,3 +23,9 @@ if(BOOST_SUPERPROJECT_VERSION)
|
|||||||
boost_install(TARGETS boost_core HEADER_DIRECTORY include/)
|
boost_install(TARGETS boost_core HEADER_DIRECTORY include/)
|
||||||
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(BUILD_TESTING)
|
||||||
|
|
||||||
|
add_subdirectory(test)
|
||||||
|
|
||||||
|
endif()
|
||||||
|
13
test/CMakeLists.txt
Normal file
13
test/CMakeLists.txt
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
# 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
|
||||||
|
|
||||||
|
include(BoostTestJamfile OPTIONAL RESULT_VARIABLE HAVE_BOOST_TEST)
|
||||||
|
|
||||||
|
if(HAVE_BOOST_TEST)
|
||||||
|
|
||||||
|
boost_test_jamfile(FILE Jamfile.v2 LINK_LIBRARIES Boost::core Boost::static_assert Boost::type_traits Boost::throw_exception)
|
||||||
|
|
||||||
|
endif()
|
||||||
|
|
||||||
|
add_subdirectory(swap)
|
@ -55,10 +55,12 @@ compile-fail explicit_operator_bool_compile_fail_conv_pvoid.cpp ;
|
|||||||
compile-fail explicit_operator_bool_compile_fail_delete.cpp ;
|
compile-fail explicit_operator_bool_compile_fail_delete.cpp ;
|
||||||
compile-fail explicit_operator_bool_compile_fail_shift.cpp ;
|
compile-fail explicit_operator_bool_compile_fail_shift.cpp ;
|
||||||
|
|
||||||
compile ignore_unused_test.cpp : <toolset>gcc-4.8:<cxxflags>"-Wunused-variable -Wunused-local-typedefs -Werror"
|
compile ignore_unused_test.cpp
|
||||||
<toolset>gcc:<cxxflags>"-Wunused-variable -Werror"
|
: <warnings>extra
|
||||||
<toolset>clang:<cxxflags>"-Wunused-variable -Werror"
|
<toolset>gcc:<warnings-as-errors>on
|
||||||
<toolset>msvc:<cxxflags>"/we4100 /we4101" ;
|
<toolset>clang:<warnings-as-errors>on
|
||||||
|
<toolset>msvc::<warnings-as-errors>on ;
|
||||||
|
|
||||||
run sp_typeinfo_test.cpp ;
|
run sp_typeinfo_test.cpp ;
|
||||||
run sp_typeinfo_test.cpp : : : <rtti>off : sp_typeinfo_test_no_rtti ;
|
run sp_typeinfo_test.cpp : : : <rtti>off : sp_typeinfo_test_no_rtti ;
|
||||||
|
|
||||||
@ -75,7 +77,8 @@ run lightweight_test_gt_ge_test.cpp ;
|
|||||||
run lightweight_test_eq_nullptr.cpp ;
|
run lightweight_test_eq_nullptr.cpp ;
|
||||||
run lightweight_test_test3.cpp ;
|
run lightweight_test_test3.cpp ;
|
||||||
run lightweight_test_test4.cpp ;
|
run lightweight_test_test4.cpp ;
|
||||||
run lightweight_test_test5.cpp : : :
|
run lightweight_test_test5.cpp
|
||||||
|
: : :
|
||||||
<warnings>extra
|
<warnings>extra
|
||||||
<toolset>msvc:<warnings-as-errors>on
|
<toolset>msvc:<warnings-as-errors>on
|
||||||
<toolset>gcc:<warnings-as-errors>on
|
<toolset>gcc:<warnings-as-errors>on
|
||||||
@ -112,9 +115,12 @@ run typeinfo_test.cpp : : : <rtti>off : typeinfo_test_no_rtti ;
|
|||||||
run iterator_test.cpp ;
|
run iterator_test.cpp ;
|
||||||
run detail_iterator_test.cpp ;
|
run detail_iterator_test.cpp ;
|
||||||
|
|
||||||
run demangle_test.cpp : : : <test-info>always_show_run_output ;
|
run demangle_test.cpp
|
||||||
|
: : : <test-info>always_show_run_output ;
|
||||||
|
|
||||||
|
run demangled_name_test.cpp
|
||||||
|
: : : <test-info>always_show_run_output ;
|
||||||
|
|
||||||
run demangled_name_test.cpp : : : <test-info>always_show_run_output ;
|
|
||||||
run demangled_name_test.cpp : : : <rtti>off <test-info>always_show_run_output : demangled_name_test_no_rtti ;
|
run demangled_name_test.cpp : : : <rtti>off <test-info>always_show_run_output : demangled_name_test_no_rtti ;
|
||||||
|
|
||||||
run scoped_enum.cpp ;
|
run scoped_enum.cpp ;
|
||||||
@ -161,8 +167,10 @@ run test_lib_typeid.cpp lib_typeid : : : <link>static : test_lib_typeid_static ;
|
|||||||
run test_lib_typeid.cpp lib_typeid : : : <link>shared <rtti>off : test_lib_typeid_shared_no_rtti ;
|
run test_lib_typeid.cpp lib_typeid : : : <link>shared <rtti>off : test_lib_typeid_shared_no_rtti ;
|
||||||
run test_lib_typeid.cpp lib_typeid : : : <link>static <rtti>off : test_lib_typeid_static_no_rtti ;
|
run test_lib_typeid.cpp lib_typeid : : : <link>static <rtti>off : test_lib_typeid_static_no_rtti ;
|
||||||
|
|
||||||
run uncaught_exceptions.cpp : : : <exception-handling>on ;
|
run uncaught_exceptions.cpp
|
||||||
run uncaught_exceptions_np.cpp : : : <exception-handling>on ;
|
: : : <exception-handling>on ;
|
||||||
|
run uncaught_exceptions_np.cpp
|
||||||
|
: : : <exception-handling>on ;
|
||||||
|
|
||||||
run no_exceptions_support_test.cpp ;
|
run no_exceptions_support_test.cpp ;
|
||||||
run no_exceptions_support_test.cpp : : : <exception-handling>off : no_exceptions_support_test_nx ;
|
run no_exceptions_support_test.cpp : : : <exception-handling>off : no_exceptions_support_test_nx ;
|
||||||
|
17
test/cmake_install_test/CMakeLists.txt
Normal file
17
test/cmake_install_test/CMakeLists.txt
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
# 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(cmake_install_test LANGUAGES CXX)
|
||||||
|
|
||||||
|
find_package(boost_core REQUIRED)
|
||||||
|
|
||||||
|
add_executable(quick ../quick.cpp)
|
||||||
|
target_link_libraries(quick Boost::core)
|
||||||
|
|
||||||
|
enable_testing()
|
||||||
|
add_test(quick quick)
|
||||||
|
|
||||||
|
add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure -C $<CONFIG>)
|
@ -2,7 +2,7 @@
|
|||||||
# Distributed under the Boost Software License, Version 1.0.
|
# 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 accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt
|
||||||
|
|
||||||
cmake_minimum_required(VERSION 3.5)
|
cmake_minimum_required(VERSION 3.5...3.16)
|
||||||
|
|
||||||
project(cmake_subdir_test LANGUAGES CXX)
|
project(cmake_subdir_test LANGUAGES CXX)
|
||||||
|
|
||||||
|
11
test/swap/CMakeLists.txt
Normal file
11
test/swap/CMakeLists.txt
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
# 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
|
||||||
|
|
||||||
|
include(BoostTestJamfile OPTIONAL RESULT_VARIABLE HAVE_BOOST_TEST)
|
||||||
|
|
||||||
|
if(HAVE_BOOST_TEST)
|
||||||
|
|
||||||
|
boost_test_jamfile(FILE Jamfile.v2 LINK_LIBRARIES Boost::core)
|
||||||
|
|
||||||
|
endif()
|
@ -7,65 +7,31 @@
|
|||||||
# bring in rules for testing
|
# bring in rules for testing
|
||||||
import testing ;
|
import testing ;
|
||||||
|
|
||||||
local compile_tests =
|
compile swap_root_header_1.cpp ;
|
||||||
root_header_1.cpp
|
compile swap_root_header_2.cpp ;
|
||||||
root_header_2.cpp
|
compile swap_lib_header_1.cpp ;
|
||||||
lib_header_1.cpp
|
compile swap_lib_header_2.cpp ;
|
||||||
lib_header_2.cpp
|
compile swap_mixed_headers_1.cpp ;
|
||||||
mixed_headers_1.cpp
|
compile swap_mixed_headers_2.cpp ;
|
||||||
mixed_headers_2.cpp
|
|
||||||
;
|
|
||||||
|
|
||||||
local compile_fail_tests =
|
compile-fail swap_const_wrapper_fail.cpp ;
|
||||||
const_wrapper_fail.cpp ;
|
|
||||||
|
|
||||||
local run_tests =
|
run swap_primitive.cpp ;
|
||||||
primitive.cpp
|
run swap_specialized_in_boost.cpp ;
|
||||||
specialized_in_boost.cpp
|
run swap_specialized_in_global.cpp ;
|
||||||
specialized_in_global.cpp
|
run swap_specialized_in_other.cpp ;
|
||||||
specialized_in_other.cpp
|
run swap_specialized_in_std.cpp ;
|
||||||
specialized_in_std.cpp
|
run swap_specialized_in_boost_and_other.cpp ;
|
||||||
specialized_in_boost_and_other.cpp
|
run swap_std_bitset.cpp ;
|
||||||
std_bitset.cpp
|
run swap_std_dateorder.cpp ;
|
||||||
std_dateorder.cpp
|
run swap_std_string.cpp ;
|
||||||
std_string.cpp
|
run swap_std_typeinfo_ptr.cpp ;
|
||||||
std_typeinfo_ptr.cpp
|
run swap_std_vector_of_boost.cpp ;
|
||||||
std_vector_of_boost.cpp
|
run swap_std_vector_of_global.cpp ;
|
||||||
std_vector_of_global.cpp
|
run swap_std_vector_of_other.cpp ;
|
||||||
std_vector_of_other.cpp
|
run swap_no_ambiguity_in_boost.cpp ;
|
||||||
no_ambiguity_in_boost.cpp
|
run swap_array_of_array_of_class.cpp ;
|
||||||
array_of_array_of_class.cpp
|
run swap_array_of_array_of_int.cpp ;
|
||||||
array_of_array_of_int.cpp
|
run swap_array_of_class.cpp ;
|
||||||
array_of_class.cpp
|
run swap_array_of_int.cpp ;
|
||||||
array_of_int.cpp
|
run swap_array_of_template.cpp ;
|
||||||
array_of_template.cpp
|
|
||||||
;
|
|
||||||
|
|
||||||
rule test_all
|
|
||||||
{
|
|
||||||
local all_rules ;
|
|
||||||
local file ;
|
|
||||||
|
|
||||||
for file in $(compile_tests)
|
|
||||||
{
|
|
||||||
local test_name = [ MATCH "([^.]*).cpp$" : $(file) ] ;
|
|
||||||
all_rules += [ compile $(file) : : "swap-$(test_name)" ] ;
|
|
||||||
}
|
|
||||||
|
|
||||||
for file in $(compile_fail_tests)
|
|
||||||
{
|
|
||||||
local test_name = [ MATCH "([^.]*).cpp$" : $(file) ] ;
|
|
||||||
all_rules += [ compile-fail $(file) : : "swap-$(test_name)" ] ;
|
|
||||||
}
|
|
||||||
|
|
||||||
for file in $(run_tests)
|
|
||||||
{
|
|
||||||
local test_name = [ MATCH "([^.]*).cpp$" : $(file) ] ;
|
|
||||||
all_rules += [ run $(file) : : : : "swap-$(test_name)" ] ;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ECHO All rules: $(all_rules) ;
|
|
||||||
return $(all_rules) ;
|
|
||||||
}
|
|
||||||
|
|
||||||
test-suite core/swap : [ test_all r ] ;
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user