📄 jamfile
字号:
#==============================================================================
# Copyright (c) 2002 Joel de Guzman
# Copyright (c) 2003 Martin Wille
# http://spirit.sourceforge.net/
#
# Use, modification and distribution is 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)
#==============================================================================
#
# Spirit regression test boost-jam file
# Joel de Guzman [Sept 27, 2002]
#
subproject libs/spirit/test ;
spirit-header-include = ;
if ($SPIRIT_HEADER_INCLUDE)
{
spirit-header-include = <include>$(SPIRIT_HEADER_INCLUDE) ;
}
spirit-src = ./ ;
if $(SPIRIT_SRC_INCLUDE)
{
spirit-src = $(SPIRIT_SRC_INCLUDE)/ ;
}
############################################################
# include testing.jam
# extend testing.jam's functionality
#
SEARCH on testing.jam = $(BOOST_BUILD_PATH) ;
include testing.jam ;
rule spirit-run-debug ( sources + : args * : input-files * : requirements * : name ? : default-build * )
{
local gRUN_TEST_ARGS = $(args) ;
local gRUN_TEST_INPUT_FILES = $(input-files) ;
SEARCH on $(input-files) = $(SEARCH_SOURCE) ;
name ?= $(sources[1]:D=:S=) ;
name = $(name)_debug ;
return [ boost-test $(sources) : RUN : $(requirements) <define>BOOST_SPIRIT_DEBUG=1 : $(name) : $(default-build) ] ;
}
rule spirit-run ( sources + : args * : input-files * : requirements * : name ? : default-build * )
{
run $(sources) : $(args) : $(input-files) : $(requirements) : $(name) : $(default-build) ;
spirit-run-debug $(sources) : $(args) : $(input-files) : $(requirements) : $(name) : $(default-build) ;
}
############################################################
{
template opt : : :
<vc7><*><optimization>speed
<vc7><*><inlining>on
<metrowerks><*><optimization>speed
$(spirit-header-include)
;
template opt-metrowerks : : :
<metrowerks><*><optimization>speed
$(spirit-header-include)
;
if ($(COMO_BASE) && $(UNIX))
{ # no MT support available
template multi-threading : : :
$(spirit-header-include)
;
}
else
{
template multi-threading : <dll>../../thread/build/boost_thread : :
<threading>multi
$(spirit-header-include)
;
}
template normal : : :
$(spirit-header-include)
;
test-suite "spirit.core.kernel"
: [ spirit-run $(spirit-src)match_tests.cpp <template>normal ]
;
test-suite "spirit.core.scanner"
: [ spirit-run $(spirit-src)scanner_tests.cpp <template>normal ]
;
test-suite "spirit.core.primitive"
: [ spirit-run $(spirit-src)primitives_tests.cpp <template>normal ]
[ spirit-run $(spirit-src)numerics_tests.cpp <template>opt ]
;
test-suite "spirit.core.composite"
: [ spirit-run $(spirit-src)composite_tests.cpp <template>opt ]
[ spirit-run $(spirit-src)epsilon_tests.cpp <template>normal ]
[ spirit-run $(spirit-src)operators_tests.cpp <template>normal ]
[ spirit-run $(spirit-src)directives_tests.cpp <template>normal ]
;
test-suite "spirit.core.non_terminal"
: [ spirit-run $(spirit-src)rule_tests.cpp <template>normal ]
[ spirit-run $(spirit-src)owi_st_tests.cpp <template>normal ]
[ spirit-run $(spirit-src)grammar_tests.cpp <template>opt-metrowerks ]
[ spirit-run $(spirit-src)subrule_tests.cpp <template>normal ]
[ run $(spirit-src)owi_mt_tests.cpp <template>multi-threading ]
[ run $(spirit-src)grammar_mt_tests.cpp <template>multi-threading ]
[ spirit-run $(spirit-src)parser_context_test.cpp <template>normal ]
;
# traverse_tests defines SPIRIT_DEBUG, don't run the tests twice
test-suite "spirit.meta"
: [ spirit-run $(spirit-src)fundamental_tests.cpp <template>normal ]
[ spirit-run $(spirit-src)parser_traits_tests.cpp <template>normal ]
[ spirit-run $(spirit-src)traverse_tests.cpp <template>normal ]
;
test-suite "spirit.attribute"
: [ spirit-run $(spirit-src)closure_tests.cpp <template>opt-metrowerks ]
[ run $(spirit-src)bug_000008.cpp <template>multi-threading ]
[ spirit-run $(spirit-src)parametric_tests.cpp <template>normal ]
;
test-suite "spirit.error_handling"
: [ spirit-run $(spirit-src)exception_tests.cpp <template>normal ]
;
test-suite "spirit.tree"
: [ spirit-run $(spirit-src)ast_calc_tests.cpp <template>normal ]
;
# temporarily removed from the test suite. tree_tests are not finished, yet.
# [ spirit-run $(spirit-src)tree_tests.cpp <template>normal ]
test-suite "spirit.dynamic"
: [ compile $(spirit-src)if_p_as_parser_tests.cpp <template>normal ]
[ compile $(spirit-src)while_p_as_parser_tests.cpp <template>normal ]
[ compile $(spirit-src)for_p_as_parser_tests.cpp <template>normal ]
[ spirit-run $(spirit-src)if_tests.cpp <template>normal ]
[ spirit-run $(spirit-src)for_tests.cpp <template>normal ]
[ spirit-run $(spirit-src)while_tests.cpp <template>normal ]
[ spirit-run $(spirit-src)lazy_tests.cpp <template>normal ]
[ spirit-run $(spirit-src)switch_tests_eps_default.cpp <template>normal ]
[ spirit-run $(spirit-src)switch_tests_general_default.cpp <template>normal ]
[ spirit-run $(spirit-src)switch_tests_wo_default.cpp <template>normal ]
[ spirit-run $(spirit-src)switch_tests_single.cpp <template>normal ]
;
test-suite "spirit.utility.parsers"
: [ spirit-run $(spirit-src)chset_tests.cpp <template>normal ]
[ spirit-run $(spirit-src)confix_tests.cpp <template>normal ]
[ spirit-run $(spirit-src)loops_tests.cpp <template>normal ]
[ spirit-run $(spirit-src)symbols_tests.cpp <template>normal ]
[ spirit-run $(spirit-src)escape_char_parser_tests.cpp <template>opt ]
[ spirit-run $(spirit-src)distinct_tests.cpp <template>normal ]
;
test-suite "spirit.utility.support"
# This test doesn't actually use multiple threads
: [ spirit-run $(spirit-src)scoped_lock_tests.cpp <template>multi-threading ]
;
test-suite "spirit.iterator"
: [ spirit-run $(spirit-src)fixed_size_queue_tests.cpp <template>normal ]
[ compile-fail $(spirit-src)fixed_size_queue_fail_tests.cpp <template>normal ]
[ spirit-run $(spirit-src)file_iterator_tests.cpp <template>normal ]
[ spirit-run $(spirit-src)multi_pass_tests.cpp <template>opt-metrowerks ]
[ spirit-run $(spirit-src)sf_bug_720917.cpp <template>opt-metrowerks ]
[ spirit-run $(spirit-src)position_iterator_tests.cpp <template>opt-metrowerks ]
;
test-suite "spirit.small_bug_fixes"
: [ spirit-run $(spirit-src)bug_fixes.cpp <template>normal ]
;
actor_test_sources =
action_tests
assign_test
assign_key_test
clear_test
decrement_test
erase_at_test
increment_test
insert_key_test
push_back_test
push_front_test
swap_test
unit_test
;
test-suite "spirit.utility.actors"
: [ spirit-run $(spirit-src)actor/$(actor_test_sources).cpp <template>normal ]
;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -