1import os ; 2import path ; 3import regex ; 4import testing ; 5 6local DATE_TIME_DYNAMIC_PROPERTIES = <define>BOOST_ALL_DYN_LINK <runtime-link>shared <define>BOOST_DATE_TIME_POSIX_TIME_STD_CONFIG <define>BOOST_ALL_NO_LIB ; 7local DATE_TIME_PROPERTIES = <define>BOOST_DATE_TIME_POSIX_TIME_STD_CONFIG 8 # FIXME 9 #std::locale-support 10 <define>BOOST_ALL_NO_LIB ; 11 12# core stuff 13run testint_adapter.cpp ; 14run testtime_resolution_traits.cpp ; 15run testwrapping_int.cpp ; 16run testconstrained_value.cpp ; 17run testgregorian_calendar.cpp ; 18run testgeneric_period.cpp ; 19# the library dependence below is just to test that the 20# stub library will build, it's completely uneeded not that 21# date-time is all inline 22run testmisc.cpp 23 ../build//boost_date_time/<link>static 24 : : : <define>BOOST_DATE_TIME_POSIX_TIME_STD_CONFIG 25 : testmisc_std_cfg ; 26 27### gregorian 28 29run gregorian/testdate.cpp ; 30run gregorian/testdate_duration.cpp ; 31run gregorian/testdate_facet_new.cpp ; 32run gregorian/testdate_input_facet.cpp ; 33run gregorian/testdate_iterator.cpp ; 34 35run gregorian/testgenerators.cpp ; 36run gregorian/testgreg_cal.cpp ; 37run gregorian/testgreg_day.cpp ; 38run gregorian/testgreg_durations.cpp ; 39run gregorian/testgreg_month.cpp ; 40run gregorian/testgreg_year.cpp ; 41run gregorian/testformatters.cpp ; 42run gregorian/testparse_date.cpp ; 43run gregorian/testperiod.cpp ; 44 45run gregorian/testgreg_serialize.cpp 46 ../../serialization/build//boost_serialization 47 : : : <define>DATE_TIME_XML_SERIALIZE 48 : testgreg_serialize_xml ; 49 50run gregorian/testgreg_serialize.cpp 51 ../../serialization/build//boost_serialization 52 : : : 53 : testgreg_serialize ; 54 55run posix_time/testfiletime_functions.cpp ; 56run posix_time/testlocal_adjustor.cpp ; 57run posix_time/testc_local_adjustor.cpp ; 58run posix_time/testclock.cpp ; 59run posix_time/testdst_rules.cpp ; 60run posix_time/testduration.cpp ; 61run posix_time/testiterator.cpp ; 62run posix_time/testparse_time.cpp ; 63run posix_time/testtime_period.cpp ; 64run posix_time/testtime.cpp ; 65run posix_time/testmicrosec_time_clock.cpp ; 66run posix_time/testgreg_duration_operators.cpp ; 67run posix_time/testtime_facet.cpp ; 68run posix_time/testtime_input_facet.cpp 69 : : : <define>BOOST_DATE_TIME_POSIX_TIME_STD_CONFIG 70 : testtime_input_facet ; 71 72run posix_time/testtime_formatters.cpp 73 : : : <define>BOOST_DATE_TIME_POSIX_TIME_STD_CONFIG 74 : testtime_formatters ; 75 76# text archive tests 77run posix_time/testtime_serialize.cpp 78 ../../serialization/build//boost_serialization 79 : : : 80 : testtime_serialize ; 81 82run posix_time/testtime_serialize.cpp 83 ../../serialization/build//boost_serialization 84 : : : <define>BOOST_DATE_TIME_POSIX_TIME_STD_CONFIG 85 : testtime_serialize_std_config ; 86 87# xml archive tests 88run posix_time/testtime_serialize.cpp 89 ../../serialization/build//boost_serialization 90 : : : <define>DATE_TIME_XML_SERIALIZE <define>BOOST_DATE_TIME_POSIX_TIME_STD_CONFIG 91 : testtime_serialize_xml_std_config ; 92 93run posix_time/testtime_serialize.cpp 94 ../../serialization/build//boost_serialization 95 : : : <define>DATE_TIME_XML_SERIALIZE 96 : testtime_serialize_xml ; 97 98# versioning tests 99run posix_time/testtime_serialize_versioning.cpp 100 ../../serialization/build//boost_serialization 101 : : testtime_serialize_versioning_prev 102 : <define>BOOST_DATE_TIME_POSIX_TIME_STD_CONFIG 103 : testtime_serialize_versioning_curr ; 104 105run posix_time/testtime_serialize_versioning.cpp 106 ../../serialization/build//boost_serialization 107 : : : <define>BOOST_DATE_TIME_POSIX_TIME_DURATION_VERSION=0 108 : testtime_serialize_versioning_prev ; 109 110 111 112 113compile-fail posix_time/compile_fail/hours_special_value.cpp ; 114compile-fail posix_time/compile_fail/minutes_special_value.cpp ; 115compile-fail posix_time/compile_fail/seconds_special_value.cpp ; 116compile-fail posix_time/compile_fail/millisec_special_value.cpp ; 117 118run local_time/testdst_transition_day_rule.cpp ; 119run local_time/testcustom_time_zone.cpp ; 120run local_time/testposix_time_zone.cpp ; 121run local_time/testwcustom_time_zone.cpp ; 122run local_time/testwposix_time_zone.cpp ; 123run local_time/testlocal_time.cpp ; 124run local_time/testlocal_time_iterator.cpp ; 125run local_time/testlocal_time_period.cpp ; 126 127run local_time/testtz_database.cpp 128 : : ../data/date_time_zonespec.csv local_time/poorly_formed_zonespec.csv 129 : ; 130run local_time/testlocal_time_facet.cpp 131 : : ../data/date_time_zonespec.csv : ; 132run local_time/testclocks.cpp ; 133 134 135#todo 136#if ! [ os.environ UBSAN_OPTIONS ] 137#{ 138# local DATE_TIME_PROPERTIES = <define>BOOST_ALL_NO_LIB <define>USE_DATE_TIME_PRE_1_33_FACET_IO 139# # FIXME 140# # std::locale-support toolset::require-boost-spirit-support 141# ; 142 143# Iterate over all public headers and generate a self-contained header test to check for any missing includes 144# and basic syntax errors. 145if ! [ os.environ BOOST_DATE_TIME_TEST_WITHOUT_SELF_CONTAINED_HEADER_TESTS ] 146{ 147 local headers_path = [ path.make $(BOOST_ROOT)/libs/date_time/include/boost ] ; 148 for file in [ path.glob-tree $(headers_path) : *.hpp ] 149 { 150 local rel_file = [ path.relative-to $(headers_path) $(file) ] ; 151 # Note: The test name starts with '~' in order to group these tests in the test report table, preferably at the end. 152 # All '/' are replaced with '-' because apparently test scripts have a problem with test names containing slashes. 153 local test_name = [ regex.replace ~hdr/$(rel_file) "/" "-" ] ; 154 #ECHO $(rel_file) ; 155 compile self_contained_header.cpp : <define>"BOOST_DATE_TIME_TEST_HEADER=$(rel_file)" <dependency>$(file) : $(test_name) ; 156 } 157} 158 159 160# Copyright (c) 2000-2020 161# CrystalClear Software, Inc. 162# Subject to the Boost Software License, Version 1.0. 163# (See accompanying file LICENSE_1_0.txt or 164# http://www.boost.org/LICENSE_1_0.txt) 165 166 167 168 169