blob: f6f537766dc070b9fed9d5da11d3147fa3901463 [file] [log] [blame]
#~ Copyright 2006-2008 Rene Rivera.
#~ Distributed under the Boost Software License, Version 1.0.
#~ (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
TESTS =
action_status
actions_quietly
builtin_normalize_path
builtin_shell
builtin_w32_getregnames
option_d2
option_l
option_n
parallel_actions
parallel_multifile_actions_1
parallel_multifile_actions_2
rule_param
stress_var_expand
target_var
var_expand
;
BJAM ?= bjam ;
#############################################################################
if $(BJAM_RUN_TEST)
{
fail-count = 0 ;
pass-count = 0 ;
rule message ( message * )
{
local b = [ BACKTRACE ] ;
ECHO "$(b[-4]):$(b[-3]):" $(message) ;
}
rule fail ( message * )
{
fail-count = [ CALC $(fail-count) + 1 ] ;
message "error:" [FAILED] $(message) ;
}
rule pass ( message * )
{
pass-count = [ CALC $(pass-count) + 1 ] ;
if --verbose in $(ARGV)
{
message "info:" [PASSED] $(message) ;
}
}
rule assert ( expected * : test ? : obtained * )
{
test ?= "(==)" ;
local r = 0 ;
if $(test) = "(==)" && "*$(expected)*" != "*$(obtained)*"
{
fail '$(expected)' $(test) '$(obtained)' ;
}
else if $(test) = "(!=)" && "*$(expected)*" = "*$(obtained)*"
{
fail '$(expected)' $(test) '$(obtained)' ;
}
else
{
pass '$(expected)' $(test) '$(obtained)' ;
}
}
include $(BJAM_RUN_TEST).jam ;
EXIT --- $(BJAM_RUN_TEST): PASSED($(pass-count)) *FAILED($(fail-count))* : $(fail-count) ;
}
else
{
ECHO "Testing: $(BJAM)" ;
fail-count = 0 ;
for local test in $(TESTS)
{
local result = [ SHELL "\"$(BJAM)\" -f test.jam -sBJAM_RUN_TEST=$(test)" : exit-status ] ;
fail-count = [ CALC $(fail-count) + $(result[1]) ] ;
ECHO $(result[0]) ;
}
EXIT --- Complete: *FAILED($(fail-count))* : $(fail-count) ;
}