turtle/test/Jamfile.jam
2025-06-12 09:28:40 +02:00

51 lines
1.6 KiB
Text

# Copyright 2012 Mathieu Champlon
# Copyright 2025 Alexander Grund
#
# 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
: requirements
<define>BOOST_AUTO_TEST_MAIN
<define>BOOST_ALL_NO_LIB
<include>../include
;
path-constant parent : .. ;
run /boost/tools/inspect//inspect/<variant>release : $(parent) -text -brief : : <test-info>always_show_run_output : inspect ;
explicit inspect ;
rule run-test ( name : options * )
{
run $(name) defined_1.cpp defined_2.cpp undefined.cpp /boost//unit_test_framework : : : $(options) : $(name)_ ;
run $(name) undefined.cpp /boost//unit_test_framework : : : $(options) <define>MOCK_USE_CONVERSIONS : $(name)_use_conversions ;
run $(name) undefined.cpp /boost//unit_test_framework /boost//thread : : : $(options) <define>MOCK_THREAD_SAFE <define>BOOST_THREAD_USES_MOVE <threading>multi : $(name)_thread_safe ;
}
rule run-tests
{
for name in [ glob test_*.cpp ] { run-test $(name) ; }
# Avoid object file getting to big on MinGW
run-test detail/test_function.cpp :
<toolset>gcc,<target-os>windows:<inlining>on
<toolset>gcc,<target-os>windows:<optimization>space ;
run-test detail/test_invocation.cpp ;
run-test detail/test_is_functor.cpp ;
run-test detail/test_signature.cpp ;
run-test detail/test_type_name.cpp ;
}
alias mock_tests : [ run-tests ] ;
rule run-failures
{
for name in [ glob fail_*.cpp ] { compile-fail $(name) ; }
}
alias mock_failures : [ run-failures ] ;
# How to time bench_*.cpp compilation ?