diff options
Diffstat (limited to 'tools/build/v2/test/recursive.jam')
-rw-r--r-- | tools/build/v2/test/recursive.jam | 117 |
1 files changed, 0 insertions, 117 deletions
diff --git a/tools/build/v2/test/recursive.jam b/tools/build/v2/test/recursive.jam deleted file mode 100644 index 8087f7da75..0000000000 --- a/tools/build/v2/test/recursive.jam +++ /dev/null @@ -1,117 +0,0 @@ -# Copyright 2001, 2002 Dave Abrahams -# Copyright 2005 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) - -############################################################## -# Rules and actions that test Jam by invoking it recursively # -# # -# This is necessary for testing anything that requires Jam # -# to execute build actions whose results must be checked, # -# and anything which exits Jam with a failure code (e.g. a # -# failed assertion). # -############################################################## - -# Creates a fake target, always built, which succeeds in building if Invoking a -# Jamfile containing the given string succeeds. If optional-expected-output is -# supplied, creates another fake target which succeeds in building if -# optional-expected-output is in the Jam output. -# -# RETURNS: the target name of the Jam command. -rule Jam ( command : expected-output ? ) -{ - local jam-cmd = "$(command:G=jam_command)" ; - - NOTFILE "$(jam-cmd)" ; - ALWAYS "$(jam-cmd)" ; - DEPENDS all : "$(jam-cmd)" ; - - if ($NT) - { - redirect on $(jam-cmd) = "nul" ; - } - else if $(UNIX) - { - redirect on $(jam-cmd) = "/dev/null" ; - } - - if $(VERBOSE) - { - redirect on $(jam-cmd) = ; - } - - invoke-Jam "$(jam-cmd)" ; - - if $(expected-output) - { - redirect on $(jam-cmd) = "scratch-output.txt" ; - local output-target = "$(expected-output:G=$(command))" ; - NOTFILE "$(output-target)" ; - ALWAYS "$(output-target)" ; - DEPENDS all : "$(output-target)" ; - Expect-in-output "$(output-target)" ; - - if $(VERBOSE) - { - if $(NT) { VERBOSE on $(output-target) = "type " ; } - else { VERBOSE on $(output-target) = "cat " ; } - } - } - return $(jam-cmd) ; -} - -# Just like the "Jam" rule, above, but only succeeds if the Jam command /fails/. -rule Jam-fail ( command : expected-output ? ) -{ - local target = [ Jam $(command) : $(expected-output) ] ; - FAIL_EXPECTED $(target) ; - return $(target) ; -} - -# The temporary jamfile we write is called "temp.jam". If the user has set -# BOOST_BUILD_ROOT, it will be built there. -gBOOST_TEST_JAMFILE = temp.jam ; -LOCATE on gBOOST_TEST_JAMFILE ?= $(BOOST_BUILD_ROOT) ; - -# Runs Jam on a temporary Jamfile which contains the string in $(command:G=) -# and redirects the results into a file whose name is given by $(redirect) on -# command -rule invoke-Jam ( command ) -{ - PREFIX on $(command) = "actions unbuilt { } unbuilt all ;" ; - if $(NT) - { - REMOVE on $(command) = $(SystemRoot)\System32\find ; - } - REMOVE on $(command) ?= rm ; -} -actions invoke-Jam -{ - echo $(PREFIX) $(<:G=) > $(gBOOST_TEST_JAMFILE) - jam -sBOOST_ROOT=../../.. -sJAMFILE=$(gBOOST_TEST_JAMFILE) $(JAMARGS) >$(redirect) -} -# $(REMOVE) $(gBOOST_TEST_JAMFILE) - - -# These actions expect to find the ungristed part of $(<) in scratch-output.txt -# and return a nonzero exit code otherwise -if $(NT) -{ - # Explicitly get the NT find command in case someone has another find in their path. - actions quietly Expect-in-output - { - $(VERBOSE)scratch-output.txt ; - $(SystemRoot)\System32\find /C "$(<:G=)" scratch-output.txt >nul - } -} -else -{ - # Not really the right actions for Unix; the argument will be interpreted as - # a regular expression. Is there a simpler find? - actions quietly Expect-in-output - { - $(VERBOSE)scratch-output.txt; - grep "$(<:G=)" scratch-output.txt - } -} - |