test.jam
来自「Boost provides free peer-reviewed portab」· JAM 代码 · 共 177 行
JAM
177 行
# Boost serialization Library utility test Jamfile# (C) Copyright Robert Ramey 2002-2004.# 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)## the file contains Jam rules which are used in both the normal# boost test, as well as the performance test and comprehensive# tests.BOOST_ARCHIVE_LIST = [ modules.peek : BOOST_ARCHIVE_LIST ] ;# these are used to shorten testing while in development. It permits# testing to be applied to just a particular type of archiveif ! $(BOOST_ARCHIVE_LIST) { BOOST_ARCHIVE_LIST = "text_archive.hpp" "text_warchive.hpp" "binary_archive.hpp" "xml_archive.hpp" "xml_warchive.hpp" ; # enable the tests which don't depend on a particular archive BOOST_SERIALIZATION_TEST = true ;}rule run-template ( test-name : sources * : requirements * ) { return [ run $(sources) : # command : # input files : # requirements # toolset suppress-warnings <toolset>gcc:<cxxflags>"-Wno-non-virtual-dtor -Wno-ctor-dtor-privacy" <toolset>msvc-8.0:<cxxflags>"-wd4996" <toolset>borland:<cxxflags>"-w-8080 -w-8071 -w-8057 -w-8062 -w-8008 -w-0018 -w-8066" # toolset optimizations <toolset>gcc:<cxxflags>"-ftemplate-depth-255" <toolset>msvc:<cxxflags>"-Gy" $(requirements) : # test name $(test-name) ] ;}# Given a name of test, return the 'save' test that must be run# before the named test, or empty string if there's no such test.rule dependency-save-test ( test ){ local m = [ MATCH (.*)load(.*) : $(test) ] ; if $(m) { return $(m[1])save$(m[2]) ; } }# each of the following tests is run with each type of archiverule run-invoke ( test-name : sources * : defns * ){ local save-test = [ dependency-save-test $(test-name) ] ; local tests ; tests += [ run-template $(test-name) : # sources $(sources) ../build//boost_serialization : # requirements <define>$(defns) <define>BOOST_LIB_DIAGNOSTIC=1 <dependency>$(save-test) ] ; return $(tests) ;}# each of the following tests is run with each type of archiverule run-winvoke ( test-name : sources * : defns * ){ local save-test = [ dependency-save-test $(test-name) ] ; local tests ; tests += [ run-template $(test-name) : # sources $(sources) ../build//boost_serialization ../build//boost_wserialization : # requirements <define>$(defns) <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 ] ; return $(tests) ;}# for tests which don't use library code - usually just headersrule test-bsl-run-no-lib ( test-name : sources * : requirements * ){ local tests ; tests += [ run-template $(test-name) : # sources $(test-name).cpp $(sources).cpp : $(requirements) ] ; return $(tests) ;}rule test-bsl-run ( test-name : sources * : requirements * ){ local tests ; tests += [ run-invoke $(test-name) : # sources $(test-name).cpp $(sources).cpp : $(requirements) ] ; return $(tests) ;}rule test-bsl-run_archive ( test-name : archive-name : sources * ) { local tests ; switch $(archive-name) { case "*_warchive" : tests += [ run-winvoke $(test-name)_$(archive-name) : $(sources).cpp : BOOST_ARCHIVE_TEST=$(archive-name).hpp ] ; case "*" : tests += [ run-invoke $(test-name)_$(archive-name) : $(sources).cpp : BOOST_ARCHIVE_TEST=$(archive-name).hpp ] ; } return $(tests) ;}rule test-bsl-run_files ( test-name : sources * ) { local tests ; for local defn in $(BOOST_ARCHIVE_LIST) { tests += [ test-bsl-run_archive $(test-name) : $(defn:LB) : $(test-name) $(sources) ] ; } return $(tests) ;} rule test-bsl-run_polymorphic_archive ( test-name : sources * ) { local tests ; for local defn in $(BOOST_ARCHIVE_LIST) { tests += [ test-bsl-run_archive $(test-name) : polymorphic_$(defn:LB) : $(test-name) $(sources) ] ; } return $(tests) ;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?