• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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