From 0fa42e06fe501292fe50a1e528367b1a3f611cd3 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Mon, 11 Mar 2024 08:38:17 -0500 Subject: [PATCH 01/15] Make the library modular usable. --- Jamfile.v2 | 9 -------- build.jam | 56 ++++++++++++++++++++++++++++++++++++++++++++++ build/Jamfile.v2 | 8 ++----- example/Jamfile.v2 | 10 ++++----- test/Jamfile.v2 | 35 +++++++++++++++-------------- 5 files changed, 81 insertions(+), 37 deletions(-) delete mode 100644 Jamfile.v2 create mode 100644 build.jam diff --git a/Jamfile.v2 b/Jamfile.v2 deleted file mode 100644 index cc332e119a..0000000000 --- a/Jamfile.v2 +++ /dev/null @@ -1,9 +0,0 @@ -# (C) Copyright Juergen Hunold 2006-2010. -# Use, modification, and distribution are subject to 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 http://www.boost.org/libs/test for the library home page. - -build-project example ; -build-project test ; diff --git a/build.jam b/build.jam new file mode 100644 index 0000000000..bb102327ad --- /dev/null +++ b/build.jam @@ -0,0 +1,56 @@ +# Copyright René Ferdinand Rivera Morell 2023 +# 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 project ; + +project /boost/test + : common-requirements + /boost/algorithm//boost_algorithm + /boost/assert//boost_assert + /boost/bind//boost_bind + /boost/config//boost_config + /boost/core//boost_core + /boost/detail//boost_detail + /boost/exception//boost_exception + /boost/function//boost_function + /boost/io//boost_io + /boost/iterator//boost_iterator + /boost/mpl//boost_mpl + /boost/numeric_conversion//boost_numeric_conversion + /boost/optional//boost_optional + /boost/preprocessor//boost_preprocessor + /boost/smart_ptr//boost_smart_ptr + /boost/static_assert//boost_static_assert + /boost/type_traits//boost_type_traits + /boost/utility//boost_utility + include + ; + +explicit + [ alias boost_test ] + [ alias boost_prg_exec_monitor : build//boost_prg_exec_monitor ] + [ alias boost_test_exec_monitor : build//boost_test_exec_monitor ] + [ alias boost_unit_test_framework : build//boost_unit_test_framework ] + [ alias prg_exec_monitor : boost_prg_exec_monitor ] + [ alias test_exec_monitor : boost_test_exec_monitor ] + [ alias unit_test_framework : boost_unit_test_framework ] + [ alias boost_included_prg_exec_monitor ] + [ alias boost_included_test_exec_monitor ] + [ alias boost_included_unit_test_framework ] + [ alias included_prg_exec_monitor : boost_included_prg_exec_monitor ] + [ alias included_test_exec_monitor : boost_included_test_exec_monitor ] + [ alias included_unit_test_framework : boost_included_unit_test_framework ] + [ alias all : example test + boost_prg_exec_monitor + boost_test_exec_monitor + boost_unit_test_framework ] + ; + +call-if : boost-library test + : install + boost_prg_exec_monitor + boost_test_exec_monitor + boost_unit_test_framework + ; diff --git a/build/Jamfile.v2 b/build/Jamfile.v2 index c4fa6e0c66..bf9a8ed2b7 100644 --- a/build/Jamfile.v2 +++ b/build/Jamfile.v2 @@ -6,11 +6,11 @@ import os ; -import ../../predef/check/predef +import predef : check : predef-check ; -project boost/test +project : source-location ../src : requirements shared:BOOST_TEST_DYN_LINK=1 borland:-w-8080 @@ -113,7 +113,3 @@ lib boost_unit_test_framework alias minimal ; alias included ; - -boost-install boost_prg_exec_monitor - boost_test_exec_monitor - boost_unit_test_framework ; diff --git a/example/Jamfile.v2 b/example/Jamfile.v2 index 806b42e121..4dbd840145 100644 --- a/example/Jamfile.v2 +++ b/example/Jamfile.v2 @@ -11,7 +11,7 @@ import testing ; import os ; # requirements -import ../../config/checks/config : requires ; +import config : requires ; local HAS_UBSAN = "NO_UBSAN" ; # need to defined something if [ os.environ UBSAN ] @@ -22,7 +22,7 @@ if [ os.environ UBSAN ] ECHO $(HAS_UBSAN:J) ; # Project -project boost/test-examples +project : : requirements clang:-Wno-c99-extensions $(HAS_UBSAN:J) @@ -31,12 +31,12 @@ project boost/test-examples # Define aliases for the needed libs to get shorter names alias prg_exec_monitor : # sources - /boost//prg_exec_monitor + /boost/test//boost_prg_exec_monitor ; alias unit_test_framework : # sources - /boost//unit_test_framework + /boost/test//boost_unit_test_framework ; # make aliases explicit so the libraries will only be built when requested @@ -60,7 +60,7 @@ alias boost_test_examples [ run unit_test_example_08.cpp unit_test_framework ] [ run unit_test_example_09_1.cpp unit_test_example_09_2.cpp unit_test_framework ] - [ run-fail unit_test_example_10.cpp unit_test_framework/static ] + [ run-fail unit_test_example_10.cpp unit_test_framework/static : : : /boost/lexical_cast//boost_lexical_cast ] [ run-fail unit_test_example_11.cpp unit_test_framework/static ] [ link unit_test_example_12.cpp unit_test_framework/static ] [ run unit_test_example_13.cpp ] diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index f92dd0ab61..a599000b34 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -12,13 +12,13 @@ import property-set ; import regex ; import "class" : new ; -import ../../config/checks/config : requires ; +import config : requires ; -project boost/test-tests +project : requirements ; -import ../../predef/check/predef +import predef : check require : predef-check predef-require ; @@ -102,6 +102,7 @@ rule docs-example-as-test ( test-file ) : : : $(requirements_documentation) # requirements + /boost/rational//boost_rational ] ; } @@ -141,11 +142,11 @@ test-suite "usage-variants-ts" test-suite "framework-ts" : - # [ boost.test-self-test run : framework-ts : result-report-test : : baseline-outputs/result-report-test.pattern baseline-outputs/result_report_test.pattern.default_behaviour ] - [ boost.test-self-test run : framework-ts : log-formatter-test : : baseline-outputs/log-formatter-context-test.pattern baseline-outputs/log-formatter-test.pattern baseline-outputs/log-formatter-test.pattern.junit ] # should be ordered alphabetically + # [ boost.test-self-test run : framework-ts : result-report-test : : baseline-outputs/result-report-test.pattern baseline-outputs/result_report_test.pattern.default_behaviour : : : : /boost/lexical_cast//boost_lexical_cast ] + [ boost.test-self-test run : framework-ts : log-formatter-test : : baseline-outputs/log-formatter-context-test.pattern baseline-outputs/log-formatter-test.pattern baseline-outputs/log-formatter-test.pattern.junit : : : : /boost/lexical_cast//boost_lexical_cast ] # should be ordered alphabetically [ boost.test-self-test run : framework-ts : run-by-name-or-label-test ] [ boost.test-self-test run : framework-ts : version-uses-module-name : included ] - [ boost.test-self-test run : framework-ts : test-macro-global-fixture : : baseline-outputs/global-fixtures-test.pattern ] + [ boost.test-self-test run : framework-ts : test-macro-global-fixture : : baseline-outputs/global-fixtures-test.pattern : : : : /boost/lexical_cast//boost_lexical_cast ] [ boost.test-self-test run : framework-ts : message-in-datatestcase-test : : baseline-outputs/messages-in-datasets-test.pattern : : : : $(requirements_datasets) ] [ boost.test-self-test run : framework-ts : decorators-datatestcase-test : : : : : : $(requirements_datasets) ] [ compile-fail framework-ts/master-test-suite-non-copyable-test.cpp ../build//included ] @@ -166,7 +167,7 @@ test-suite "writing-test-ts" [ boost.test-self-test run : writing-test-ts : collection-comparison-test : : : : : : $(requirements_boost_test_full_support) [ requires cxx11_unified_initialization_syntax ] ] # required by the test content [ boost.test-self-test run : writing-test-ts : dont_print_log_value-test : : : : : : $(requirements_datasets) ] [ boost.test-self-test run : writing-test-ts : fp-comparisons-test : : : : : : $(requirements_boost_test_full_support) ] - [ boost.test-self-test run : writing-test-ts : fp-multiprecision-comparison-test : : : : : : $(requirements_boost_test_full_support) [ requires cxx14_decltype_auto cxx14_generic_lambdas cxx14_return_type_deduction cxx14_variable_templates cxx14_constexpr ] ] + [ boost.test-self-test run : writing-test-ts : fp-multiprecision-comparison-test : : : : : : $(requirements_boost_test_full_support) [ requires cxx14_decltype_auto cxx14_generic_lambdas cxx14_return_type_deduction cxx14_variable_templates cxx14_constexpr ] /boost/multiprecision//boost_multiprecision ] [ boost.test-self-test run : writing-test-ts : fp-no-comparison-for-incomplete-types-test ] [ boost.test-self-test run : writing-test-ts : fp-relational-operator ] [ boost.test-self-test run : writing-test-ts : output_test_stream-test ] @@ -336,19 +337,19 @@ rule boost.test-smoke-ts-logger ( test-name-prefix : logger ? : log_or_report ? return $(to-return) ; } -exe smoke-ts-included : smoke-ts/basic-smoke-test.cpp +alias smoke-ts-included : smoke-ts/basic-smoke-test.cpp : $(requirements_datasets) ; -exe smoke-ts-included-2 : smoke-ts/basic-smoke-test2.cpp ; +alias smoke-ts-included-2 : smoke-ts/basic-smoke-test2.cpp ; -exe smoke-ts-included-3 : smoke-ts/basic-smoke-test3.cpp ; +alias smoke-ts-included-3 : smoke-ts/basic-smoke-test3.cpp ; # for template test case filtering from the command line -exe smoke-ts-included-4 : smoke-ts/basic-smoke-test4.cpp ; +alias smoke-ts-included-4 : smoke-ts/basic-smoke-test4.cpp ; -exe check-streams-on-exit : framework-ts/check-streams-on-exit.cpp ; +alias check-streams-on-exit : framework-ts/check-streams-on-exit.cpp ; -exe dataset-master-test-suite-accessible-test : test-organization-ts/dataset-master-test-suite-accessible-test.cpp +alias dataset-master-test-suite-accessible-test : test-organization-ts/dataset-master-test-suite-accessible-test.cpp : $(requirements_datasets) ; alias "smoke-ts" @@ -434,12 +435,12 @@ alias "smoke-ts" [ run smoke-ts-included-4 : \"--run_test=some_suite/test>,test>\" \"--run_test=test>\" : : : cla-template-test-case-sanity-15 ] ; -exe custom-command-line-binary-1 : ../doc/examples/runtime-configuration_1.run-fail.cpp ; -exe custom-command-line-binary-2 : ../doc/examples/runtime-configuration_2.run-fail.cpp +alias custom-command-line-binary-1 : ../doc/examples/runtime-configuration_1.run-fail.cpp ; +alias custom-command-line-binary-2 : ../doc/examples/runtime-configuration_2.run-fail.cpp : $(requirements_boost_test_full_support) ; -exe custom-command-line-binary-3 : ../doc/examples/runtime-configuration_3.run-fail.cpp +alias custom-command-line-binary-3 : ../doc/examples/runtime-configuration_3.run-fail.cpp : $(requirements_boost_test_full_support) ; -exe custom-command-line-binary-4 : ../doc/examples/runtime-configuration_4.run-fail.cpp +alias custom-command-line-binary-4 : ../doc/examples/runtime-configuration_4.run-fail.cpp : $(requirements_datasets) [ requires cxx11_trailing_result_types cxx11_auto_declarations ] $(l_gcc_c11_rvalue_full_support) ; alias "custom-command-line-ts" From 9f2b0c27de7cb6c5fdad2c40e53483c1a5ef6be0 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Fri, 29 Mar 2024 21:15:59 -0500 Subject: [PATCH 02/15] Switch to library requirements instead of source. As source puts extra source in install targets. --- build.jam | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/build.jam b/build.jam index bb102327ad..4770ce1474 100644 --- a/build.jam +++ b/build.jam @@ -7,24 +7,24 @@ import project ; project /boost/test : common-requirements - /boost/algorithm//boost_algorithm - /boost/assert//boost_assert - /boost/bind//boost_bind - /boost/config//boost_config - /boost/core//boost_core - /boost/detail//boost_detail - /boost/exception//boost_exception - /boost/function//boost_function - /boost/io//boost_io - /boost/iterator//boost_iterator - /boost/mpl//boost_mpl - /boost/numeric_conversion//boost_numeric_conversion - /boost/optional//boost_optional - /boost/preprocessor//boost_preprocessor - /boost/smart_ptr//boost_smart_ptr - /boost/static_assert//boost_static_assert - /boost/type_traits//boost_type_traits - /boost/utility//boost_utility + /boost/algorithm//boost_algorithm + /boost/assert//boost_assert + /boost/bind//boost_bind + /boost/config//boost_config + /boost/core//boost_core + /boost/detail//boost_detail + /boost/exception//boost_exception + /boost/function//boost_function + /boost/io//boost_io + /boost/iterator//boost_iterator + /boost/mpl//boost_mpl + /boost/numeric_conversion//boost_numeric_conversion + /boost/optional//boost_optional + /boost/preprocessor//boost_preprocessor + /boost/smart_ptr//boost_smart_ptr + /boost/static_assert//boost_static_assert + /boost/type_traits//boost_type_traits + /boost/utility//boost_utility include ; From 8893c443184ee1db1edf1b3fb50a9e0cc2b67a61 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sat, 13 Apr 2024 16:33:48 -0500 Subject: [PATCH 03/15] Remove uses of BOOST_ROOT in Jamfiles. --- doc/Jamfile.v2 | 106 +++++++++++++++++++++++++------------------------ 1 file changed, 54 insertions(+), 52 deletions(-) diff --git a/doc/Jamfile.v2 b/doc/Jamfile.v2 index e864d5b181..43690e8b5d 100644 --- a/doc/Jamfile.v2 +++ b/doc/Jamfile.v2 @@ -14,80 +14,82 @@ using boostbook ; import doxygen ; +path-constant TEST_ROOT : .. ; + doxygen doxygen_reference_generated_doc : - $(BOOST_ROOT)/libs/test/include/boost/test/debug_config.hpp - $(BOOST_ROOT)/libs/test/include/boost/test/detail/global_typedef.hpp - $(BOOST_ROOT)/libs/test/include/boost/test/debug.hpp - $(BOOST_ROOT)/libs/test/include/boost/test/execution_monitor.hpp - $(BOOST_ROOT)/libs/test/include/boost/test/framework.hpp - $(BOOST_ROOT)/libs/test/include/boost/test/tools/assertion_result.hpp - $(BOOST_ROOT)/libs/test/include/boost/test/unit_test.hpp - $(BOOST_ROOT)/libs/test/include/boost/test/tree/observer.hpp + $(TEST_ROOT)/include/boost/test/debug_config.hpp + $(TEST_ROOT)/include/boost/test/detail/global_typedef.hpp + $(TEST_ROOT)/include/boost/test/debug.hpp + $(TEST_ROOT)/include/boost/test/execution_monitor.hpp + $(TEST_ROOT)/include/boost/test/framework.hpp + $(TEST_ROOT)/include/boost/test/tools/assertion_result.hpp + $(TEST_ROOT)/include/boost/test/unit_test.hpp + $(TEST_ROOT)/include/boost/test/tree/observer.hpp # logs and formatters - $(BOOST_ROOT)/libs/test/include/boost/test/unit_test_log.hpp - $(BOOST_ROOT)/libs/test/include/boost/test/output/xml_log_formatter.hpp - $(BOOST_ROOT)/libs/test/include/boost/test/output/plain_report_formatter.hpp - $(BOOST_ROOT)/libs/test/include/boost/test/output/compiler_log_formatter.hpp + $(TEST_ROOT)/include/boost/test/unit_test_log.hpp + $(TEST_ROOT)/include/boost/test/output/xml_log_formatter.hpp + $(TEST_ROOT)/include/boost/test/output/plain_report_formatter.hpp + $(TEST_ROOT)/include/boost/test/output/compiler_log_formatter.hpp # reports - $(BOOST_ROOT)/libs/test/include/boost/test/output/xml_report_formatter.hpp - $(BOOST_ROOT)/libs/test/include/boost/test/unit_test_log_formatter.hpp - $(BOOST_ROOT)/libs/test/include/boost/test/results_reporter.hpp - $(BOOST_ROOT)/libs/test/include/boost/test/results_collector.hpp + $(TEST_ROOT)/include/boost/test/output/xml_report_formatter.hpp + $(TEST_ROOT)/include/boost/test/unit_test_log_formatter.hpp + $(TEST_ROOT)/include/boost/test/results_reporter.hpp + $(TEST_ROOT)/include/boost/test/results_collector.hpp # progress monitor - $(BOOST_ROOT)/libs/test/include/boost/test/progress_monitor.hpp + $(TEST_ROOT)/include/boost/test/progress_monitor.hpp # test cases and suites - $(BOOST_ROOT)/libs/test/include/boost/test/tree/test_unit.hpp - $(BOOST_ROOT)/libs/test/include/boost/test/parameterized_test.hpp + $(TEST_ROOT)/include/boost/test/tree/test_unit.hpp + $(TEST_ROOT)/include/boost/test/parameterized_test.hpp # execution monitor source files - $(BOOST_ROOT)/libs/test/include/boost/test/execution_monitor.hpp + $(TEST_ROOT)/include/boost/test/execution_monitor.hpp # output test stream - $(BOOST_ROOT)/libs/test/include/boost/test/tools/output_test_stream.hpp + $(TEST_ROOT)/include/boost/test/tools/output_test_stream.hpp # datasets - $(BOOST_ROOT)/libs/test/include/boost/test/data/monomorphic/fwd.hpp - $(BOOST_ROOT)/libs/test/include/boost/test/data/test_case.hpp - $(BOOST_ROOT)/libs/test/include/boost/test/data/for_each_sample.hpp - $(BOOST_ROOT)/libs/test/include/boost/test/data/size.hpp - $(BOOST_ROOT)/libs/test/include/boost/test/data/monomorphic/delayed.hpp - $(BOOST_ROOT)/libs/test/include/boost/test/data/monomorphic/initializer_list.hpp - $(BOOST_ROOT)/libs/test/include/boost/test/data/monomorphic/array.hpp - $(BOOST_ROOT)/libs/test/include/boost/test/data/monomorphic/collection.hpp - $(BOOST_ROOT)/libs/test/include/boost/test/data/monomorphic/generate.hpp - - - $(BOOST_ROOT)/libs/test/include/boost/test/data/monomorphic/grid.hpp - $(BOOST_ROOT)/libs/test/include/boost/test/data/monomorphic/join.hpp - $(BOOST_ROOT)/libs/test/include/boost/test/data/monomorphic/singleton.hpp - $(BOOST_ROOT)/libs/test/include/boost/test/data/monomorphic/zip.hpp + $(TEST_ROOT)/include/boost/test/data/monomorphic/fwd.hpp + $(TEST_ROOT)/include/boost/test/data/test_case.hpp + $(TEST_ROOT)/include/boost/test/data/for_each_sample.hpp + $(TEST_ROOT)/include/boost/test/data/size.hpp + $(TEST_ROOT)/include/boost/test/data/monomorphic/delayed.hpp + $(TEST_ROOT)/include/boost/test/data/monomorphic/initializer_list.hpp + $(TEST_ROOT)/include/boost/test/data/monomorphic/array.hpp + $(TEST_ROOT)/include/boost/test/data/monomorphic/collection.hpp + $(TEST_ROOT)/include/boost/test/data/monomorphic/generate.hpp + + + $(TEST_ROOT)/include/boost/test/data/monomorphic/grid.hpp + $(TEST_ROOT)/include/boost/test/data/monomorphic/join.hpp + $(TEST_ROOT)/include/boost/test/data/monomorphic/singleton.hpp + $(TEST_ROOT)/include/boost/test/data/monomorphic/zip.hpp # datasets generators - $(BOOST_ROOT)/libs/test/include/boost/test/data/config.hpp - $(BOOST_ROOT)/libs/test/include/boost/test/data/monomorphic/generators.hpp - $(BOOST_ROOT)/libs/test/include/boost/test/data/monomorphic/generators/keywords.hpp - $(BOOST_ROOT)/libs/test/include/boost/test/data/monomorphic/generators/random.hpp - $(BOOST_ROOT)/libs/test/include/boost/test/data/monomorphic/generators/xrange.hpp + $(TEST_ROOT)/include/boost/test/data/config.hpp + $(TEST_ROOT)/include/boost/test/data/monomorphic/generators.hpp + $(TEST_ROOT)/include/boost/test/data/monomorphic/generators/keywords.hpp + $(TEST_ROOT)/include/boost/test/data/monomorphic/generators/random.hpp + $(TEST_ROOT)/include/boost/test/data/monomorphic/generators/xrange.hpp # utils - $(BOOST_ROOT)/libs/test/include/boost/test/utils/algorithm.hpp - $(BOOST_ROOT)/libs/test/include/boost/test/utils/named_params.hpp - $(BOOST_ROOT)/libs/test/include/boost/test/tools/floating_point_comparison.hpp - $(BOOST_ROOT)/libs/test/include/boost/test/utils/is_forward_iterable.hpp + $(TEST_ROOT)/include/boost/test/utils/algorithm.hpp + $(TEST_ROOT)/include/boost/test/utils/named_params.hpp + $(TEST_ROOT)/include/boost/test/tools/floating_point_comparison.hpp + $(TEST_ROOT)/include/boost/test/utils/is_forward_iterable.hpp # BOOST_TEST related functions - $(BOOST_ROOT)/libs/test/include/boost/test/tools/detail/bitwise_manip.hpp - $(BOOST_ROOT)/libs/test/include/boost/test/tools/detail/lexicographic_manip.hpp - $(BOOST_ROOT)/libs/test/include/boost/test/tools/detail/per_element_manip.hpp - $(BOOST_ROOT)/libs/test/include/boost/test/tools/detail/tolerance_manip.hpp + $(TEST_ROOT)/include/boost/test/tools/detail/bitwise_manip.hpp + $(TEST_ROOT)/include/boost/test/tools/detail/lexicographic_manip.hpp + $(TEST_ROOT)/include/boost/test/tools/detail/per_element_manip.hpp + $(TEST_ROOT)/include/boost/test/tools/detail/tolerance_manip.hpp # others - $(BOOST_ROOT)/libs/test/include/boost/test/unit_test_parameters.hpp + $(TEST_ROOT)/include/boost/test/unit_test_parameters.hpp : EXTRACT_ALL=YES "PREDEFINED=\"BOOST_TEST_DECL=\" \\ @@ -102,8 +104,8 @@ doxygen doxygen_reference_generated_doc MACRO_EXPANSION=YES EXPAND_ONLY_PREDEF=YES SEARCH_INCLUDES=YES - INCLUDE_PATH=$(BOOST_ROOT)/libs/test/include - EXAMPLE_PATH=$(BOOST_ROOT)/libs/test/doc/examples + INCLUDE_PATH=$(TEST_ROOT)/include + EXAMPLE_PATH=$(TEST_ROOT)/doc/examples BRIEF_MEMBER_DESC=YES REPEAT_BRIEF=YES ALWAYS_DETAILED_SEC=YES From 970968398f791d5dc77725f1318c68fa904063d4 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sun, 28 Apr 2024 20:17:05 -0500 Subject: [PATCH 04/15] Add missing NO_LIB usage requirements. --- build/Jamfile.v2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/Jamfile.v2 b/build/Jamfile.v2 index bf9a8ed2b7..7419d19c57 100644 --- a/build/Jamfile.v2 +++ b/build/Jamfile.v2 @@ -26,7 +26,7 @@ project # on : usage-requirements - BOOST_TEST_NO_AUTO_LINK=1 + BOOST_TEST_NO_LIB=1 # Disable Warning about boost::noncopyable not being exported shared,msvc:-wd4275 ; From 0ef30eb3ad54312064e88f7c54d17989aaf62d02 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sat, 4 May 2024 23:33:18 -0500 Subject: [PATCH 05/15] Add missing import-search for cconfig/predef checks. --- example/Jamfile.v2 | 1 + 1 file changed, 1 insertion(+) diff --git a/example/Jamfile.v2 b/example/Jamfile.v2 index 4dbd840145..d8a5bffd26 100644 --- a/example/Jamfile.v2 +++ b/example/Jamfile.v2 @@ -11,6 +11,7 @@ import testing ; import os ; # requirements +import-search /boost/config/checks ; import config : requires ; local HAS_UBSAN = "NO_UBSAN" ; # need to defined something From 340dd1c273b6c88296b78e3c1919d0f1ec8ec74a Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sun, 5 May 2024 09:00:01 -0500 Subject: [PATCH 06/15] Add requires-b2 check to top-level build file. --- build.jam | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build.jam b/build.jam index 4770ce1474..5de16a9fbd 100644 --- a/build.jam +++ b/build.jam @@ -3,6 +3,8 @@ # (See accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt) +require-b2 5.1 ; + import project ; project /boost/test From fe4ab81e1ea50b7ebd7260ebd2de012b894885df Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Fri, 14 Jun 2024 11:33:56 -0500 Subject: [PATCH 07/15] Bump B2 require to 5.2 --- build.jam | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/build.jam b/build.jam index 5de16a9fbd..298a708cfd 100644 --- a/build.jam +++ b/build.jam @@ -3,9 +3,7 @@ # (See accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt) -require-b2 5.1 ; - -import project ; +require-b2 5.2 ; project /boost/test : common-requirements From a54f8ed83247636bbbac9d69400721fa855fb681 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sat, 20 Jul 2024 21:26:30 -0500 Subject: [PATCH 08/15] Change all references to . --- example/Jamfile.v2 | 2 +- test/Jamfile.v2 | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/example/Jamfile.v2 b/example/Jamfile.v2 index d8a5bffd26..067714a9f3 100644 --- a/example/Jamfile.v2 +++ b/example/Jamfile.v2 @@ -61,7 +61,7 @@ alias boost_test_examples [ run unit_test_example_08.cpp unit_test_framework ] [ run unit_test_example_09_1.cpp unit_test_example_09_2.cpp unit_test_framework ] - [ run-fail unit_test_example_10.cpp unit_test_framework/static : : : /boost/lexical_cast//boost_lexical_cast ] + [ run-fail unit_test_example_10.cpp unit_test_framework/static : : : /boost/lexical_cast//boost_lexical_cast ] [ run-fail unit_test_example_11.cpp unit_test_framework/static ] [ link unit_test_example_12.cpp unit_test_framework/static ] [ run unit_test_example_13.cpp ] diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index a599000b34..de992d7e22 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -102,7 +102,7 @@ rule docs-example-as-test ( test-file ) : : : $(requirements_documentation) # requirements - /boost/rational//boost_rational + /boost/rational//boost_rational ] ; } @@ -142,11 +142,11 @@ test-suite "usage-variants-ts" test-suite "framework-ts" : - # [ boost.test-self-test run : framework-ts : result-report-test : : baseline-outputs/result-report-test.pattern baseline-outputs/result_report_test.pattern.default_behaviour : : : : /boost/lexical_cast//boost_lexical_cast ] - [ boost.test-self-test run : framework-ts : log-formatter-test : : baseline-outputs/log-formatter-context-test.pattern baseline-outputs/log-formatter-test.pattern baseline-outputs/log-formatter-test.pattern.junit : : : : /boost/lexical_cast//boost_lexical_cast ] # should be ordered alphabetically + # [ boost.test-self-test run : framework-ts : result-report-test : : baseline-outputs/result-report-test.pattern baseline-outputs/result_report_test.pattern.default_behaviour : : : : /boost/lexical_cast//boost_lexical_cast ] + [ boost.test-self-test run : framework-ts : log-formatter-test : : baseline-outputs/log-formatter-context-test.pattern baseline-outputs/log-formatter-test.pattern baseline-outputs/log-formatter-test.pattern.junit : : : : /boost/lexical_cast//boost_lexical_cast ] # should be ordered alphabetically [ boost.test-self-test run : framework-ts : run-by-name-or-label-test ] [ boost.test-self-test run : framework-ts : version-uses-module-name : included ] - [ boost.test-self-test run : framework-ts : test-macro-global-fixture : : baseline-outputs/global-fixtures-test.pattern : : : : /boost/lexical_cast//boost_lexical_cast ] + [ boost.test-self-test run : framework-ts : test-macro-global-fixture : : baseline-outputs/global-fixtures-test.pattern : : : : /boost/lexical_cast//boost_lexical_cast ] [ boost.test-self-test run : framework-ts : message-in-datatestcase-test : : baseline-outputs/messages-in-datasets-test.pattern : : : : $(requirements_datasets) ] [ boost.test-self-test run : framework-ts : decorators-datatestcase-test : : : : : : $(requirements_datasets) ] [ compile-fail framework-ts/master-test-suite-non-copyable-test.cpp ../build//included ] @@ -167,7 +167,7 @@ test-suite "writing-test-ts" [ boost.test-self-test run : writing-test-ts : collection-comparison-test : : : : : : $(requirements_boost_test_full_support) [ requires cxx11_unified_initialization_syntax ] ] # required by the test content [ boost.test-self-test run : writing-test-ts : dont_print_log_value-test : : : : : : $(requirements_datasets) ] [ boost.test-self-test run : writing-test-ts : fp-comparisons-test : : : : : : $(requirements_boost_test_full_support) ] - [ boost.test-self-test run : writing-test-ts : fp-multiprecision-comparison-test : : : : : : $(requirements_boost_test_full_support) [ requires cxx14_decltype_auto cxx14_generic_lambdas cxx14_return_type_deduction cxx14_variable_templates cxx14_constexpr ] /boost/multiprecision//boost_multiprecision ] + [ boost.test-self-test run : writing-test-ts : fp-multiprecision-comparison-test : : : : : : $(requirements_boost_test_full_support) [ requires cxx14_decltype_auto cxx14_generic_lambdas cxx14_return_type_deduction cxx14_variable_templates cxx14_constexpr ] /boost/multiprecision//boost_multiprecision ] [ boost.test-self-test run : writing-test-ts : fp-no-comparison-for-incomplete-types-test ] [ boost.test-self-test run : writing-test-ts : fp-relational-operator ] [ boost.test-self-test run : writing-test-ts : output_test_stream-test ] From 4696905cf91145e9674cb487b4f1a236a43d929f Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sat, 20 Jul 2024 22:52:03 -0500 Subject: [PATCH 09/15] Update copyright dates. --- build.jam | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.jam b/build.jam index 298a708cfd..9bfc04dcc8 100644 --- a/build.jam +++ b/build.jam @@ -1,4 +1,4 @@ -# Copyright René Ferdinand Rivera Morell 2023 +# Copyright René Ferdinand Rivera Morell 2023-2024 # 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) From ee0cf6c2ba3f17cd2f6fdd09927d040cf1b827c8 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Tue, 23 Jul 2024 22:34:22 -0500 Subject: [PATCH 10/15] Move inter-lib dependencies to a project variable and into the build targets. --- build.jam | 47 +++++++++++++++++++++++++---------------------- build/Jamfile.v2 | 1 + 2 files changed, 26 insertions(+), 22 deletions(-) diff --git a/build.jam b/build.jam index 9bfc04dcc8..a508be80d9 100644 --- a/build.jam +++ b/build.jam @@ -5,40 +5,42 @@ require-b2 5.2 ; +constant boost_dependencies : + /boost/algorithm//boost_algorithm + /boost/assert//boost_assert + /boost/bind//boost_bind + /boost/config//boost_config + /boost/core//boost_core + /boost/detail//boost_detail + /boost/exception//boost_exception + /boost/function//boost_function + /boost/io//boost_io + /boost/iterator//boost_iterator + /boost/mpl//boost_mpl + /boost/numeric_conversion//boost_numeric_conversion + /boost/optional//boost_optional + /boost/preprocessor//boost_preprocessor + /boost/smart_ptr//boost_smart_ptr + /boost/static_assert//boost_static_assert + /boost/type_traits//boost_type_traits + /boost/utility//boost_utility ; + project /boost/test : common-requirements - /boost/algorithm//boost_algorithm - /boost/assert//boost_assert - /boost/bind//boost_bind - /boost/config//boost_config - /boost/core//boost_core - /boost/detail//boost_detail - /boost/exception//boost_exception - /boost/function//boost_function - /boost/io//boost_io - /boost/iterator//boost_iterator - /boost/mpl//boost_mpl - /boost/numeric_conversion//boost_numeric_conversion - /boost/optional//boost_optional - /boost/preprocessor//boost_preprocessor - /boost/smart_ptr//boost_smart_ptr - /boost/static_assert//boost_static_assert - /boost/type_traits//boost_type_traits - /boost/utility//boost_utility include ; explicit - [ alias boost_test ] + [ alias boost_test : : : : $(boost_dependencies) ] [ alias boost_prg_exec_monitor : build//boost_prg_exec_monitor ] [ alias boost_test_exec_monitor : build//boost_test_exec_monitor ] [ alias boost_unit_test_framework : build//boost_unit_test_framework ] [ alias prg_exec_monitor : boost_prg_exec_monitor ] [ alias test_exec_monitor : boost_test_exec_monitor ] [ alias unit_test_framework : boost_unit_test_framework ] - [ alias boost_included_prg_exec_monitor ] - [ alias boost_included_test_exec_monitor ] - [ alias boost_included_unit_test_framework ] + [ alias boost_included_prg_exec_monitor : : : : $(boost_dependencies) ] + [ alias boost_included_test_exec_monitor : : : : $(boost_dependencies) ] + [ alias boost_included_unit_test_framework : : : : $(boost_dependencies) ] [ alias included_prg_exec_monitor : boost_included_prg_exec_monitor ] [ alias included_test_exec_monitor : boost_included_test_exec_monitor ] [ alias included_unit_test_framework : boost_included_unit_test_framework ] @@ -54,3 +56,4 @@ call-if : boost-library test boost_test_exec_monitor boost_unit_test_framework ; + diff --git a/build/Jamfile.v2 b/build/Jamfile.v2 index 7419d19c57..d26622d6aa 100644 --- a/build/Jamfile.v2 +++ b/build/Jamfile.v2 @@ -12,6 +12,7 @@ import predef project : source-location ../src + : common-requirements $(boost_dependencies) : requirements shared:BOOST_TEST_DYN_LINK=1 borland:-w-8080 cygwin:_POSIX_C_SOURCE=200112L From d002cd5d1509040d88806b4e94cd17583257b60e Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Thu, 25 Jul 2024 23:25:41 -0500 Subject: [PATCH 11/15] Add included target to mirror build//* targets. --- build.jam | 1 + 1 file changed, 1 insertion(+) diff --git a/build.jam b/build.jam index a508be80d9..dd6db1f895 100644 --- a/build.jam +++ b/build.jam @@ -41,6 +41,7 @@ explicit [ alias boost_included_prg_exec_monitor : : : : $(boost_dependencies) ] [ alias boost_included_test_exec_monitor : : : : $(boost_dependencies) ] [ alias boost_included_unit_test_framework : : : : $(boost_dependencies) ] + [ alias included : : : : $(boost_dependencies) ] [ alias included_prg_exec_monitor : boost_included_prg_exec_monitor ] [ alias included_test_exec_monitor : boost_included_test_exec_monitor ] [ alias included_unit_test_framework : boost_included_unit_test_framework ] From 6e63cd03627659ec9b4ec8b344cea7fdc3a4f6f7 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Wed, 7 Aug 2024 23:40:45 -0500 Subject: [PATCH 12/15] Add missing import-search. --- build/Jamfile.v2 | 1 + test/Jamfile.v2 | 1 + 2 files changed, 2 insertions(+) diff --git a/build/Jamfile.v2 b/build/Jamfile.v2 index d26622d6aa..5838c6bcab 100644 --- a/build/Jamfile.v2 +++ b/build/Jamfile.v2 @@ -6,6 +6,7 @@ import os ; +import-search /boost/predef/tools/check ; import predef : check : predef-check ; diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index de992d7e22..28fd556de6 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -18,6 +18,7 @@ project : requirements ; +import-search /boost/predef/tools/check ; import predef : check require : predef-check predef-require ; From 47a41e52ca3d9e44ecc43e71df7fc48e78a2bea5 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Thu, 8 Aug 2024 21:45:19 -0500 Subject: [PATCH 13/15] Change Boost Test build refs to work with both old and modular test lib targets. --- tools/console_test_runner/Jamfile.v2 | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/tools/console_test_runner/Jamfile.v2 b/tools/console_test_runner/Jamfile.v2 index c95e71811e..cbc6ff29e3 100644 --- a/tools/console_test_runner/Jamfile.v2 +++ b/tools/console_test_runner/Jamfile.v2 @@ -1,6 +1,6 @@ # (C) Copyright Gennadiy Rozental 2008-2014. -# Use, modification, and distribution are subject to the -# Boost Software License, Version 1.0. (See accompanying file +# Use, modification, and distribution are subject to 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 http://www.boost.org/libs/test for the library home page. @@ -10,29 +10,29 @@ project libs/test/tools/console_test_runner ; alias unit_test_framework : # sources - /boost//unit_test_framework - ; + /boost/test//boost_unit_test_framework + ; alias test_runner_src : # sources src/console_test_runner.cpp - unit_test_framework - ; + unit_test_framework + ; # make aliases explicit so the libraries will only be built when requested explicit unit_test_framework ; explicit test_runner_src ; -lib dl ; +lib dl ; -lib test_runner_test : test/test_runner_test.cpp unit_test_framework ; +lib test_runner_test : test/test_runner_test.cpp unit_test_framework ; -exe console_test_runner +exe console_test_runner : test_runner_src - dl + dl ; -exe console_test_runner +exe console_test_runner : test_runner_src : windows ; From 48cb734280f1d88cddeea731a616c651af6b0337 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Fri, 9 Aug 2024 20:45:28 -0500 Subject: [PATCH 14/15] Update build deps. --- example/Jamfile.v2 | 1 + test/Jamfile.v2 | 1 + 2 files changed, 2 insertions(+) diff --git a/example/Jamfile.v2 b/example/Jamfile.v2 index 067714a9f3..8e41b6e7df 100644 --- a/example/Jamfile.v2 +++ b/example/Jamfile.v2 @@ -26,6 +26,7 @@ ECHO $(HAS_UBSAN:J) ; project : : requirements + /boost/test//boost_test clang:-Wno-c99-extensions $(HAS_UBSAN:J) ; diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index 28fd556de6..f264483465 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -16,6 +16,7 @@ import config : requires ; project : requirements + /boost/test//boost_test ; import-search /boost/predef/tools/check ; From f79e7c53c152abe5f6c8adce444a05a405c26258 Mon Sep 17 00:00:00 2001 From: Matt Borland Date: Fri, 4 Apr 2025 14:41:16 -0400 Subject: [PATCH 15/15] Update UBSAN CI run --- .github/workflows/ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 92efb3a048..056a62cda6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -110,13 +110,13 @@ jobs: install: - g++-12-multilib - name: UBSAN - toolset: gcc-12 - cxxstd: "17" + toolset: gcc-13 + cxxstd: "11" address_model: 64 ubsan: 1 - os: ubuntu-22.04 + os: ubuntu-24.04 install: - - g++-12-multilib + - g++-13-multilib # Linux, clang - toolset: clang