# boost test, as well as the performance test and comprehensive
# tests.
+# import rules for testing conditional on config file variables
+import ../../config/checks/config : requires ;
+
BOOST_ARCHIVE_LIST = [ modules.peek : BOOST_ARCHIVE_LIST ] ;
# these are used to shorten testing while in development. It permits
BOOST_SERIALIZATION_TEST = true ;
}
-rule run-template ( test-name : sources * : requirements * ) {
+rule run-template ( test-name : sources * : files * : requirements * ) {
return [
run
$(sources)
: # command
- : # input files
+ : #input files
+ $(files)
: # requirements
# toolset warnings
<toolset>borland:<cxxflags>"-w-8080 -w-8071 -w-8057 -w-8062 -w-8008 -w-0018 -w-8066"
<toolset>clang:<variant>debug:<cxxflags>"-fsanitize=memory"
# toolset optimizations
<toolset>gcc:<cxxflags>"-ftemplate-depth-255"
- <toolset>qcc:<cxxflags>"-ftemplate-depth-255"
<toolset>clang:<cxxflags>"-ftemplate-depth-255"
<toolset>darwin:<cxxflags>"-ftemplate-depth-255"
<toolset>msvc:<cxxflags>"-Gy"
}
# each of the following tests is run with each type of archive
-rule run-invoke ( test-name : sources * : requirements * )
+rule run-invoke ( test-name : sources * : files * : requirements * )
{
local save-test = [ dependency-save-test $(test-name) ] ;
: # sources
$(sources)
../build//boost_serialization
+ : # input files
: # requirements
$(requirements)
<define>BOOST_LIB_DIAGNOSTIC=1
}
# each of the following tests is run with each type of archive
-rule run-winvoke ( test-name : sources * : requirements * )
+rule run-winvoke ( test-name : sources * : files * : requirements * )
{
local save-test = [ dependency-save-test $(test-name) ] ;
$(sources)
../build//boost_serialization
../build//boost_wserialization
+ : # input files
: # requirements
$(requirements)
<define>BOOST_LIB_DIAGNOSTIC=1
# both stlport and msvc6 define iswspace
<toolset>msvc,<stdlib>stlport:<linkflags>"-force:multiple"
<dependency>$(save-test)
- <dependency>../../config/test/all//BOOST_NO_STD_WSTREAMBUF
+ [ requires std_wstreambuf ]
] ;
return $(tests) ;
}
run-template $(test-name)
: # sources
$(test-name).cpp $(sources).cpp
- :
+ : # input files
+ : # requirements
$(requirements)
] ;
return $(tests) ;
run-invoke $(test-name)
: # sources
$(test-name).cpp $(sources).cpp $(libs)
- :
+ : # input files
+ : # requirements
$(requirements)
] ;
return $(tests) ;
case "*_warchive" :
tests += [
run-winvoke $(test-name)_$(archive-name)
- :
+ : # sources
$(sources).cpp $(libs)
- :
+ : # input files
+ : # requirements
<define>BOOST_ARCHIVE_TEST=$(archive-name).hpp
$(requirements)
] ;
case "*" :
tests += [
run-invoke $(test-name)_$(archive-name)
- :
+ : # sources
$(sources).cpp $(libs)
- :
+ : # input files
+ : # requirements
<define>BOOST_ARCHIVE_TEST=$(archive-name).hpp
$(requirements)
] ;
test-bsl-run_archive $(test-name)
: $(defn:LB)
: $(test-name) $(sources)
- : $(libs)
- : $(requirements)
+ : $(libs)
+ : $(requirements)
] ;
}
return $(tests) ;
}
-rule test-bsl-run_polymorphic_archive ( test-name : sources * : requirements * ) {
+rule test-bsl-run_polymorphic_files ( test-name : sources * : libs * : requirements * ) {
local tests ;
for local defn in $(BOOST_ARCHIVE_LIST) {
+ ECHO polymorphic_$(defn:LB) ;
tests += [
- test-bsl-run_archive $(test-name)
- : polymorphic_$(defn:LB)
- : $(test-name) $(sources) $(requirements)
+ test-bsl-run_archive $(test-name)
+ : polymorphic_$(defn:LB)
+ : $(test-name) $(sources)
+ : $(libs)
+ : $(requirements)
] ;
}
return $(tests) ;