|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r79445 - in trunk/tools/build/v2/test: . unused
From: jurko.gospodnetic_at_[hidden]
Date: 2012-07-12 08:22:21
Author: jurko
Date: 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
New Revision: 79445
URL: http://svn.boost.org/trac/boost/changeset/79445
Log:
Boost Build cleanup - minor stylistic internal Boost Build test script & testing system changes.
Text files modified:
trunk/tools/build/v2/test/BoostBuild.py | 16 ++--
trunk/tools/build/v2/test/TestCmd.py | 24 ++---
trunk/tools/build/v2/test/absolute_sources.py | 48 +++---------
trunk/tools/build/v2/test/alternatives.py | 18 ++--
trunk/tools/build/v2/test/build_dir.py | 16 ++--
trunk/tools/build/v2/test/build_file.py | 78 ++++++++++----------
trunk/tools/build/v2/test/build_no.py | 9 -
trunk/tools/build/v2/test/builtin_echo.py | 22 ++--
trunk/tools/build/v2/test/builtin_exit.py | 38 +++------
trunk/tools/build/v2/test/builtin_split_by_characters.py | 6
trunk/tools/build/v2/test/clean.py | 40 +++------
trunk/tools/build/v2/test/conditionals.py | 6
trunk/tools/build/v2/test/conditionals_multiple.py | 39 +++++-----
trunk/tools/build/v2/test/copy_time.py | 23 ++----
trunk/tools/build/v2/test/core_action_status.py | 24 +++---
trunk/tools/build/v2/test/core_actions_quietly.py | 42 +++++-----
trunk/tools/build/v2/test/core_arguments.py | 2
trunk/tools/build/v2/test/core_at_file.py | 36 +++------
trunk/tools/build/v2/test/core_bindrule.py | 12 +-
trunk/tools/build/v2/test/core_d12.py | 8 +-
trunk/tools/build/v2/test/core_import_module.py | 5
trunk/tools/build/v2/test/core_language.py | 4
trunk/tools/build/v2/test/core_option_d2.py | 44 +++++------
trunk/tools/build/v2/test/core_option_l.py | 18 +--
trunk/tools/build/v2/test/core_option_n.py | 42 +++++-----
trunk/tools/build/v2/test/core_parallel_actions.py | 80 ++++++++++-----------
trunk/tools/build/v2/test/core_parallel_multifile_actions_1.py | 62 ++++++++--------
trunk/tools/build/v2/test/core_parallel_multifile_actions_2.py | 52 ++++++-------
trunk/tools/build/v2/test/core_typecheck.py | 20 ++--
trunk/tools/build/v2/test/core_update_now.py | 53 +++++++------
trunk/tools/build/v2/test/core_variables_in_actions.py | 10 +-
trunk/tools/build/v2/test/core_varnames.py | 2
trunk/tools/build/v2/test/default_build.py | 29 ++-----
trunk/tools/build/v2/test/dependency_property.py | 8 +-
trunk/tools/build/v2/test/direct_request_test.py | 45 +++++------
trunk/tools/build/v2/test/dll_path.py | 61 ++++++---------
trunk/tools/build/v2/test/explicit.py | 18 +---
trunk/tools/build/v2/test/free_features_request.py | 10 +-
trunk/tools/build/v2/test/inherit_toolset.py | 20 +---
trunk/tools/build/v2/test/inline.py | 12 +-
trunk/tools/build/v2/test/library_chain.py | 60 ++++++---------
trunk/tools/build/v2/test/loop.py | 3
trunk/tools/build/v2/test/make_rule.py | 12 +--
trunk/tools/build/v2/test/ndebug.py | 16 +--
trunk/tools/build/v2/test/no_type.py | 12 +--
trunk/tools/build/v2/test/notfile.py | 12 +-
trunk/tools/build/v2/test/out_of_tree.py | 20 +----
trunk/tools/build/v2/test/prebuilt.py | 18 ++--
trunk/tools/build/v2/test/project_test3.py | 40 +++++-----
trunk/tools/build/v2/test/property_expansion.py | 11 +-
trunk/tools/build/v2/test/rebuilds.py | 28 +++---
trunk/tools/build/v2/test/regression.py | 41 ++++------
trunk/tools/build/v2/test/rescan_header.py | 149 +++++++++++++--------------------------
trunk/tools/build/v2/test/resolution.py | 10 +-
trunk/tools/build/v2/test/searched_lib.py | 30 +++----
trunk/tools/build/v2/test/skipping.py | 17 +---
trunk/tools/build/v2/test/sort_rule.py | 27 +++---
trunk/tools/build/v2/test/space_in_path.py | 7 -
trunk/tools/build/v2/test/stage.py | 2
trunk/tools/build/v2/test/startup_v2.py | 55 +++++++-------
trunk/tools/build/v2/test/static_and_shared_library.py | 8 -
trunk/tools/build/v2/test/tag.py | 40 +++++-----
trunk/tools/build/v2/test/test_rc.py | 7 +
trunk/tools/build/v2/test/test_result_dumping.py | 15 +--
trunk/tools/build/v2/test/timedata.py | 39 +++++----
trunk/tools/build/v2/test/unit_tests.py | 10 +-
trunk/tools/build/v2/test/unused.py | 14 +--
trunk/tools/build/v2/test/unused/jamroot.jam | 48 +++++-------
trunk/tools/build/v2/test/use_requirements.py | 98 +++++++++++--------------
69 files changed, 840 insertions(+), 1111 deletions(-)
Modified: trunk/tools/build/v2/test/BoostBuild.py
==============================================================================
--- trunk/tools/build/v2/test/BoostBuild.py (original)
+++ trunk/tools/build/v2/test/BoostBuild.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -210,17 +210,17 @@
Optional arguments inherited from the base class:
- `description` - Test description string displayed in case of
- a failed test.
+ `description` - Test description string displayed in case
+ of a failed test.
`subdir' - List of subdirectories to automatically
create under the working directory. Each
subdirectory needs to be specified
- separately parent coming before its child.
- `verbose` - Flag that may be used to enable more verbose
- test system output. Note that it does not
- also enable more verbose build system
- output like the --verbose command line
- option does.
+ separately, parent coming before its child.
+ `verbose` - Flag that may be used to enable more
+ verbose test system output. Note that it
+ does not also enable more verbose build
+ system output like the --verbose command
+ line option does.
"""
def __init__(self, arguments="", executable="bjam",
match=TestCmd.match_exact, boost_build_path=None,
Modified: trunk/tools/build/v2/test/TestCmd.py
==============================================================================
--- trunk/tools/build/v2/test/TestCmd.py (original)
+++ trunk/tools/build/v2/test/TestCmd.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -343,7 +343,7 @@
TestCmd environment to be preserved for one or more conditions. If no
conditions are specified, arranges for the temporary working
directories to be preserved for all conditions.
-
+
"""
if conditions is ():
conditions = ('pass_test', 'fail_test', 'no_result')
@@ -362,7 +362,7 @@
name may be a list, in which case the elements are concatenated with
the os.path.join() method. The file is assumed to be under the
temporary working directory unless it is an absolute path name. The I/O
- mode for the file may be specified; it must begin with an 'r'. The
+ mode for the file may be specified and must begin with an 'r'. The
default is 'rb' (binary read).
"""
@@ -513,8 +513,8 @@
run = len(self._stderr)
elif run < 0:
run = len(self._stderr) + run
- run = run - 1
- if (run < 0):
+ run -= 1
+ if run < 0:
return ''
return self._stderr[run]
@@ -530,8 +530,8 @@
run = len(self._stdout)
elif run < 0:
run = len(self._stdout) + run
- run = run - 1
- if (run < 0):
+ run -= 1
+ if run < 0:
return ''
return self._stdout[run]
@@ -563,7 +563,7 @@
count += 1
return count
- def unlink (self, file):
+ def unlink(self, file):
"""
Unlinks the specified file name. The file name may be a list, in
which case the elements are concatenated using the os.path.join()
@@ -578,8 +578,7 @@
os.unlink(file)
def verbose_set(self, verbose):
- """Set the verbose level.
- """
+ """Set the verbose level."""
self.verbose = verbose
def workdir_set(self, path):
@@ -618,8 +617,7 @@
"""
Returns the absolute path name to a subdirectory or file within the
current temporary working directory. Concatenates the temporary working
- directory name with the specified arguments using the os.path.join()
- method.
+ directory name with the specified arguments using os.path.join().
"""
return apply(os.path.join, (self.workdir,) + tuple(args))
@@ -656,8 +654,8 @@
file name (first argument). The file name may be a list, in which case
the elements are concatenated using the os.path.join() method. The file
is created under the temporary working directory. Any subdirectories in
- the path must already exist. The I/O mode for the file may be specified;
- it must begin with a 'w'. The default is 'wb' (binary write).
+ the path must already exist. The I/O mode for the file may be specified
+ and must begin with a 'w'. The default is 'wb' (binary write).
"""
if type(file) is ListType:
Modified: trunk/tools/build/v2/test/absolute_sources.py
==============================================================================
--- trunk/tools/build/v2/test/absolute_sources.py (original)
+++ trunk/tools/build/v2/test/absolute_sources.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -10,45 +10,29 @@
t = BoostBuild.Tester()
-t.write("jamroot.jam", """
-path-constant TOP : . ;
-""")
-
-t.write("jamfile.jam", """
+t.write("jamroot.jam", "path-constant TOP : . ;")
+t.write("jamfile.jam", """\
local pwd = [ PWD ] ;
ECHO $(pwd) XXXXX ;
exe hello : $(pwd)/hello.cpp $(TOP)/empty.cpp ;
""")
-
t.write("hello.cpp", "int main() {}\n")
-
t.write("empty.cpp", "\n")
t.run_build_system()
t.expect_addition("bin/$toolset/debug/hello.exe")
t.rm(".")
-# Test a contrived case. There, absolute name is used in a standalone project
-# (not Jamfile). Moreover, the target with an absolute name is returned by
-# 'alias' and used from another project.
-t.write("a.cpp", """
-int main() {}
-""")
-
-t.write("jamfile.jam", """
-exe a : /standalone//a ;
-""")
-
-t.write("jamroot.jam", """
-import standalone ;
-""")
-
-t.write("standalone.jam", """
+# Test a contrived case in which an absolute name is used in a standalone
+# project (not Jamfile). Moreover, the target with an absolute name is returned
+# via an 'alias' and used from another project.
+t.write("a.cpp", "int main() {}\n")
+t.write("jamfile.jam", "exe a : /standalone//a ;")
+t.write("jamroot.jam", "import standalone ;")
+t.write("standalone.jam", """\
import project ;
-
project.initialize $(__name__) ;
project standalone ;
-
local pwd = [ PWD ] ;
alias a : $(pwd)/a.cpp ;
""")
@@ -75,18 +59,10 @@
t.rm(".")
t.write("d1/jamroot.jam", "")
-
-t.write("d1/jamfile.jam", """
-exe a : a.cpp ;
-""")
-
-t.write("d1/a.cpp", """
-int main() {}
-""")
-
+t.write("d1/jamfile.jam", "exe a : a.cpp ;")
+t.write("d1/a.cpp", "int main() {}\n")
t.write("d2/jamroot.jam", "")
-
-t.write("d2/jamfile.jam", """
+t.write("d2/jamfile.jam", """\
local pwd = [ PWD ] ;
alias x : $(pwd)/../d1//a ;
""")
Modified: trunk/tools/build/v2/test/alternatives.py
==============================================================================
--- trunk/tools/build/v2/test/alternatives.py (original)
+++ trunk/tools/build/v2/test/alternatives.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -50,8 +50,8 @@
t.rm("bin")
-# Test that everything works ok even with default build.
-t.write("jamfile.jam", """
+# Test that everything works ok even with the default build.
+t.write("jamfile.jam", """\
exe a : a_empty.cpp : <variant>release ;
exe a : a.cpp : <variant>debug ;
""")
@@ -59,10 +59,10 @@
t.run_build_system()
t.expect_addition("bin/$toolset/debug/a.exe")
-# Test that only properties which are in build request matter for alternative
-# selection. IOW, alternative with <variant>release is better than one with
-# <variant>debug when building release version.
-t.write("jamfile.jam", """
+# Test that only properties which are in the build request matter for
+# alternative selection. IOW, alternative with <variant>release is better than
+# one with <variant>debug when building the release variant.
+t.write("jamfile.jam", """\
exe a : a_empty.cpp : <variant>debug ;
exe a : a.cpp : <variant>release ;
""")
@@ -82,7 +82,7 @@
t.expect_addition("bin/$toolset/release/a.exe")
# Test that ambiguity is reported correctly.
-t.write("jamfile.jam", """
+t.write("jamfile.jam", """\
exe a : a_empty.cpp ;
exe a : a.cpp ;
""")
@@ -91,7 +91,7 @@
# Another ambiguity test: two matches properties in one alternative are neither
# better nor worse than a single one in another alternative.
-t.write("jamfile.jam", """
+t.write("jamfile.jam", """\
exe a : a_empty.cpp : <optimization>off <profiling>off ;
exe a : a.cpp : <debug-symbols>on ;
""")
@@ -100,7 +100,7 @@
t.fail_test(string.find(t.stdout(), "No best alternative") == -1)
# Test that we can have alternative without sources.
-t.write("jamfile.jam", """
+t.write("jamfile.jam", """\
alias specific-sources ;
import feature ;
feature.extend os : MAGIC ;
Modified: trunk/tools/build/v2/test/build_dir.py
==============================================================================
--- trunk/tools/build/v2/test/build_dir.py (original)
+++ trunk/tools/build/v2/test/build_dir.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -17,7 +17,7 @@
# Test that top-level project can affect build dir.
t.write("jamroot.jam", "import gcc ;")
-t.write("jamfile.jam", """
+t.write("jamfile.jam", """\
project : build-dir build ;
exe a : a.cpp ;
build-project src ;
@@ -40,12 +40,12 @@
t.expect_nothing_more()
# Test that project can override build dir.
-t.write("jamfile.jam", """
+t.write("jamfile.jam", """\
exe a : a.cpp ;
build-project src ;
""")
-t.write("src/jamfile.jam", """
+t.write("src/jamfile.jam", """\
project : build-dir build ;
exe b : b.cpp ;
""")
@@ -63,7 +63,7 @@
t.fail_test(string.find(t.stdout(),
"warning: the --build-dir option will be ignored") == -1)
-t.write("jamroot.jam", """
+t.write("jamroot.jam", """\
project foo ;
exe a : a.cpp ;
build-project sub ;
@@ -76,7 +76,7 @@
t.expect_addition(["build/foo/$toolset/debug/a.exe",
"build/foo/sub/$toolset/debug/b.exe"])
-t.write("jamroot.jam", """
+t.write("jamroot.jam", """\
project foo : build-dir bin.v2 ;
exe a : a.cpp ;
build-project sub ;
@@ -87,13 +87,13 @@
"build/foo/bin.v2/sub/$toolset/debug/b.exe"])
# Try building in subdir. We expect that the entire build tree with be in
-# 'sub/build'. Today, I am not sure if this is what the user expects, but let it
-# be.
+# 'sub/build'. Today, I am not sure if this is what the user expects, but let
+# it be.
t.rm('build')
t.run_build_system("--build-dir=build", subdir="sub")
t.expect_addition(["sub/build/foo/bin.v2/sub/$toolset/debug/b.exe"])
-t.write("jamroot.jam", """
+t.write("jamroot.jam", """\
project foo : build-dir %s ;
exe a : a.cpp ;
build-project sub ;
Modified: trunk/tools/build/v2/test/build_file.py
==============================================================================
--- trunk/tools/build/v2/test/build_file.py (original)
+++ trunk/tools/build/v2/test/build_file.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -6,34 +6,34 @@
# accompanying file LICENSE_1_0.txt or copy at
# http://www.boost.org/LICENSE_1_0.txt)
-# Tests that we explicitly request a file (not target) to be built by specifying
-# its name on the command line.
+# Tests that we explicitly request a file (not target) to be built by
+# specifying its name on the command line.
import BoostBuild
-################################################################################
+###############################################################################
#
# test_building_file_from_specific_project()
# ------------------------------------------
#
-################################################################################
+###############################################################################
def test_building_file_from_specific_project():
t = BoostBuild.Tester()
- t.write("jamroot.jam", """
+ t.write("jamroot.jam", """\
exe hello : hello.cpp ;
exe hello2 : hello.cpp ;
build-project sub ;
""")
- t.write("hello.cpp", "int main() {}")
+ t.write("hello.cpp", "int main() {}\n")
t.write("sub/jamfile.jam", """
exe hello : hello.cpp ;
exe hello2 : hello.cpp ;
exe sub : hello.cpp ;
""")
- t.write("sub/hello.cpp", "int main() {}")
+ t.write("sub/hello.cpp", "int main() {}\n")
t.run_build_system("sub " + t.adjust_suffix("hello.obj"))
t.expect_output_line("*depends on itself*", False)
@@ -43,24 +43,24 @@
t.cleanup()
-################################################################################
+###############################################################################
#
# test_building_file_from_specific_target()
# -----------------------------------------
#
-################################################################################
+###############################################################################
def test_building_file_from_specific_target():
t = BoostBuild.Tester()
- t.write("jamroot.jam", """
+ t.write("jamroot.jam", """\
exe hello1 : hello1.cpp ;
exe hello2 : hello2.cpp ;
exe hello3 : hello3.cpp ;
""")
- t.write("hello1.cpp", "int main() {}")
- t.write("hello2.cpp", "int main() {}")
- t.write("hello3.cpp", "int main() {}")
+ t.write("hello1.cpp", "int main() {}\n")
+ t.write("hello2.cpp", "int main() {}\n")
+ t.write("hello3.cpp", "int main() {}\n")
t.run_build_system("hello1 " + t.adjust_suffix("hello1.obj"))
t.expect_addition("bin/$toolset/debug/hello1.obj")
@@ -69,54 +69,54 @@
t.cleanup()
-################################################################################
+###############################################################################
#
# test_building_missing_file_from_specific_target()
# -------------------------------------------------
#
-################################################################################
+###############################################################################
def test_building_missing_file_from_specific_target():
t = BoostBuild.Tester()
- t.write("jamroot.jam", """
+ t.write("jamroot.jam", """\
exe hello1 : hello1.cpp ;
exe hello2 : hello2.cpp ;
exe hello3 : hello3.cpp ;
""")
- t.write("hello1.cpp", "int main() {}")
- t.write("hello2.cpp", "int main() {}")
- t.write("hello3.cpp", "int main() {}")
-
- t.run_build_system("hello1 " + t.adjust_suffix("hello2.obj"), status=1)
- t.expect_output_line("don't know how to make*" + t.adjust_suffix("hello2.obj"))
+ t.write("hello1.cpp", "int main() {}\n")
+ t.write("hello2.cpp", "int main() {}\n")
+ t.write("hello3.cpp", "int main() {}\n")
+
+ obj = t.adjust_suffix("hello2.obj")
+ t.run_build_system("hello1 " + obj, status=1)
+ t.expect_output_line("don't know how to make*" + obj)
t.expect_nothing_more()
t.cleanup()
-################################################################################
+###############################################################################
#
# test_building_multiple_files_with_different_names()
# ---------------------------------------------------
#
-################################################################################
+###############################################################################
def test_building_multiple_files_with_different_names():
t = BoostBuild.Tester()
- t.write("jamroot.jam", """
+ t.write("jamroot.jam", """\
exe hello1 : hello1.cpp ;
exe hello2 : hello2.cpp ;
exe hello3 : hello3.cpp ;
""")
- t.write("hello1.cpp", "int main() {}")
- t.write("hello2.cpp", "int main() {}")
- t.write("hello3.cpp", "int main() {}")
-
- t.run_build_system(
- t.adjust_suffix("hello1.obj") + " " +
- t.adjust_suffix("hello2.obj"))
+ t.write("hello1.cpp", "int main() {}\n")
+ t.write("hello2.cpp", "int main() {}\n")
+ t.write("hello3.cpp", "int main() {}\n")
+
+ t.run_build_system(t.adjust_suffix("hello1.obj") + " " + t.adjust_suffix(
+ "hello2.obj"))
t.expect_addition("bin/$toolset/debug/hello1.obj")
t.expect_addition("bin/$toolset/debug/hello2.obj")
t.expect_nothing_more()
@@ -124,28 +124,28 @@
t.cleanup()
-################################################################################
+###############################################################################
#
# test_building_multiple_files_with_the_same_name()
# -------------------------------------------------
#
-################################################################################
+###############################################################################
def test_building_multiple_files_with_the_same_name():
t = BoostBuild.Tester()
- t.write("jamroot.jam", """
+ t.write("jamroot.jam", """\
exe hello : hello.cpp ;
exe hello2 : hello.cpp ;
build-project sub ;
""")
- t.write("hello.cpp", "int main() {}")
+ t.write("hello.cpp", "int main() {}\n")
t.write("sub/jamfile.jam", """
exe hello : hello.cpp ;
exe hello2 : hello.cpp ;
exe sub : hello.cpp ;
""")
- t.write("sub/hello.cpp", "int main() {}")
+ t.write("sub/hello.cpp", "int main() {}\n")
t.run_build_system(t.adjust_suffix("hello.obj"))
t.expect_output_line("*depends on itself*", False)
@@ -156,12 +156,12 @@
t.cleanup()
-################################################################################
+###############################################################################
#
# main()
# ------
#
-################################################################################
+###############################################################################
test_building_file_from_specific_project()
test_building_file_from_specific_target()
Modified: trunk/tools/build/v2/test/build_no.py
==============================================================================
--- trunk/tools/build/v2/test/build_no.py (original)
+++ trunk/tools/build/v2/test/build_no.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -11,13 +11,8 @@
t = BoostBuild.Tester()
-t.write("jamroot.jam", """
-exe hello : hello.cpp : <variant>debug:<build>no ;
-""")
-
-t.write("hello.cpp", """
-int main() {}
-""")
+t.write("jamroot.jam", "exe hello : hello.cpp : <variant>debug:<build>no ;")
+t.write("hello.cpp", "int main() {}\n")
t.run_build_system()
t.expect_nothing_more()
Modified: trunk/tools/build/v2/test/builtin_echo.py
==============================================================================
--- trunk/tools/build/v2/test/builtin_echo.py (original)
+++ trunk/tools/build/v2/test/builtin_echo.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -9,19 +9,19 @@
import BoostBuild
def test_echo(name):
- t = BoostBuild.Tester(pass_toolset=0)
+ t = BoostBuild.Tester("-ffile.jam", pass_toolset=0)
- t.write("file.jam", """
- %s ;
- UPDATE ;
- """ % name)
- t.run_build_system("-ffile.jam", stdout="\n")
+ t.write("file.jam", """\
+%s ;
+UPDATE ;
+""" % name)
+ t.run_build_system(stdout="\n")
- t.write("file.jam", """
- %s a message ;
- UPDATE ;
- """ % name)
- t.run_build_system("-ffile.jam", stdout="a message\n")
+ t.write("file.jam", """\
+%s a message ;
+UPDATE ;
+""" % name)
+ t.run_build_system(stdout="a message\n")
t.cleanup()
Modified: trunk/tools/build/v2/test/builtin_exit.py
==============================================================================
--- trunk/tools/build/v2/test/builtin_exit.py (original)
+++ trunk/tools/build/v2/test/builtin_exit.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -9,42 +9,30 @@
import BoostBuild
def test_exit(name):
- t = BoostBuild.Tester(pass_toolset=0)
+ t = BoostBuild.Tester("-ffile.jam", pass_toolset=0)
- t.write("file.jam", """
- %s ;
- """ % name)
- t.run_build_system("-ffile.jam", status=1, stdout="\n")
+ t.write("file.jam", "%s ;" % name)
+ t.run_build_system(status=1, stdout="\n")
t.rm(".")
- t.write("file.jam", """
- %s : 0 ;
- """ % name)
- t.run_build_system("-ffile.jam", stdout="\n")
+ t.write("file.jam", "%s : 0 ;" % name)
+ t.run_build_system(stdout="\n")
t.rm(".")
- t.write("file.jam", """
- %s : 1 ;
- """ % name)
- t.run_build_system("-ffile.jam", status=1, stdout="\n")
+ t.write("file.jam", "%s : 1 ;" % name)
+ t.run_build_system(status=1, stdout="\n")
t.rm(".")
- t.write("file.jam", """
- %s : 2 ;
- """ % name)
- t.run_build_system("-ffile.jam", status=2, stdout="\n")
+ t.write("file.jam", "%s : 2 ;" % name)
+ t.run_build_system(status=2, stdout="\n")
t.rm(".")
- t.write("file.jam", """
- %s a message ;
- """ % name)
- t.run_build_system("-ffile.jam", status=1, stdout="a message\n")
+ t.write("file.jam", "%s a message ;" % name)
+ t.run_build_system(status=1, stdout="a message\n")
t.rm(".")
- t.write("file.jam", """
- %s a message : 0 ;
- """ % name)
- t.run_build_system("-ffile.jam", stdout="a message\n")
+ t.write("file.jam", "%s a message : 0 ;" % name)
+ t.run_build_system(stdout="a message\n")
t.rm(".")
t.cleanup()
Modified: trunk/tools/build/v2/test/builtin_split_by_characters.py
==============================================================================
--- trunk/tools/build/v2/test/builtin_split_by_characters.py (original)
+++ trunk/tools/build/v2/test/builtin_split_by_characters.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -10,15 +10,15 @@
def test_invalid(params, expected_error_line):
t = BoostBuild.Tester(pass_toolset=0)
- t.write("file.jam", "SPLIT_BY_CHARACTERS %s ;\n" % params)
+ t.write("file.jam", "SPLIT_BY_CHARACTERS %s ;" % params)
t.run_build_system("-ffile.jam", status=1)
t.expect_output_line("[*] %s" % expected_error_line)
t.cleanup()
def test_valid():
t = BoostBuild.Tester(pass_toolset=0)
- t.write("jamroot.jam",
-"""import assert ;
+ t.write("jamroot.jam", """\
+import assert ;
assert.result FooBarBaz : SPLIT_BY_CHARACTERS FooBarBaz : "" ;
assert.result FooBarBaz : SPLIT_BY_CHARACTERS FooBarBaz : x ;
Modified: trunk/tools/build/v2/test/clean.py
==============================================================================
--- trunk/tools/build/v2/test/clean.py (original)
+++ trunk/tools/build/v2/test/clean.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -9,56 +9,44 @@
t = BoostBuild.Tester()
-t.write("a.cpp", """
-int main() {}
-""")
-
-t.write("jamroot.jam", """
-exe a : a.cpp sub1//sub1 sub2//sub2 sub3//sub3 ;
-""")
-
-t.write("sub1/jamfile.jam", """
+t.write("a.cpp", "int main() {}\n")
+t.write("jamroot.jam", "exe a : a.cpp sub1//sub1 sub2//sub2 sub3//sub3 ;")
+t.write("sub1/jamfile.jam", """\
lib sub1 : sub1.cpp sub1_2 ../sub2//sub2 ;
lib sub1_2 : sub1_2.cpp ;
""")
-t.write("sub1/sub1.cpp", """
+t.write("sub1/sub1.cpp", """\
#ifdef _WIN32
__declspec(dllexport)
#endif
void sub1() {}
""")
-t.write("sub1/sub1_2.cpp", """
+t.write("sub1/sub1_2.cpp", """\
#ifdef _WIN32
__declspec(dllexport)
#endif
void sub1() {}
""")
-t.write("sub2/jamfile.jam", """
-lib sub2 : sub2.cpp ;
-""")
-
-t.write("sub2/sub2.cpp", """
+t.write("sub2/jamfile.jam", "lib sub2 : sub2.cpp ;")
+t.write("sub2/sub2.cpp", """\
#ifdef _WIN32
__declspec(dllexport)
#endif
void sub2() {}
""")
-t.write("sub3/jamroot.jam", """
-lib sub3 : sub3.cpp ;
-""")
-
-t.write("sub3/sub3.cpp", """
+t.write("sub3/jamroot.jam", "lib sub3 : sub3.cpp ;")
+t.write("sub3/sub3.cpp", """\
#ifdef _WIN32
__declspec(dllexport)
#endif
void sub3() {}
""")
-# The 'clean' should not remove files under separate jamroot.jam.
+# 'clean' should not remove files under separate jamroot.jam.
t.run_build_system()
t.run_build_system("--clean")
t.expect_removal("bin/$toolset/debug/a.obj")
@@ -67,7 +55,7 @@
t.expect_removal("sub2/bin/$toolset/debug/sub2.obj")
t.expect_nothing("sub3/bin/$toolset/debug/sub3.obj")
-# The 'clean-all' removes everything it can reach.
+# 'clean-all' removes everything it can reach.
t.run_build_system()
t.run_build_system("--clean-all")
t.expect_removal("bin/$toolset/debug/a.obj")
@@ -76,7 +64,7 @@
t.expect_removal("sub2/bin/$toolset/debug/sub2.obj")
t.expect_nothing("sub3/bin/$toolset/debug/sub3.obj")
-# The 'clean' together with project target removes only under that project.
+# 'clean' together with project target removes only under that project.
t.run_build_system()
t.run_build_system("sub1 --clean")
t.expect_nothing("bin/$toolset/debug/a.obj")
@@ -85,7 +73,7 @@
t.expect_nothing("sub2/bin/$toolset/debug/sub2.obj")
t.expect_nothing("sub3/bin/$toolset/debug/sub3.obj")
-# And 'clean-all' removes everything.
+# 'clean-all' removes everything.
t.run_build_system()
t.run_build_system("sub1 --clean-all")
t.expect_nothing("bin/$toolset/debug/a.obj")
@@ -105,7 +93,7 @@
# Regression test: sources of the 'cast' rule were mistakenly deleted.
t.rm(".")
-t.write("jamroot.jam", """
+t.write("jamroot.jam", """\
import cast ;
cast a cpp : a.h ;
""")
Modified: trunk/tools/build/v2/test/conditionals.py
==============================================================================
--- trunk/tools/build/v2/test/conditionals.py (original)
+++ trunk/tools/build/v2/test/conditionals.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -13,7 +13,7 @@
# Arrange a project which will build only if 'a.cpp' is compiled with "STATIC"
# define.
-t.write("a.cpp", """
+t.write("a.cpp", """\
#ifdef STATIC
int main() {}
#endif
@@ -34,8 +34,8 @@
t.expect_addition("bin/$toolset/debug/link-static/a.exe")
t.rm("bin")
-# Regression test for a bug found by Ali Azarbayejani. Conditionals inside usage
-# requirement were not being evaluated.
+# Regression test for a bug found by Ali Azarbayejani. Conditionals inside
+# usage requirement were not being evaluated.
t.write("jamroot.jam", """
lib l : l.cpp : : : <link>static:<define>STATIC ;
exe a : a.cpp l ;
Modified: trunk/tools/build/v2/test/conditionals_multiple.py
==============================================================================
--- trunk/tools/build/v2/test/conditionals_multiple.py (original)
+++ trunk/tools/build/v2/test/conditionals_multiple.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -18,26 +18,24 @@
################################################################################
def test_multiple_conditions():
- """Basic tests for properties conditioned on multiple other properties.
- """
+ """Basic tests for properties conditioned on multiple other properties."""
- t = BoostBuild.Tester("--user-config= --ignore-site-config toolset=testToolset",
- pass_toolset=False, use_test_config=False)
+ t = BoostBuild.Tester("--user-config= --ignore-site-config "
+ "toolset=testToolset", pass_toolset=False, use_test_config=False)
- t.write("testToolset.jam", """
+ t.write("testToolset.jam", """\
import feature ;
feature.extend toolset : testToolset ;
rule init ( ) { }
""")
- t.write("testToolset.py", """
+ t.write("testToolset.py", """\
from b2.build import feature
feature.extend('toolset', ["testToolset"])
-def init ( ):
- pass
+def init ( ): pass
""")
- t.write("jamroot.jam", """
+ t.write("jamroot.jam", """\
import feature ;
import notfile ;
import toolset ;
@@ -127,30 +125,31 @@
################################################################################
def test_multiple_conditions_with_toolset_version():
- """Regression tests for properties conditioned on the toolset version
- subfeature and some additional properties.
"""
+ Regression tests for properties conditioned on the toolset version
+ subfeature and some additional properties.
+ """
toolset = "testToolset" ;
- t = BoostBuild.Tester("--user-config= --ignore-site-config", pass_toolset=False, use_test_config=False)
+ t = BoostBuild.Tester("--user-config= --ignore-site-config",
+ pass_toolset=False, use_test_config=False)
- t.write( toolset + ".jam", """
+ t.write(toolset + ".jam", """\
import feature ;
feature.extend toolset : %(toolset)s ;
feature.subfeature toolset %(toolset)s : version : 0 1 ;
rule init ( version ? ) { }
""" % {"toolset": toolset})
- t.write( "testToolset.py", """
+ t.write("testToolset.py", """\
from b2.build import feature
-feature.extend('toolset', ["testToolset"])
-feature.subfeature('toolset',"testToolset","version",['0','1'])
-def init ( version ):
- pass
- """)
+feature.extend('toolset', ["%(toolset)s"])
+feature.subfeature('toolset', "%(toolset)s", "version", ['0','1'])
+def init ( version ): pass
+""" % {"toolset": toolset})
- t.write("jamroot.jam", """
+ t.write("jamroot.jam", """\
import feature ;
import notfile ;
import toolset ;
Modified: trunk/tools/build/v2/test/copy_time.py
==============================================================================
--- trunk/tools/build/v2/test/copy_time.py (original)
+++ trunk/tools/build/v2/test/copy_time.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -1,21 +1,19 @@
#!/usr/bin/python
#
-# Copyright (c) 2008
-# Steven Watanabe
+# Copyright (c) 2008 Steven Watanabe
#
# Distributed under 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)
-# Test that the common.copy rule set the modification
-# date of the new file the current time.
+# Test that the common.copy rule set the modification date of the new file to
+# the current time.
import BoostBuild
tester = BoostBuild.Tester()
-tester.write("test1.cpp", """
-#include <iostream>
+tester.write("test1.cpp", """\
template<bool, int M, class Next>
struct time_waster {
typedef typename time_waster<true, M-1, time_waster>::type type1;
@@ -30,8 +28,7 @@
int f() { return 0; }
""")
-tester.write("test2.cpp", """
-#include <iostream>
+tester.write("test2.cpp", """\
template<bool, int M, class Next>
struct time_waster {
typedef typename time_waster<true, M-1, time_waster>::type type1;
@@ -46,14 +43,13 @@
int g() { return 0; }
""")
-tester.write("jamroot.jam", """
+tester.write("jamroot.jam", """\
obj test2 : test2.cpp ;
obj test1 : test1.cpp : <dependency>test2 ;
install test2i : test2 : <dependency>test1 ;
""")
tester.run_build_system()
-
tester.expect_addition("bin/$toolset/debug/test2.obj")
tester.expect_addition("bin/$toolset/debug/test1.obj")
tester.expect_addition("test2i/test2.obj")
@@ -61,14 +57,11 @@
test2src = tester.read("test2i/test2.obj")
test2dest = tester.read("bin/$toolset/debug/test2.obj")
-
if test2src != test2dest:
- BoostBuild.annotation("failure", "The object file was not copied correctly")
+ BoostBuild.annotation("failure", "The object file was not copied "
+ "correctly")
tester.fail_test(1)
-del test2src
-del test2dest
-
tester.run_build_system("-d1")
tester.expect_output_line("common.copy*", expected_to_exist=False)
tester.expect_nothing_more()
Modified: trunk/tools/build/v2/test/core_action_status.py
==============================================================================
--- trunk/tools/build/v2/test/core_action_status.py (original)
+++ trunk/tools/build/v2/test/core_action_status.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -2,24 +2,24 @@
# Copyright 2007 Rene Rivera.
# Copyright 2011 Steven Watanabe
-# 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)
+# 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)
import BoostBuild
t = BoostBuild.Tester(pass_toolset=0)
-t.write("file.jam", """
- actions quietly .a. { $(ACTION) }
+t.write("file.jam", """\
+actions quietly .a. { $(ACTION) }
- rule .a.
- {
- DEPENDS $(<) : $(>) ;
- }
-
- NOTFILE subtest ;
- .a. subtest_a : subtest ;
- DEPENDS all : subtest_a ;
+rule .a.
+{
+ DEPENDS $(<) : $(>) ;
+}
+
+NOTFILE subtest ;
+.a. subtest_a : subtest ;
+DEPENDS all : subtest_a ;
""")
t.run_build_system("-ffile.jam -sACTION=invalid", status=1)
Modified: trunk/tools/build/v2/test/core_actions_quietly.py
==============================================================================
--- trunk/tools/build/v2/test/core_actions_quietly.py (original)
+++ trunk/tools/build/v2/test/core_actions_quietly.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -2,40 +2,41 @@
# Copyright 2007 Rene Rivera.
# Copyright 2011 Steven Watanabe
-# 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)
+# 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)
import BoostBuild
t = BoostBuild.Tester(pass_toolset=0)
-t.write("file.jam", """
- actions quietly .a.
- {
+t.write("file.jam", """\
+actions quietly .a.
+{
echo [$(<:B)] 0
echo [$(<:B)] 1
echo [$(<:B)] 2
- }
-
- rule .a.
- {
- DEPENDS $(<) : $(>) ;
- }
-
- NOTFILE subtest ;
- .a. subtest_a : subtest ;
- .a. subtest_b : subtest ;
- DEPENDS all : subtest_a subtest_b ;
+}
+
+rule .a.
+{
+ DEPENDS $(<) : $(>) ;
+}
+
+NOTFILE subtest ;
+.a. subtest_a : subtest ;
+.a. subtest_b : subtest ;
+DEPENDS all : subtest_a subtest_b ;
""")
-t.run_build_system("-ffile.jam -d2", stdout="""...found 4 targets...
+t.run_build_system("-ffile.jam -d2", stdout="""\
+...found 4 targets...
...updating 2 targets...
.a. subtest_a
echo [subtest_a] 0
echo [subtest_a] 1
echo [subtest_a] 2
-
+
[subtest_a] 0
[subtest_a] 1
[subtest_a] 2
@@ -44,14 +45,15 @@
echo [subtest_b] 0
echo [subtest_b] 1
echo [subtest_b] 2
-
+
[subtest_b] 0
[subtest_b] 1
[subtest_b] 2
...updated 2 targets...
""")
-t.run_build_system("-ffile.jam -d1", stdout="""...found 4 targets...
+t.run_build_system("-ffile.jam -d1", stdout="""\
+...found 4 targets...
...updating 2 targets...
...updated 2 targets...
""")
Modified: trunk/tools/build/v2/test/core_arguments.py
==============================================================================
--- trunk/tools/build/v2/test/core_arguments.py (original)
+++ trunk/tools/build/v2/test/core_arguments.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -31,7 +31,7 @@
t = BoostBuild.Tester(pass_toolset=0, pass_d0=False)
-t.write("echo_args.jam", """
+t.write("echo_args.jam", """\
NOCARE all ;
rule echo_args ( a b ? c ? : d + : e * )
Modified: trunk/tools/build/v2/test/core_at_file.py
==============================================================================
--- trunk/tools/build/v2/test/core_at_file.py (original)
+++ trunk/tools/build/v2/test/core_at_file.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -8,68 +8,56 @@
import BoostBuild
import os
-t = BoostBuild.Tester(pass_toolset=0)
+t = BoostBuild.Tester("-ffile.jam", pass_toolset=0)
-t.write("file.jam", """
+t.write("file.jam", """\
name = n1 n2 ;
contents = M1 M2 ;
EXIT file: "@(o$(name) .txt:E= test -D$(contents))" : 0 ;
""")
-t.run_build_system("-ffile.jam")
+t.run_build_system()
t.expect_output_line("file: on1 on2 .txt");
t.expect_addition("on1 on2 .txt")
t.expect_content("on1 on2 .txt", " test -DM1 -DM2", True)
t.rm(".")
-t.write("file.jam", """
+t.write("file.jam", """\
name = n1 n2 ;
contents = M1 M2 ;
-actions run {
-echo file: "@(o$(name) .txt:E= test -D$(contents))"
-}
-
+actions run { echo file: "@(o$(name) .txt:E= test -D$(contents))" }
run all ;
-
""")
-t.run_build_system("-ffile.jam -d2")
+t.run_build_system("-d2")
t.expect_output_line('echo file: "on1 on2 .txt"');
t.expect_addition("on1 on2 .txt")
t.expect_content("on1 on2 .txt", " test -DM1 -DM2", True)
t.rm(".")
-t.write("file.jam", """
+t.write("file.jam", """\
name = n1 n2 ;
contents = M1 M2 ;
file = "@($(STDOUT):E= test -D$(contents)\n)" ;
-
-actions run {
-$(file)
-}
-
+actions run { $(file) }
run all ;
""")
-t.run_build_system("-ffile.jam -d1")
+t.run_build_system("-d1")
t.expect_output_line(" test -DM1 -DM2")
t.rm(".")
-t.write("file.jam", """
+t.write("file.jam", """\
name = n1 n2 ;
contents = M1 M2 ;
-actions run {
-@($(STDOUT):E= test -D$(contents)\n)
-}
-
+actions run { @($(STDOUT):E= test -D$(contents)\n) }
run all ;
-
""")
-t.run_build_system("-ffile.jam -d1")
+t.run_build_system("-d1")
t.expect_output_line(" test -DM1 -DM2")
t.cleanup()
Modified: trunk/tools/build/v2/test/core_bindrule.py
==============================================================================
--- trunk/tools/build/v2/test/core_bindrule.py (original)
+++ trunk/tools/build/v2/test/core_bindrule.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -12,21 +12,18 @@
t.write("subdir1/file-to-bind", "# This file intentionally left blank")
-t.write("file.jam", """
+t.write("file.jam", """\
rule do-nothing ( target : source )
{
DEPENDS $(target) : $(source) ;
}
-actions quietly do-nothing
-{
-}
+actions quietly do-nothing { }
# Make a non-file target which depends on a file that exists
NOTFILE fake-target ;
SEARCH on file-to-bind = subdir1 ;
-do-nothing fake-target
- : file-to-bind ;
+do-nothing fake-target : file-to-bind ;
# Set jam up to call our bind-rule
BINDRULE = bind-rule ;
@@ -39,7 +36,8 @@
DEPENDS all : fake-target ;
""")
-t.run_build_system("-ffile.jam", stdout="""found: all at all
+t.run_build_system("-ffile.jam", stdout="""\
+found: all at all
found: file-to-bind at subdir1%sfile-to-bind
...found 3 targets...
""" % os.sep)
Modified: trunk/tools/build/v2/test/core_d12.py
==============================================================================
--- trunk/tools/build/v2/test/core_d12.py (original)
+++ trunk/tools/build/v2/test/core_d12.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -8,7 +8,7 @@
import BoostBuild
-t = BoostBuild.Tester(pass_toolset=0)
+t = BoostBuild.Tester("-ffile.jam", pass_toolset=0)
t.write("file.jam", """
actions a { }
@@ -18,13 +18,13 @@
b all ;
""")
-t.run_build_system("-ffile.jam -d0", stdout="")
+t.run_build_system("-d0", stdout="")
-t.run_build_system("-ffile.jam -d1")
+t.run_build_system("-d1")
t.expect_output_line("a all")
t.expect_output_line("b all", False)
-t.run_build_system("-ffile.jam -d2")
+t.run_build_system("-d2")
t.expect_output_line("a all")
t.expect_output_line("b all")
Modified: trunk/tools/build/v2/test/core_import_module.py
==============================================================================
--- trunk/tools/build/v2/test/core_import_module.py (original)
+++ trunk/tools/build/v2/test/core_import_module.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -8,7 +8,7 @@
t = BoostBuild.Tester(pass_toolset=0)
-t.write("code", """
+t.write("code", """\
module a
{
rule r1 ( )
@@ -70,7 +70,8 @@
do-nothing all ;
""")
-t.run_build_system("-fcode", stdout="""R1
+t.run_build_system("-fcode", stdout="""\
+R1
R2
L1
A.L1
Modified: trunk/tools/build/v2/test/core_language.py
==============================================================================
--- trunk/tools/build/v2/test/core_language.py (original)
+++ trunk/tools/build/v2/test/core_language.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -7,8 +7,6 @@
import BoostBuild
t = BoostBuild.Tester(pass_toolset=0)
-
t.set_tree("core-language")
-t.run_build_system(extra_args="-ftest.jam")
-
+t.run_build_system("-ftest.jam")
t.cleanup()
Modified: trunk/tools/build/v2/test/core_option_d2.py
==============================================================================
--- trunk/tools/build/v2/test/core_option_d2.py (original)
+++ trunk/tools/build/v2/test/core_option_d2.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -2,45 +2,41 @@
# Copyright 2007 Rene Rivera.
# Copyright 2011 Steven Watanabe
-# 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)
+# 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)
import BoostBuild
t = BoostBuild.Tester(pass_toolset=0, pass_d0=False)
-t.write("sleep.bat","""@setlocal
-_at_echo off
-timeout /T %1 /NOBREAK >nul
-""")
-
-t.write("file.jam", """
- actions .a.
- {
+t.write("file.jam", """\
+actions .a.
+{
echo [$(<:B)] 0
echo [$(<:B)] 1
echo [$(<:B)] 2
- }
-
- rule .a.
- {
- DEPENDS $(<) : $(>) ;
- }
-
- NOTFILE subtest ;
- .a. subtest_a : subtest ;
- .a. subtest_b : subtest ;
- DEPENDS all : subtest_a subtest_b ;
+}
+
+rule .a.
+{
+ DEPENDS $(<) : $(>) ;
+}
+
+NOTFILE subtest ;
+.a. subtest_a : subtest ;
+.a. subtest_b : subtest ;
+DEPENDS all : subtest_a subtest_b ;
""")
-t.run_build_system("-ffile.jam -d2", stdout="""...found 4 targets...
+t.run_build_system("-ffile.jam -d2", stdout="""\
+...found 4 targets...
...updating 2 targets...
.a. subtest_a
echo [subtest_a] 0
echo [subtest_a] 1
echo [subtest_a] 2
-
+
[subtest_a] 0
[subtest_a] 1
[subtest_a] 2
@@ -49,7 +45,7 @@
echo [subtest_b] 0
echo [subtest_b] 1
echo [subtest_b] 2
-
+
[subtest_b] 0
[subtest_b] 1
[subtest_b] 2
Modified: trunk/tools/build/v2/test/core_option_l.py
==============================================================================
--- trunk/tools/build/v2/test/core_option_l.py (original)
+++ trunk/tools/build/v2/test/core_option_l.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -2,24 +2,21 @@
# Copyright 2007 Rene Rivera.
# Copyright 2011 Steven Watanabe
-# 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)
+# 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)
import BoostBuild
t = BoostBuild.Tester(pass_toolset=0)
-t.write("sleep.bat","""@setlocal
-_at_echo off
-_at_REM timeout /T %1 /NOBREAK >nul
-ping 127.0.0.1 -n 2 -w 1000 >nul
-ping 127.0.0.1 -n %1 -w 1000 >nul
-_at_endlocal
+t.write("sleep.bat", """\
+::@timeout /T %1 /NOBREAK >nul
+@ping 127.0.0.1 -n 2 -w 1000 >nul
+@ping 127.0.0.1 -n %1 -w 1000 >nul
@exit /B 0
""")
-t.write("file.jam", """
-
+t.write("file.jam", """\
if $(NT)
{
SLEEP = @call sleep.bat ;
@@ -41,7 +38,6 @@
""")
t.run_build_system("-ffile.jam -d1 -l2", status=1)
-
t.expect_output_line("2 second time limit exceeded")
t.cleanup()
Modified: trunk/tools/build/v2/test/core_option_n.py
==============================================================================
--- trunk/tools/build/v2/test/core_option_n.py (original)
+++ trunk/tools/build/v2/test/core_option_n.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -2,50 +2,50 @@
# Copyright 2007 Rene Rivera.
# Copyright 2011 Steven Watanabe
-# 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)
+# 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)
import BoostBuild
t = BoostBuild.Tester(pass_toolset=0, pass_d0=False)
-t.write("file.jam", """
- actions .a.
- {
+t.write("file.jam", """\
+actions .a.
+{
echo [$(<:B)] 0
echo [$(<:B)] 1
echo [$(<:B)] 2
- }
-
- rule .a.
- {
- DEPENDS $(<) : $(>) ;
- }
-
- NOTFILE subtest ;
- .a. subtest_a : subtest ;
- .a. subtest_b : subtest ;
- FAIL_EXPECTED subtest_b ;
- DEPENDS all : subtest_a subtest_b ;
+}
+
+rule .a.
+{
+ DEPENDS $(<) : $(>) ;
+}
+
+NOTFILE subtest ;
+.a. subtest_a : subtest ;
+.a. subtest_b : subtest ;
+FAIL_EXPECTED subtest_b ;
+DEPENDS all : subtest_a subtest_b ;
""")
-t.run_build_system("-ffile.jam -n", stdout="""...found 4 targets...
+t.run_build_system("-ffile.jam -n", stdout="""\
+...found 4 targets...
...updating 2 targets...
.a. subtest_a
echo [subtest_a] 0
echo [subtest_a] 1
echo [subtest_a] 2
-
+
.a. subtest_b
echo [subtest_b] 0
echo [subtest_b] 1
echo [subtest_b] 2
-
+
...updated 2 targets...
""")
-
t.expect_nothing_more()
t.cleanup()
Modified: trunk/tools/build/v2/test/core_parallel_actions.py
==============================================================================
--- trunk/tools/build/v2/test/core_parallel_actions.py (original)
+++ trunk/tools/build/v2/test/core_parallel_actions.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -10,58 +10,56 @@
t = BoostBuild.Tester(pass_toolset=0, pass_d0=False)
t.write("sleep.bat", """\
-_at_setlocal
-_at_REM timeout /T %1 /NOBREAK >nul
+::@timeout /T %1 /NOBREAK >nul
@ping 127.0.0.1 -n 2 -w 1000 >nul
@ping 127.0.0.1 -n %1 -w 1000 >nul
-_at_endlocal
@exit /B 0
""")
t.write("file.jam", """\
- if $(NT)
+if $(NT)
+{
+ actions sleeper
{
- actions sleeper
- {
-echo [$(<:S)] 0
-_at_call sleep.bat 1
-echo [$(<:S)] 1
-_at_call sleep.bat 1
-echo [$(<:S)] 2
-_at_call sleep.bat $(<:B)
- }
+ echo [$(<:S)] 0
+ call sleep.bat 1
+ echo [$(<:S)] 1
+ call sleep.bat 1
+ echo [$(<:S)] 2
+ call sleep.bat $(<:B)
}
- else
+}
+else
+{
+ actions sleeper
{
- actions sleeper
- {
-echo "[$(<:S)] 0" 1>&2
-sleep 1
-echo "[$(<:S)] 1"
-sleep 1
-echo "[$(<:S)] 2" 1>&2
-sleep $(<:B)
- }
+ echo "[$(<:S)] 0"
+ sleep 1
+ echo "[$(<:S)] 1"
+ sleep 1
+ echo "[$(<:S)] 2"
+ sleep $(<:B)
}
+}
- rule sleeper
- {
- DEPENDS $(<) : $(>) ;
- }
-
- NOTFILE front ;
- sleeper 1.a : front ;
- sleeper 2.a : front ;
- sleeper 3.a : front ;
- sleeper 4.a : front ;
- NOTFILE choke ;
- DEPENDS choke : 1.a 2.a 3.a 4.a ;
- sleeper 1.b : choke ;
- sleeper 2.b : choke ;
- sleeper 3.b : choke ;
- sleeper 4.b : choke ;
- DEPENDS bottom : 1.b 2.b 3.b 4.b ;
- DEPENDS all : bottom ;
+rule sleeper
+{
+ DEPENDS $(<) : $(>) ;
+}
+
+NOTFILE front ;
+sleeper 1.a : front ;
+sleeper 2.a : front ;
+sleeper 3.a : front ;
+sleeper 4.a : front ;
+NOTFILE choke ;
+DEPENDS choke : 1.a 2.a 3.a 4.a ;
+sleeper 1.b : choke ;
+sleeper 2.b : choke ;
+sleeper 3.b : choke ;
+sleeper 4.b : choke ;
+DEPENDS bottom : 1.b 2.b 3.b 4.b ;
+DEPENDS all : bottom ;
""")
t.run_build_system("-ffile.jam -j4", stdout="""\
Modified: trunk/tools/build/v2/test/core_parallel_multifile_actions_1.py
==============================================================================
--- trunk/tools/build/v2/test/core_parallel_multifile_actions_1.py (original)
+++ trunk/tools/build/v2/test/core_parallel_multifile_actions_1.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -10,46 +10,48 @@
t = BoostBuild.Tester(pass_toolset=0, pass_d0=False)
t.write("sleep.bat", """\
-_at_setlocal
-_at_REM timeout /T %1 /NOBREAK >nul
+::@timeout /T %1 /NOBREAK >nul
@ping 127.0.0.1 -n 2 -w 1000 >nul
@ping 127.0.0.1 -n %1 -w 1000 >nul
-_at_endlocal
@exit /B 0
""")
t.write("file.jam", """\
- if $(NT)
- {
- SLEEP = @call sleep.bat ;
- }
- else
- {
- SLEEP = sleep ;
- }
-
- actions .gen. {
-echo 001
-$(SLEEP) 4
-echo 002
+if $(NT)
+{
+ SLEEP = @call sleep.bat ;
}
- rule .use.1 { DEPENDS $(<) : $(>) ; }
- actions .use.1 {
-echo 003
+else
+{
+ SLEEP = sleep ;
}
- rule .use.2 { DEPENDS $(<) : $(>) ; }
- actions .use.2 {
-$(SLEEP) 1
-echo 004
+
+actions .gen.
+{
+ echo 001
+ $(SLEEP) 4
+ echo 002
+}
+rule .use.1 { DEPENDS $(<) : $(>) ; }
+actions .use.1
+{
+ echo 003
+}
+
+rule .use.2 { DEPENDS $(<) : $(>) ; }
+actions .use.2
+{
+ $(SLEEP) 1
+ echo 004
}
- .gen. g1.generated g2.generated ;
- .use.1 u1.user : g1.generated ;
- .use.2 u2.user : g2.generated ;
-
- NOTFILE root ;
- DEPENDS g1.generated g2.generated : root ;
- DEPENDS all : u1.user u2.user ;
+.gen. g1.generated g2.generated ;
+.use.1 u1.user : g1.generated ;
+.use.2 u2.user : g2.generated ;
+
+NOTFILE root ;
+DEPENDS g1.generated g2.generated : root ;
+DEPENDS all : u1.user u2.user ;
""")
t.run_build_system("-ffile.jam -j2", stdout="""\
Modified: trunk/tools/build/v2/test/core_parallel_multifile_actions_2.py
==============================================================================
--- trunk/tools/build/v2/test/core_parallel_multifile_actions_2.py (original)
+++ trunk/tools/build/v2/test/core_parallel_multifile_actions_2.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -22,41 +22,39 @@
t = BoostBuild.Tester(pass_toolset=0, pass_d0=False)
t.write("sleep.bat", """\
-_at_setlocal
-_at_REM timeout /T %1 /NOBREAK >nul
+::@timeout /T %1 /NOBREAK >nul
@ping 127.0.0.1 -n 2 -w 1000 >nul
@ping 127.0.0.1 -n %1 -w 1000 >nul
-_at_endlocal
@exit /B 0
""")
t.write("file.jam", """\
- if $(NT)
- {
- SLEEP = @call sleep.bat ;
- }
- else
- {
- SLEEP = sleep ;
- }
-
- actions link
- {
- $(SLEEP) 1
- echo 001 - linked
- }
-
- link dll lib ;
-
- actions install
- {
- echo 002 - installed
- }
+if $(NT)
+{
+ SLEEP = @call sleep.bat ;
+}
+else
+{
+ SLEEP = sleep ;
+}
+
+actions link
+{
+ $(SLEEP) 1
+ echo 001 - linked
+}
+
+link dll lib ;
+
+actions install
+{
+ echo 002 - installed
+}
- install installed_dll : dll ;
- DEPENDS installed_dll : dll ;
+install installed_dll : dll ;
+DEPENDS installed_dll : dll ;
- DEPENDS all : lib installed_dll ;
+DEPENDS all : lib installed_dll ;
""")
t.run_build_system("-ffile.jam -j2", stdout="""\
Modified: trunk/tools/build/v2/test/core_typecheck.py
==============================================================================
--- trunk/tools/build/v2/test/core_typecheck.py (original)
+++ trunk/tools/build/v2/test/core_typecheck.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -1,21 +1,21 @@
#!/usr/bin/python
-# Copyright 2003 Vladimir Prus
-# 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)
+# Copyright 2003 Vladimir Prus
+# 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)
# This tests the typechecking facilities.
import BoostBuild
-t = BoostBuild.Tester(pass_toolset=0)
+t = BoostBuild.Tester("-ffile.jam", pass_toolset=0)
t.write("file.jam", """
-module .typecheck
+module .typecheck
{
rule [path] ( x )
{
- if ! [ MATCH "^(::)" : $(x) ]
+ if ! [ MATCH "^(::)" : $(x) ]
{
ECHO "Error: $(x) is not a path" ;
return true ;
@@ -29,13 +29,13 @@
do $(ARGUMENT) ;
-actions dummy { }
+actions dummy { }
dummy all ;
""")
-t.run_build_system("-ffile.jam -sARGUMENT=::a/b/c")
-t.run_build_system("-ffile.jam -sARGUMENT=a/b/c", status=1,
- stdout="""Error: a/b/c is not a path
+t.run_build_system("-sARGUMENT=::a/b/c")
+t.run_build_system("-sARGUMENT=a/b/c", status=1, stdout="""\
+Error: a/b/c is not a path
file.jam:18: in module scope
*** argument error
* rule do ( [path] a )
Modified: trunk/tools/build/v2/test/core_update_now.py
==============================================================================
--- trunk/tools/build/v2/test/core_update_now.py (original)
+++ trunk/tools/build/v2/test/core_update_now.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -1,19 +1,17 @@
#!/usr/bin/python
# Copyright 2011 Steven Watanabe
-# 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)
+# 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)
import BoostBuild
import os
-def basic():
- # Basic test
+def basic():
t = BoostBuild.Tester(pass_toolset=0, pass_d0=False)
- t.write("file.jam", """
-
+ t.write("file.jam", """\
actions do-print
{
echo updating $(<)
@@ -28,7 +26,8 @@
DEPENDS all : target1 ;
""")
- t.run_build_system("-ffile.jam", stdout="""...found 1 target...
+ t.run_build_system("-ffile.jam", stdout="""\
+...found 1 target...
...updating 1 target...
do-print target1
updating target1
@@ -38,13 +37,11 @@
t.cleanup()
-def ignore_minus_n():
- # ignore-minus-n
+def ignore_minus_n():
t = BoostBuild.Tester(pass_toolset=0, pass_d0=False)
- t.write("file.jam", """
-
+ t.write("file.jam", """\
actions do-print
{
echo updating $(<)
@@ -59,7 +56,8 @@
DEPENDS all : target1 ;
""")
- t.run_build_system("-ffile.jam -n", stdout="""...found 1 target...
+ t.run_build_system("-ffile.jam -n", stdout="""\
+...found 1 target...
...updating 1 target...
do-print target1
@@ -72,12 +70,11 @@
t.cleanup()
-def failed_target():
+def failed_target():
t = BoostBuild.Tester(pass_toolset=0, pass_d0=False)
- t.write("file.jam", """
-
+ t.write("file.jam", """\
actions fail
{
exit 1
@@ -101,7 +98,8 @@
DEPENDS all : target1 target2 ;
""")
- t.run_build_system("-ffile.jam -n", stdout="""...found 1 target...
+ t.run_build_system("-ffile.jam -n", stdout="""\
+...found 1 target...
...updating 1 target...
fail target1
@@ -120,11 +118,11 @@
t.cleanup()
+
def missing_target():
t = BoostBuild.Tester(pass_toolset=0, pass_d0=False)
- t.write("file.jam", """
-
+ t.write("file.jam", """\
actions do-print
{
echo updating $(<)
@@ -139,7 +137,8 @@
DEPENDS all : target1 target2 ;
""")
- t.run_build_system("-ffile.jam -n", status=1, stdout="""don't know how to make target1
+ t.run_build_system("-ffile.jam -n", status=1, stdout="""\
+don't know how to make target1
...found 1 target...
...can't find 1 target...
...found 2 targets...
@@ -148,15 +147,17 @@
t.cleanup()
-# Make sure that if we call UPDATE_NOW with ignore-minus-n,
-# the target gets updated exactly once regardless of previous
-# calls to UPDATE_NOW with -n in effect.
def build_once():
- t = BoostBuild.Tester(pass_toolset=0, pass_d0=False)
+ """
+ Make sure that if we call UPDATE_NOW with ignore-minus-n, the target gets
+ updated exactly once regardless of previous calls to UPDATE_NOW with -n in
+ effect.
- t.write("file.jam", """
+ """
+ t = BoostBuild.Tester(pass_toolset=0, pass_d0=False)
+ t.write("file.jam", """\
actions do-print
{
echo updating $(<)
@@ -173,7 +174,8 @@
DEPENDS all : target1 ;
""")
- t.run_build_system("-ffile.jam -n", stdout="""...found 1 target...
+ t.run_build_system("-ffile.jam -n", stdout="""\
+...found 1 target...
...updating 1 target...
do-print target1
@@ -191,6 +193,7 @@
t.cleanup()
+
basic()
ignore_minus_n()
failed_target()
Modified: trunk/tools/build/v2/test/core_variables_in_actions.py
==============================================================================
--- trunk/tools/build/v2/test/core_variables_in_actions.py (original)
+++ trunk/tools/build/v2/test/core_variables_in_actions.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -4,20 +4,20 @@
# 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 that variables in actions get expanded but double quote characters get
-# treated as regular characters and not string literal delimiters when
+# Tests that variables in actions get expanded but double quote characters
+# get treated as regular characters and not string literal delimiters when
# determining string tokens concatenated to the variable being expanded.
#
# We also take care to make this test work correctly when run using both
# Windows and Unix echo command variant. That is why we add the extra single
# quotes around the text being echoed - they will make the double quotes be
-# displayed as regular characters in both cases but will be displayed themselves
-# only when using the Windows cmd shell's echo command.
+# displayed as regular characters in both cases but will be displayed
+# themselves only when using the Windows cmd shell's echo command.
import BoostBuild
t = BoostBuild.Tester(pass_toolset=0)
-t.write("file.jam", """
+t.write("file.jam", """\
rule dummy ( i )
{
local a = 1 2 3 ;
Modified: trunk/tools/build/v2/test/core_varnames.py
==============================================================================
--- trunk/tools/build/v2/test/core_varnames.py (original)
+++ trunk/tools/build/v2/test/core_varnames.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -10,7 +10,7 @@
t = BoostBuild.Tester(pass_toolset=0)
-t.write("file.jam", """
+t.write("file.jam", """\
module foo
{
rule bar { }
Modified: trunk/tools/build/v2/test/default_build.py
==============================================================================
--- trunk/tools/build/v2/test/default_build.py (original)
+++ trunk/tools/build/v2/test/default_build.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -11,7 +11,7 @@
t = BoostBuild.Tester()
-t.write("jamroot.jam", "import gcc ;")
+t.write("jamroot.jam", "")
t.write("jamfile.jam", "exe a : a.cpp : : debug release ;")
t.write("a.cpp", "int main() {}\n")
@@ -32,42 +32,32 @@
t.expect_addition("bin/$toolset/release/optimization-space/a.exe")
# Test that default-build must be identical in all alternatives. Error case.
-t.write("jamfile.jam", """
+t.write("jamfile.jam", """\
exe a : a.cpp : : debug ;
exe a : b.cpp : : ;
""")
-expected="""error: default build must be identical in all alternatives
-main target is ./a
-with
-differing from previous default build <variant>debug
-
-"""
t.run_build_system("-n --no-error-backtrace", status=1)
t.fail_test(t.stdout().find("default build must be identical in all alternatives") == -1)
# Test that default-build must be identical in all alternatives. No Error case,
# empty default build.
-t.write("jamfile.jam", """
+t.write("jamfile.jam", """\
exe a : a.cpp : <variant>debug ;
exe a : b.cpp : <variant>release ;
""")
t.run_build_system("-n --no-error-backtrace", status=0)
-
# Now try a harder example: default build which contains <define> should cause
# <define> to be present when "b" is compiled. This happens only if
# "build-project b" is placed first.
-t.write("jamfile.jam", """
+t.write("jamfile.jam", """\
project : default-build <define>FOO ;
build-project a ;
build-project b ;
""")
-t.write("a/jamfile.jam", """
-exe a : a.cpp ../b//b ;
-""")
-
-t.write("a/a.cpp", """
+t.write("a/jamfile.jam", "exe a : a.cpp ../b//b ;")
+t.write("a/a.cpp", """\
#ifdef _WIN32
__declspec(dllimport)
#endif
@@ -75,11 +65,8 @@
int main() { foo(); }
""")
-t.write("b/jamfile.jam", """
-lib b : b.cpp ;
-""")
-
-t.write("b/b.cpp", """
+t.write("b/jamfile.jam", "lib b : b.cpp ;")
+t.write("b/b.cpp", """\
#ifdef FOO
#ifdef _WIN32
__declspec(dllexport)
Modified: trunk/tools/build/v2/test/dependency_property.py
==============================================================================
--- trunk/tools/build/v2/test/dependency_property.py (original)
+++ trunk/tools/build/v2/test/dependency_property.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -6,8 +6,8 @@
# Regression test: virtual targets with different dependency properties were
# considered different by 'virtual-target.register', but the code which
-# determined target paths ignored dependency properties --- so both targets used
-# to be placed to the same location.
+# determined the actual target paths ignored dependency properties so both
+# targets ended up being in the same location.
import BoostBuild
import string
@@ -15,7 +15,7 @@
t = BoostBuild.Tester()
-t.write("jamroot.jam", """
+t.write("jamroot.jam", """\
lib foo : foo.cpp ;
exe hello : hello.cpp ;
exe hello2 : hello.cpp : <library>foo ;
@@ -23,7 +23,7 @@
t.write("hello.cpp", "int main() {}\n")
-t.write("foo.cpp", """
+t.write("foo.cpp", """\
#ifdef _WIN32
__declspec(dllexport)
#endif
Modified: trunk/tools/build/v2/test/direct_request_test.py
==============================================================================
--- trunk/tools/build/v2/test/direct_request_test.py (original)
+++ trunk/tools/build/v2/test/direct_request_test.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -7,67 +7,62 @@
# First check some startup.
t.write("jamroot.jam", "")
-
-t.write("jamfile.jam", """
+t.write("jamfile.jam", """\
exe a : a.cpp b ;
lib b : b.cpp ;
""")
-t.write("a.cpp", """
+t.write("a.cpp", """\
void
# ifdef _WIN32
__declspec(dllimport)
-# endif
+# endif
foo();
-
-int main()
-{
- foo();
-}
+int main() { foo(); }
""")
-t.write("b.cpp", """
+t.write("b.cpp", """\
#ifdef MACROS
void
# ifdef _WIN32
__declspec(dllexport)
-# endif
+# endif
foo() {}
#endif
# ifdef _WIN32
int __declspec(dllexport) force_implib_creation;
-# endif
+# endif
""")
-t.run_build_system(extra_args="define=MACROS")
-t.expect_addition("bin/$toolset/debug/"
+t.run_build_system("define=MACROS")
+t.expect_addition("bin/$toolset/debug/"
* (BoostBuild.List("a.obj b.obj b.dll a.exe")))
# When building a debug version, the 'define' still applies.
t.rm("bin")
-t.run_build_system(extra_args="debug define=MACROS")
-t.expect_addition("bin/$toolset/debug/"
+t.run_build_system("debug define=MACROS")
+t.expect_addition("bin/$toolset/debug/"
* (BoostBuild.List("a.obj b.obj b.dll a.exe")))
-# When building release version, the 'define' still applies.
-t.write("jamfile.jam", """
+# When building a release version, the 'define' still applies.
+t.write("jamfile.jam", """\
exe a : a.cpp b : <variant>debug ;
lib b : b.cpp ;
""")
t.rm("bin")
-t.run_build_system(extra_args="release define=MACROS")
+t.run_build_system("release define=MACROS")
-# Regression test: direct build request was not working when there was more than
-# one level of 'build-project'.
+# Regression test: direct build request was not working when there was more
+# than one level of 'build-project'.
t.rm(".")
-t.write('jamroot.jam', '')
-t.write('jamfile.jam', 'build-project a ;')
-t.write('a/jamfile.jam', 'build-project b ;')
-t.write('a/b/jamfile.jam', '')
+t.write("jamroot.jam", "")
+t.write("jamfile.jam", "build-project a ;")
+t.write("a/jamfile.jam", "build-project b ;")
+t.write("a/b/jamfile.jam", "")
t.run_build_system("release")
t.cleanup()
Modified: trunk/tools/build/v2/test/dll_path.py
==============================================================================
--- trunk/tools/build/v2/test/dll_path.py (original)
+++ trunk/tools/build/v2/test/dll_path.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -13,32 +13,26 @@
t = BoostBuild.Tester()
# The point of this test is to have exe "main" which uses library "b", which
-# uses library "a". When "main" is built with <hardcode-dll-paths>true, paths to
-# both libraries should be present as values of <dll-path> feature. We create a
-# special target type which reports <dll-path> values on its sources and compare
-# the list of found values with out expectations.
+# uses library "a". When "main" is built with <hardcode-dll-paths>true, paths
+# to both libraries should be present as values of <dll-path> feature. We
+# create a special target type which reports <dll-path> values on its sources
+# and compare the list of found values with out expectations.
-t.write("jamfile.jam", """
+t.write("jamroot.jam", "using dll_paths ;")
+t.write("jamfile.jam", """\
exe main : main.cpp b//b ;
explicit main ;
path-list mp : main ;
""")
-t.write("main.cpp", """
-int main() {}
-""")
-
-t.write("jamroot.jam", """
-using dll_paths ;
-""")
-
-t.write("dll_paths.jam", """
-import type ;
-import generators ;
+t.write("main.cpp", "int main() {}\n")
+t.write("dll_paths.jam", """\
+import "class" : new ;
import feature ;
-import sequence ;
+import generators ;
import print ;
-import "class" : new ;
+import sequence ;
+import type ;
rule init ( )
{
@@ -81,7 +75,7 @@
}
""")
-t.write("dll_paths.py", """
+t.write("dll_paths.py", """\
import bjam
import b2.build.type as type
@@ -95,10 +89,10 @@
class DllPathsListGenerator(generators.Generator):
def __init__(self):
- generators.Generator.__init__(self, "dll_paths.list", False, ["EXE"], ["PATH_LIST"])
+ generators.Generator.__init__(self, "dll_paths.list", False,
+ ["EXE"], ["PATH_LIST"])
def generated_targets(self, sources, ps, project, name):
-
dll_paths = []
for s in sources:
a = s.action()
@@ -106,9 +100,9 @@
p = a.properties()
dll_paths += p.get('dll-path')
dll_paths.sort()
- return generators.Generator.generated_targets(self,
- sources, ps.add_raw(["<dll-path>" + p for p in dll_paths]),
- project, name)
+ return generators.Generator.generated_targets(self, sources,
+ ps.add_raw(["<dll-path>" + p for p in dll_paths]), project,
+ name)
generators.register(DllPathsListGenerator())
@@ -117,11 +111,13 @@
\"\"\"
def function(target, sources, ps):
bjam.call('set-target-variable', target, "PATHS", ps.get('dll-path'))
-
-get_manager().engine().register_action("dll_paths.list", command, function=function)
+
+get_manager().engine().register_action("dll_paths.list", command,
+ function=function)
""")
-t.write("a/a.cpp", """
+t.write("a/jamfile.jam", "lib a : a.cpp ;")
+t.write("a/a.cpp", """\
void
#if defined(_WIN32)
__declspec(dllexport)
@@ -129,11 +125,8 @@
foo() {}
""")
-t.write("a/jamfile.jam", """
-lib a : a.cpp ;
-""")
-
-t.write("b/b.cpp", """
+t.write("b/jamfile.jam", "lib b : b.cpp ../a//a ;")
+t.write("b/b.cpp", """\
void
#if defined(_WIN32)
__declspec(dllexport)
@@ -141,10 +134,6 @@
bar() {}
""")
-t.write("b/jamfile.jam", """
-lib b : b.cpp ../a//a ;
-""")
-
t.run_build_system("hardcode-dll-paths=true")
t.expect_addition("bin/$toolset/debug/mp.pathlist")
Modified: trunk/tools/build/v2/test/explicit.py
==============================================================================
--- trunk/tools/build/v2/test/explicit.py (original)
+++ trunk/tools/build/v2/test/explicit.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -8,15 +8,13 @@
t = BoostBuild.Tester()
-t.write("jamroot.jam", """
+t.write("jamroot.jam", """\
exe hello : hello.cpp ;
exe hello2 : hello.cpp ;
explicit hello2 ;
""")
-t.write("hello.cpp", """
-int main() {}
-""")
+t.write("hello.cpp", "int main() {}\n")
t.run_build_system()
t.ignore("*.tds")
@@ -32,7 +30,7 @@
# Test that 'explicit' used in a helper rule applies to the current project, and
# not to the Jamfile where the helper rule is defined.
-t.write("jamroot.jam", """
+t.write("jamroot.jam", """\
rule myinstall ( name : target )
{
install $(name)-bin : $(target) ;
@@ -41,19 +39,15 @@
}
""")
-t.write("sub/a.cpp", """
-""")
-
-t.write("sub/jamfile.jam", """
-myinstall dist : a.cpp ;
-""")
+t.write("sub/a.cpp", "\n")
+t.write("sub/jamfile.jam", "myinstall dist : a.cpp ;")
t.run_build_system(subdir="sub")
t.expect_addition("sub/dist-bin/a.cpp")
t.rm("sub/dist-bin")
-t.write("sub/jamfile.jam", """
+t.write("sub/jamfile.jam", """\
myinstall dist : a.cpp ;
explicit dist ;
""")
Modified: trunk/tools/build/v2/test/free_features_request.py
==============================================================================
--- trunk/tools/build/v2/test/free_features_request.py (original)
+++ trunk/tools/build/v2/test/free_features_request.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -5,26 +5,26 @@
# accompanying file LICENSE_1_0.txt or copy at
# http://www.boost.org/LICENSE_1_0.txt)
-# Tests that a free feature specified on the command line applies to all targets
-# ever built.
+# Tests that a free feature specified on the command line applies to all
+# targets ever built.
import BoostBuild
t = BoostBuild.Tester()
-t.write("jamroot.jam", """
+t.write("jamroot.jam", """\
exe hello : hello.cpp foo ;
lib foo : foo.cpp ;
""")
-t.write("hello.cpp", """
+t.write("hello.cpp", """\
extern void foo();
#ifdef FOO
int main() { foo(); }
#endif
""")
-t.write("foo.cpp", """
+t.write("foo.cpp", """\
#ifdef FOO
#ifdef _WIN32
__declspec(dllexport)
Modified: trunk/tools/build/v2/test/inherit_toolset.py
==============================================================================
--- trunk/tools/build/v2/test/inherit_toolset.py (original)
+++ trunk/tools/build/v2/test/inherit_toolset.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -9,10 +9,9 @@
t = BoostBuild.Tester(pass_toolset=0)
-t.write("a.cpp", """
-""")
+t.write("a.cpp", "\n")
-t.write("yfc1.jam", """
+t.write("yfc1.jam", """\
import feature ;
import generators ;
@@ -26,7 +25,7 @@
actions link { yfc1-link }
""")
-t.write("yfc2.jam", """
+t.write("yfc2.jam", """\
import feature ;
import toolset ;
@@ -37,21 +36,14 @@
actions link { yfc2-link }
""")
-t.write("jamfile.jam", """
-exe a : a.cpp ;
-""")
-
-t.write("jamroot.jam", """
-using yfc1 ;
-""")
+t.write("jamfile.jam", "exe a : a.cpp ;")
+t.write("jamroot.jam", "using yfc1 ;")
t.run_build_system("-n -d2 yfc1")
t.fail_test(string.find(t.stdout(), "yfc1-link") == -1)
# Make sure we do not have to explicitly 'use' yfc1.
-t.write("jamroot.jam", """
-using yfc2 ;
-""")
+t.write("jamroot.jam", "using yfc2 ;")
t.run_build_system("-n -d2 yfc2")
t.fail_test(string.find(t.stdout(), "yfc2-link") == -1)
Modified: trunk/tools/build/v2/test/inline.py
==============================================================================
--- trunk/tools/build/v2/test/inline.py (original)
+++ trunk/tools/build/v2/test/inline.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -8,19 +8,17 @@
t = BoostBuild.Tester()
-t.write("jamroot.jam", """
+t.write("jamroot.jam", """\
project : requirements <link>static ;
exe a : a.cpp [ lib helper : helper.cpp ] ;
""")
-t.write("a.cpp", """
+t.write("a.cpp", """\
extern void helper();
int main() {}
""")
-t.write("helper.cpp", """
-void helper() {}
-""")
+t.write("helper.cpp", "void helper() {}\n")
t.run_build_system()
t.expect_addition("bin/$toolset/debug/link-static/a__helper.lib")
@@ -34,7 +32,7 @@
# Now check that inline targets with the same name but present in different
# places are not confused between each other, and with top-level targets.
-t.write("jamroot.jam", """
+t.write("jamroot.jam", """\
project : requirements <link>static ;
exe a : a.cpp [ lib helper : helper.cpp ] ;
exe a2 : a.cpp [ lib helper : helper.cpp ] ;
@@ -48,7 +46,7 @@
# Check that the 'alias' target does not change the name of inline targets, and
# that inline targets are explicit.
-t.write("jamroot.jam", """
+t.write("jamroot.jam", """\
project : requirements <link>static ;
alias a : [ lib helper : helper.cpp ] ;
explicit a ;
Modified: trunk/tools/build/v2/test/library_chain.py
==============================================================================
--- trunk/tools/build/v2/test/library_chain.py (original)
+++ trunk/tools/build/v2/test/library_chain.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -8,27 +8,26 @@
# linking.
import BoostBuild
-import string
import os
+import string
t = BoostBuild.Tester()
-t.write("jamfile.jam", """
-# Stage the binary, so that it will be relinked without hardcode-dll-paths. That
-# will chech that we pass correct -rpath-link, even if not passing -rpath.
+# Stage the binary, so that it will be relinked without hardcode-dll-paths.
+# That will check that we pass correct -rpath-link, even if not passing -rpath.
+t.write("jamfile.jam", """\
stage dist : main ;
exe main : main.cpp b ;
""")
-t.write("main.cpp", """
+t.write("main.cpp", """\
void foo();
int main() { foo(); }
""")
-t.write("jamroot.jam", """
-""")
+t.write("jamroot.jam", "")
-t.write("a/a.cpp", """
+t.write("a/a.cpp", """\
void
#if defined(_WIN32)
__declspec(dllexport)
@@ -41,11 +40,9 @@
geek() {}
""")
-t.write("a/jamfile.jam", """
-lib a : a.cpp ;
-""")
+t.write("a/jamfile.jam", "lib a : a.cpp ;")
-t.write("b/b.cpp", """
+t.write("b/b.cpp", """\
void geek();
void
#if defined(_WIN32)
@@ -54,9 +51,7 @@
foo() { geek(); }
""")
-t.write("b/jamfile.jam", """
-lib b : b.cpp ../a//a ;
-""")
+t.write("b/jamfile.jam", "lib b : b.cpp ../a//a ;")
t.run_build_system("-d2", stderr=None)
t.expect_addition("bin/$toolset/debug/main.exe")
@@ -68,18 +63,14 @@
# Check that <library> works for static linking.
-t.write("b/jamfile.jam", """
-lib b : b.cpp : <library>../a//a ;
-""")
+t.write("b/jamfile.jam", "lib b : b.cpp : <library>../a//a ;")
t.run_build_system("link=static")
t.expect_addition("bin/$toolset/debug/link-static/main.exe")
t.rm(["bin", "a/bin", "b/bin"])
-t.write("b/jamfile.jam", """
-lib b : b.cpp ../a//a/<link>shared : <link>static ;
-""")
+t.write("b/jamfile.jam", "lib b : b.cpp ../a//a/<link>shared : <link>static ;")
t.run_build_system()
t.expect_addition("bin/$toolset/debug/main.exe")
@@ -88,7 +79,7 @@
# Test that putting a library in sources of a searched library works.
-t.write("jamfile.jam", """
+t.write("jamfile.jam", """\
exe main : main.cpp png ;
lib png : z : <name>png ;
lib z : : <name>zzz ;
@@ -110,13 +101,12 @@
t.rm(".")
t.write("jamroot.jam", "")
-
-t.write("a/jamfile.jam", """
+t.write("a/jamfile.jam", """\
lib a : a.cpp ;
install dist : a ;
""")
-t.write("a/a.cpp", """
+t.write("a/a.cpp", """\
#if defined(_WIN32)
__declspec(dllexport)
#endif
@@ -126,18 +116,16 @@
t.run_build_system(subdir="a")
t.expect_addition("a/dist/a.dll")
-if ( ( os.name == 'nt' ) or os.uname()[0].lower().startswith('cygwin') ) and \
- ( BoostBuild.get_toolset() != 'gcc' ):
- # This is windows import library -- we know the exact name.
+if ( os.name == 'nt' or os.uname()[0].lower().startswith('cygwin') ) and \
+ BoostBuild.get_toolset() != 'gcc':
+ # This is a Windows import library -- we know the exact name.
file = "a/dist/a.lib"
else:
- file = t.adjust_names(["a/dist/a.dll"])[0]
+ file = t.adjust_names("a/dist/a.dll")[0]
-t.write("b/jamfile.jam", """
-lib b : b.cpp ../%s ;
-""" % file)
+t.write("b/jamfile.jam", "lib b : b.cpp ../%s ;" % file)
-t.write("b/b.cpp", """
+t.write("b/b.cpp", """\
#if defined(_WIN32)
__declspec(dllimport)
#endif
@@ -148,11 +136,9 @@
void b() { a(); }
""")
-t.write("jamroot.jam", """
-exe main : main.cpp b//b ;
-""")
+t.write("jamroot.jam", "exe main : main.cpp b//b ;")
-t.write("main.cpp", """
+t.write("main.cpp", """\
#if defined(_WIN32)
__declspec(dllimport)
#endif
Modified: trunk/tools/build/v2/test/loop.py
==============================================================================
--- trunk/tools/build/v2/test/loop.py (original)
+++ trunk/tools/build/v2/test/loop.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -9,13 +9,12 @@
t = BoostBuild.Tester()
-t.write("jamroot.jam", """
+t.write("jamroot.jam", """\
lib main : main.cpp l ;
lib l : l.cpp main ;
""")
t.write("main.cpp", "")
-
t.write("l.cpp", "")
t.run_build_system("--no-error-backtrace", status=1)
Modified: trunk/tools/build/v2/test/make_rule.py
==============================================================================
--- trunk/tools/build/v2/test/make_rule.py (original)
+++ trunk/tools/build/v2/test/make_rule.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -12,7 +12,7 @@
t = BoostBuild.Tester(pass_toolset=1)
-t.write("jamroot.jam", """
+t.write("jamroot.jam", """\
import feature ;
feature.feature test_feature : : free ;
@@ -35,21 +35,17 @@
# Regression test. Make sure that if a main target is requested two times, and
# build requests differ only in incidental properties, the main target is
# created only once. The bug was discovered by Kirill Lapshin.
-t.write("jamroot.jam", """
-# Make sure that incidental property does not cause second creation of
-# 'hello1.cpp'.
+t.write("jamroot.jam", """\
exe a : dir//hello1.cpp ;
exe b : dir//hello1.cpp/<hardcode-dll-paths>true ;
""")
-t.write("dir/jamfile.jam", """
+t.write("dir/jamfile.jam", """\
import common ;
make hello1.cpp : hello.cpp : common.copy ;
""")
-t.write("dir/hello.cpp", """
-int main() {}
-""")
+t.write("dir/hello.cpp", "int main() {}\n")
# Show only action names.
t.run_build_system("-d1 -n")
Modified: trunk/tools/build/v2/test/ndebug.py
==============================================================================
--- trunk/tools/build/v2/test/ndebug.py (original)
+++ trunk/tools/build/v2/test/ndebug.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -12,28 +12,22 @@
t = BoostBuild.Tester()
-t.write("jamroot.jam", """
-exe hello : hello.cpp lib//lib1 ;
-""")
-
-t.write("hello.cpp", """
+t.write("jamroot.jam", "exe hello : hello.cpp lib//lib1 ;")
+t.write("hello.cpp", """\
#ifdef NDEBUG
void foo();
int main() { foo(); }
#endif
""")
-
-t.write("lib/jamfile.jam", """
-lib lib1 : lib1.cpp ;
-""")
-t.write("lib/lib1.cpp", """
+t.write("lib/jamfile.jam", "lib lib1 : lib1.cpp ;")
+t.write("lib/lib1.cpp", """\
#ifdef NDEBUG
void foo() {}
#endif
""")
# 'release' builds should get the NDEBUG define. We use static linking to avoid
-# messing with imports/exports on windows.
+# messing with imports/exports on Windows.
t.run_build_system("link=static release")
t.cleanup()
Modified: trunk/tools/build/v2/test/no_type.py
==============================================================================
--- trunk/tools/build/v2/test/no_type.py (original)
+++ trunk/tools/build/v2/test/no_type.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -1,8 +1,8 @@
#!/usr/bin/python
-# Copyright 2002 Vladimir Prus
-# 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)
+# Copyright 2002 Vladimir Prus
+# 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)
# Test that we cannot specify targets of unknown type as sources. This is based
# on the fact that Unix 'ar' will happily consume just about anything.
@@ -11,11 +11,7 @@
t = BoostBuild.Tester()
-t.write("jamroot.jam", """
-import gcc ;
-static-lib a : a.foo ;
-""")
-
+t.write("jamroot.jam", "static-lib a : a.foo ;")
t.write("a.foo", "")
t.run_build_system(status=1)
Modified: trunk/tools/build/v2/test/notfile.py
==============================================================================
--- trunk/tools/build/v2/test/notfile.py (original)
+++ trunk/tools/build/v2/test/notfile.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -13,7 +13,7 @@
t = BoostBuild.Tester()
-t.write("jamroot.jam", """
+t.write("jamroot.jam", """\
import notfile ;
notfile say : "echo hi" ;
@@ -22,23 +22,21 @@
actions valgrind
{
- valgrind $(>[1])
+ valgrind $(>[1])
}
""")
-t.write("hello.cpp", """
+t.write("hello.cpp", """\
#include <iostream>
int main() { std::cout << "Hello!\\n"; }
""")
-
t.run_build_system("-n -d+2")
t.fail_test(string.find(t.stdout(), "echo hi") == -1)
-name = t.adjust_names(["bin/$toolset/debug/hello.exe"])[0]
+name = t.adjust_names("bin/$toolset/debug/hello.exe")[0]
name = apply(os.path.join, string.split(name, "/"));
-c = "valgrind *" + name
-t.expect_output_line(c)
+t.expect_output_line("valgrind *%s" % name)
t.cleanup()
Modified: trunk/tools/build/v2/test/out_of_tree.py
==============================================================================
--- trunk/tools/build/v2/test/out_of_tree.py (original)
+++ trunk/tools/build/v2/test/out_of_tree.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -1,6 +1,6 @@
#!/usr/bin/python
-# Copyright (C) FILL SOMETHING HERE 2005.
+# Copyright (C) Vladimir Prus 2005.
# Distributed under 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)
@@ -14,25 +14,15 @@
t = BoostBuild.Tester()
# Create the needed files.
-t.write("p1/jamroot.jam", """
-exe hello : hello.cpp ;
-""")
-
-t.write("p1/hello.cpp", """
-int main() {}
-""")
-
-t.write("p2/jamroot.jam", """
+t.write("p1/jamroot.jam", "exe hello : hello.cpp ;")
+t.write("p1/hello.cpp", "int main() {}\n")
+t.write("p2/jamroot.jam", """\
exe hello2 : hello.cpp ;
exe hello3 : hello.cpp ;
""")
-
-t.write("p2/hello.cpp", """
-int main() {}
-""")
+t.write("p2/hello.cpp", "int main() {}\n")
t.run_build_system("p1 p2//hello3")
-
t.expect_addition("p1/bin/$toolset/debug/hello.exe")
t.expect_addition("p2/bin/$toolset/debug/hello3.exe")
Modified: trunk/tools/build/v2/test/prebuilt.py
==============================================================================
--- trunk/tools/build/v2/test/prebuilt.py (original)
+++ trunk/tools/build/v2/test/prebuilt.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -1,14 +1,14 @@
#!/usr/bin/python
-# Copyright 2002, 2003, 2004 Vladimir Prus
-# 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)
+# Copyright 2002, 2003, 2004 Vladimir Prus
+# 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)
# Test that we can use already built sources
import BoostBuild
-t = BoostBuild.Tester()
+t = BoostBuild.Tester("debug release")
t.set_tree('prebuilt')
@@ -16,17 +16,17 @@
t.expand_toolset("jamroot.jam")
# First, build the external project.
-t.run_build_system("debug release", subdir="ext")
+t.run_build_system(subdir="ext")
-# Then pretend that we do not have the sources for the external project, and can
-# only use compiled binaries.
+# Then pretend that we do not have the sources for the external project, and
+# can only use compiled binaries.
t.copy("ext/jamfile2.jam", "ext/jamfile.jam")
t.expand_toolset("ext/jamfile.jam")
# Now check that we can build the main project, and that correct prebuilt file
# is picked, depending of variant. This also checks that correct includes for
# prebuilt libraries are used.
-t.run_build_system("debug release")
+t.run_build_system()
t.expect_addition("bin/$toolset/debug/hello.exe")
t.expect_addition("bin/$toolset/release/hello.exe")
@@ -36,7 +36,7 @@
# Now test that prebuilt file specified by absolute name works too.
t.copy("ext/jamfile3.jam", "ext/jamfile.jam")
t.expand_toolset("ext/jamfile.jam")
-t.run_build_system("debug release")
+t.run_build_system()
t.expect_addition("bin/$toolset/debug/hello.exe")
t.expect_addition("bin/$toolset/release/hello.exe")
Modified: trunk/tools/build/v2/test/project_test3.py
==============================================================================
--- trunk/tools/build/v2/test/project_test3.py (original)
+++ trunk/tools/build/v2/test/project_test3.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -13,8 +13,8 @@
# First check some startup.
t.set_tree("project-test3")
os.remove("jamroot.jam")
-t.run_build_system(status=1, stdout=
-"""error: Could not find parent for project at '.'
+t.run_build_system(status=1, stdout="""\
+error: Could not find parent for project at '.'
error: Did not find Jamfile.jam or Jamroot.jam in any parent directory.
""")
@@ -22,8 +22,8 @@
t.run_build_system()
t.expect_addition("bin/$toolset/debug/a.obj")
-t.expect_content("bin/$toolset/debug/a.obj",
-"""$toolset/debug
+t.expect_content("bin/$toolset/debug/a.obj", """\
+$toolset/debug
a.cpp
""")
@@ -37,44 +37,44 @@
)
t.expect_addition("lib/bin/$toolset/debug/b.obj")
-t.expect_content("lib/bin/$toolset/debug/b.obj",
-"""$toolset/debug
+t.expect_content("lib/bin/$toolset/debug/b.obj", """\
+$toolset/debug
lib/b.cpp
""")
t.expect_addition("lib/bin/$toolset/debug/m.exe")
-t.expect_content("lib/bin/$toolset/debug/m.exe",
-"""$toolset/debug
+t.expect_content("lib/bin/$toolset/debug/m.exe", """\
+$toolset/debug
lib/bin/$toolset/debug/b.obj lib2/bin/$toolset/debug/c.obj
""")
t.expect_addition("lib2/bin/$toolset/debug/c.obj")
-t.expect_content("lib2/bin/$toolset/debug/c.obj",
-"""$toolset/debug
+t.expect_content("lib2/bin/$toolset/debug/c.obj", """\
+$toolset/debug
lib2/c.cpp
""")
t.expect_addition("lib2/bin/$toolset/debug/d.obj")
-t.expect_content("lib2/bin/$toolset/debug/d.obj",
-"""$toolset/debug
+t.expect_content("lib2/bin/$toolset/debug/d.obj", """\
+$toolset/debug
lib2/d.cpp
""")
t.expect_addition("lib2/bin/$toolset/debug/l.exe")
-t.expect_content("lib2/bin/$toolset/debug/l.exe",
-"""$toolset/debug
+t.expect_content("lib2/bin/$toolset/debug/l.exe", """\
+$toolset/debug
lib2/bin/$toolset/debug/c.obj bin/$toolset/debug/a.obj
""")
t.expect_addition("lib2/helper/bin/$toolset/debug/e.obj")
-t.expect_content("lib2/helper/bin/$toolset/debug/e.obj",
-"""$toolset/debug
+t.expect_content("lib2/helper/bin/$toolset/debug/e.obj", """\
+$toolset/debug
lib2/helper/e.cpp
""")
t.expect_addition("lib3/bin/$toolset/debug/f.obj")
-t.expect_content("lib3/bin/$toolset/debug/f.obj",
-"""$toolset/debug
+t.expect_content("lib3/bin/$toolset/debug/f.obj", """\
+$toolset/debug
lib3/f.cpp lib2/helper/bin/$toolset/debug/e.obj
""")
@@ -84,13 +84,13 @@
"bin/$toolset/debug/a.exe",
"lib2/bin/$toolset/debug/l.exe"])
-t.run_build_system(extra_args="release optimization=off,speed")
+t.run_build_system("release optimization=off,speed")
t.expect_addition(["bin/$toolset/release/a.exe",
"bin/$toolset/release/a.obj",
"bin/$toolset/release/optimization-off/a.exe",
"bin/$toolset/release/optimization-off/a.obj"])
-t.run_build_system(extra_args='--clean-all')
+t.run_build_system("--clean-all")
t.expect_removal(["bin/$toolset/debug/a.obj",
"bin/$toolset/debug/a.exe",
"lib/bin/$toolset/debug/b.obj",
Modified: trunk/tools/build/v2/test/property_expansion.py
==============================================================================
--- trunk/tools/build/v2/test/property_expansion.py (original)
+++ trunk/tools/build/v2/test/property_expansion.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -1,8 +1,8 @@
#!/usr/bin/python
-# Copyright 2003 Vladimir Prus
-# 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)
+# Copyright 2003 Vladimir Prus
+# 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)
# Test that free property inside.
@@ -10,15 +10,14 @@
t = BoostBuild.Tester()
-t.write("jamroot.jam", """
-project ;
+t.write("jamroot.jam", """\
variant debug-AA : debug : <define>AA ;
alias all : hello ;
exe hello : hello.cpp ;
explicit hello ;
""")
-t.write("hello.cpp", """
+t.write("hello.cpp", """\
#ifdef AA
int main() {}
#endif
Modified: trunk/tools/build/v2/test/rebuilds.py
==============================================================================
--- trunk/tools/build/v2/test/rebuilds.py (original)
+++ trunk/tools/build/v2/test/rebuilds.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -6,9 +6,9 @@
import BoostBuild
-t = BoostBuild.Tester(pass_toolset=0)
+t = BoostBuild.Tester("-ffile.jam", pass_toolset=0)
-t.write('file.jam', '''
+t.write("file.jam", """\
rule make
{
DEPENDS $(<) : $(>) ;
@@ -25,27 +25,27 @@
REBUILDS foo : bar ;
make bar : baz ;
make aux2 : bar ;
-''')
+""")
-t.write('baz', 'nothing\n')
+t.write("baz", "nothing")
-t.run_build_system('-ffile.jam bar')
-t.expect_addition('bar')
+t.run_build_system("bar")
+t.expect_addition("bar")
t.expect_nothing_more()
t.wait_for_time_change_since_last_build()
-t.run_build_system('-ffile.jam foo')
-t.expect_touch('bar')
-t.expect_addition('foo')
+t.run_build_system("foo")
+t.expect_touch("bar")
+t.expect_addition("foo")
t.expect_nothing_more()
-t.run_build_system('-ffile.jam')
-t.expect_addition(['aux1', 'aux2'])
+t.run_build_system()
+t.expect_addition(["aux1", "aux2"])
t.expect_nothing_more()
-t.touch('bar')
-t.run_build_system('-ffile.jam')
-t.expect_touch(['foo', 'aux1', 'aux2'])
+t.touch("bar")
+t.run_build_system()
+t.expect_touch(["foo", "aux1", "aux2"])
t.expect_nothing_more()
t.cleanup()
Modified: trunk/tools/build/v2/test/regression.py
==============================================================================
--- trunk/tools/build/v2/test/regression.py (original)
+++ trunk/tools/build/v2/test/regression.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -13,8 +13,7 @@
t = BoostBuild.Tester()
t.write("c.cpp", "\n")
-
-t.write("r.cpp", """
+t.write("r.cpp", """\
void helper();
#include <iostream>
@@ -25,17 +24,11 @@
std::cout << av[ i ] << '\\n';
}
""")
+t.write("c-f.cpp", "int\n")
+t.write("r-f.cpp", "int main() { return 1; }\n")
-t.write("c-f.cpp", """
-int
-""")
-
-t.write("r-f.cpp", """
-int main() { return 1; }
-""")
-
-
-t.write("jamfile.jam", """
+t.write("jamroot.jam", "")
+t.write("jamfile.jam", """\
import testing ;
compile c.cpp ;
compile-fail c-f.cpp ;
@@ -43,11 +36,8 @@
run-fail r-f.cpp ;
""")
-t.write("libs/jamfile.jam", """
-lib helper : helper.cpp ;
-""")
-
-t.write("libs/helper.cpp", """
+t.write("libs/jamfile.jam", "lib helper : helper.cpp ;")
+t.write("libs/helper.cpp", """\
void
#if defined(_WIN32)
__declspec(dllexport)
@@ -55,8 +45,6 @@
helper() {}
""")
-t.write("jamroot.jam", "")
-
# First test that when outcomes are expected, all .test files are created.
t.run_build_system("hardcode-dll-paths=false", stderr=None, status=None)
t.expect_addition("bin/c.test/$toolset/debug/c.test")
@@ -69,7 +57,7 @@
"foo\nbar\n*\nEXIT STATUS: 0*\n", True)
# Test that input file is handled as well.
-t.write("r.cpp", """
+t.write("r.cpp", """\
#include <iostream>
#include <fstream>
int main( int ac, char * av[] )
@@ -84,7 +72,7 @@
t.write("dir/input.txt", "test input")
-t.write("jamfile.jam", """
+t.write("jamfile.jam", """\
import testing ;
compile c.cpp ;
obj c-obj : c.cpp ;
@@ -95,18 +83,19 @@
time compilation : c-obj ;
""")
-t.run_build_system('hardcode-dll-paths=false')
-t.expect_content("bin/r.test/$toolset/debug/r.output",
- "test input\nEXIT STATUS: 0\n")
+t.run_build_system("hardcode-dll-paths=false")
+t.expect_content("bin/r.test/$toolset/debug/r.output", """\
+test input
+EXIT STATUS: 0
+""")
t.expect_addition('bin/$toolset/debug/execution.time')
t.expect_addition('bin/$toolset/debug/compilation.time')
# Make sure test failures are detected. Reverse expectation and see if .test
# files are created or not.
-t.write("jamfile.jam", """
+t.write("jamfile.jam", """\
import testing ;
-
compile-fail c.cpp ;
compile c-f.cpp ;
run-fail r.cpp : : dir/input.txt ;
Modified: trunk/tools/build/v2/test/rescan_header.py
==============================================================================
--- trunk/tools/build/v2/test/rescan_header.py (original)
+++ trunk/tools/build/v2/test/rescan_header.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -1,28 +1,24 @@
#!/usr/bin/python
# Copyright 2012 Steven Watanabe
-# 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)
+# 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)
import BoostBuild
-import os
t = BoostBuild.Tester()
-# Test a header loop that depends on (but does not contain)
-# a generated header.
-t.write("test.cpp", """
-#include "header1.h"
-""")
+# Test a header loop that depends on (but does not contain) a generated header.
+t.write("test.cpp", '#include "header1.h"\n')
-t.write("header1.h", """
+t.write("header1.h", """\
#ifndef HEADER1_H
#define HEADER1_H
#include "header2.h"
#endif
""")
-t.write("header2.h", """
+t.write("header2.h", """\
#ifndef HEADER2_H
#define HEADER2_H
#include "header1.h"
@@ -30,16 +26,12 @@
#endif
""")
-t.write("header3.in", """
-/* empty file */
-""")
+t.write("header3.in", "/* empty file */\n")
-t.write("Jamroot.jam", """
+t.write("jamroot.jam", """\
import common ;
-
make header3.h : header3.in : @common.copy ;
obj test : test.cpp : <implicit-dependency>header3.h ;
-
""")
t.run_build_system("-j2")
@@ -50,39 +42,33 @@
t.rm(".")
# Test a linear sequence of generated headers.
-t.write("test.cpp", """
-#include "header1.h"
-""")
+t.write("test.cpp", '#include "header1.h"\n')
-t.write("header1.in", """
+t.write("header1.in", """\
#ifndef HEADER1_H
#define HEADER1_H
#include "header2.h"
#endif
""")
-t.write("header2.in", """
+t.write("header2.in", """\
#ifndef HEADER2_H
#define HEADER2_H
#include "header3.h"
#endif
""")
-t.write("header3.in", """
-/* empty file */
-""")
+t.write("header3.in", "/* empty file */\n")
-t.write("Jamroot.jam", """
+t.write("jamroot.jam", """\
import common ;
-
make header1.h : header1.in : @common.copy ;
make header2.h : header2.in : @common.copy ;
make header3.h : header3.in : @common.copy ;
obj test : test.cpp :
- <implicit-dependency>header1.h
- <implicit-dependency>header2.h
- <implicit-dependency>header3.h
- ;
+ <implicit-dependency>header1.h
+ <implicit-dependency>header2.h
+ <implicit-dependency>header3.h ;
""")
t.run_build_system("-j2 test")
@@ -95,32 +81,30 @@
t.rm(".")
# Test a loop in generated headers.
-t.write("test.cpp", """
-#include "header1.h"
-""")
+t.write("test.cpp", '#include "header1.h"\n')
-t.write("header1.in", """
+t.write("header1.in", """\
#ifndef HEADER1_H
#define HEADER1_H
#include "header2.h"
#endif
""")
-t.write("header2.in", """
+t.write("header2.in", """\
#ifndef HEADER2_H
#define HEADER2_H
#include "header3.h"
#endif
""")
-t.write("header3.in", """
+t.write("header3.in", """\
#ifndef HEADER2_H
#define HEADER2_H
#include "header1.h"
#endif
""")
-t.write("Jamroot.jam", """
+t.write("jamroot.jam", """\
import common ;
actions copy {
@@ -132,10 +116,9 @@
make header2.h : header2.in : @common.copy ;
make header3.h : header3.in : @common.copy ;
obj test : test.cpp :
- <implicit-dependency>header1.h
- <implicit-dependency>header2.h
- <implicit-dependency>header3.h
- ;
+ <implicit-dependency>header1.h
+ <implicit-dependency>header2.h
+ <implicit-dependency>header3.h ;
""")
t.run_build_system("-j2 test")
@@ -147,26 +130,23 @@
t.rm(".")
-# Test that all the dependencies of a loop are
-# updated before any of the dependents.
-t.write("test1.cpp", """
-#include "header1.h"
-""")
+# Test that all the dependencies of a loop are updated before any of the
+# dependents.
+t.write("test1.cpp", '#include "header1.h"\n')
-t.write("test2.cpp", """
+t.write("test2.cpp", """\
#include "header2.h"
-
int main() {}
""")
-t.write("header1.h", """
+t.write("header1.h", """\
#ifndef HEADER1_H
#define HEADER1_H
#include "header2.h"
#endif
""")
-t.write("header2.h", """
+t.write("header2.h", """\
#ifndef HEADER2_H
#define HEADER2_H
#include "header1.h"
@@ -174,19 +154,16 @@
#endif
""")
-t.write("header3.in", """
-""")
+t.write("header3.in", "\n")
-t.write("sleep.bat","""@setlocal
-_at_echo off
-_at_REM timeout /T %1 /NOBREAK >nul
-ping 127.0.0.1 -n 2 -w 1000 >nul
-ping 127.0.0.1 -n %1 -w 1000 >nul
-_at_endlocal
+t.write("sleep.bat", """\
+::@timeout /T %1 /NOBREAK >nul
+@ping 127.0.0.1 -n 2 -w 1000 >nul
+@ping 127.0.0.1 -n %1 -w 1000 >nul
@exit /B 0
""")
-t.write("Jamroot.jam", """
+t.write("jamroot.jam", """\
import common ;
import os ;
@@ -199,18 +176,11 @@
SLEEP = sleep ;
}
-rule copy {
- common.copy $(<) : $(>) ;
-}
-
-actions copy {
- $(SLEEP) 1
-}
+rule copy { common.copy $(<) : $(>) ; }
+actions copy { $(SLEEP) 1 }
make header3.h : header3.in : @copy ;
-exe test : test2.cpp test1.cpp :
- <implicit-dependency>header3.h
- ;
+exe test : test2.cpp test1.cpp : <implicit-dependency>header3.h ;
""")
t.run_build_system("-j2 test")
@@ -231,47 +201,41 @@
t.rm(".")
# Test a loop that includes a generated header
-t.write("test1.cpp", """
-#include "header1.h"
-""")
-
-t.write("test2.cpp", """
+t.write("test1.cpp", '#include "header1.h"\n')
+t.write("test2.cpp", """\
#include "header2.h"
-
int main() {}
""")
-t.write("header1.h", """
+t.write("header1.h", """\
#ifndef HEADER1_H
#define HEADER1_H
#include "header2.h"
#endif
""")
-t.write("header2.in", """
+t.write("header2.in", """\
#ifndef HEADER2_H
#define HEADER2_H
#include "header3.h"
#endif
""")
-t.write("header3.h", """
+t.write("header3.h", """\
#ifndef HEADER3_H
#define HEADER3_H
#include "header1.h"
#endif
""")
-t.write("sleep.bat","""@setlocal
-_at_echo off
-_at_REM timeout /T %1 /NOBREAK >nul
-ping 127.0.0.1 -n 2 -w 1000 >nul
-ping 127.0.0.1 -n %1 -w 1000 >nul
-_at_endlocal
+t.write("sleep.bat", """\
+::@timeout /T %1 /NOBREAK >nul
+@ping 127.0.0.1 -n 2 -w 1000 >nul
+@ping 127.0.0.1 -n %1 -w 1000 >nul
@exit /B 0
""")
-t.write("Jamroot.jam", """
+t.write("jamroot.jam", """\
import common ;
import os ;
@@ -284,19 +248,11 @@
SLEEP = sleep ;
}
-rule copy {
- common.copy $(<) : $(>) ;
-}
-
-actions copy {
- $(SLEEP) 1
-}
+rule copy { common.copy $(<) : $(>) ; }
+actions copy { $(SLEEP) 1 }
make header2.h : header2.in : @copy ;
-exe test : test2.cpp test1.cpp :
- <implicit-dependency>header2.h
- <include>.
- ;
+exe test : test2.cpp test1.cpp : <implicit-dependency>header2.h <include>. ;
""")
t.run_build_system("-j2 test")
@@ -306,5 +262,4 @@
t.expect_addition("bin/$toolset/debug/test.exe")
t.expect_nothing_more()
-
t.cleanup()
Modified: trunk/tools/build/v2/test/resolution.py
==============================================================================
--- trunk/tools/build/v2/test/resolution.py (original)
+++ trunk/tools/build/v2/test/resolution.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -13,16 +13,14 @@
t = BoostBuild.Tester()
# Create the needed files
-t.write("jamroot.jam", """
+t.write("jamroot.jam", """\
exe hello : hello.cpp ;
# This should use the 'hello' target, even if there is a 'hello' file in the
# current dir.
install s : hello : <location>. ;
""")
-t.write("hello.cpp", """
-int main() {}
-""")
+t.write("hello.cpp", "int main() {}\n")
t.run_build_system()
@@ -30,8 +28,8 @@
t.touch("hello.cpp")
t.run_build_system("s")
-# If 'hello' in the 's' target resolved to file in the current dir, nothing will
-# be rebuilt.
+# If 'hello' in the 's' target resolved to file in the current dir, nothing
+# will be rebuilt.
t.expect_touch("bin/$toolset/debug/hello.obj")
t.cleanup()
Modified: trunk/tools/build/v2/test/searched_lib.py
==============================================================================
--- trunk/tools/build/v2/test/searched_lib.py (original)
+++ trunk/tools/build/v2/test/searched_lib.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -18,7 +18,7 @@
# To start with, we have to prepare a library to link with.
t.write("lib/jamroot.jam", "")
t.write("lib/jamfile.jam", "lib test_lib : test_lib.cpp ;")
-t.write("lib/test_lib.cpp", """
+t.write("lib/test_lib.cpp", """\
#ifdef _WIN32
__declspec(dllexport)
#endif
@@ -42,21 +42,20 @@
# Test that the simplest usage of searched library works.
t.write("jamroot.jam", "")
-t.write("jamfile.jam", """
+t.write("jamfile.jam", """\
import path ;
import project ;
-
exe main : main.cpp helper ;
lib helper : helper.cpp test_lib ;
lib test_lib : : <name>test_lib <search>lib ;
""")
-t.write("main.cpp", """
+t.write("main.cpp", """\
void helper();
int main() { helper(); }
""")
-t.write("helper.cpp", """
+t.write("helper.cpp", """\
void foo();
void
#if defined(_WIN32)
@@ -71,8 +70,7 @@
# Test that 'unit-test' will correctly add runtime paths to searched libraries.
-t.write("jamfile.jam", """
-
+t.write("jamfile.jam", """\
import path ;
import project ;
import testing ;
@@ -91,7 +89,7 @@
# Now try using searched lib from static lib. Request shared version of searched
# lib, since we do not have a static one handy.
-t.write("jamfile.jam", """
+t.write("jamfile.jam", """\
exe main : main.cpp helper ;
lib helper : helper.cpp test_lib/<link>shared : <link>static ;
lib test_lib : : <name>test_lib <search>lib ;
@@ -109,17 +107,17 @@
# works nicely in some cases, sending output from compiler to file 'z'. This
# problem shows up when searched libs are in usage requirements.
t.write("jamfile.jam", "exe main : main.cpp d/d2//a ;")
-t.write("main.cpp", """
+t.write("main.cpp", """\
void foo();
int main() { foo(); }
""")
-t.write("d/d2/jamfile.jam", """
+t.write("d/d2/jamfile.jam", """\
lib test_lib : : <name>test_lib <search>../../lib ;
lib a : a.cpp : : : <library>test_lib ;
""")
-t.write("d/d2/a.cpp", """
+t.write("d/d2/a.cpp", """\
#ifdef _WIN32
__declspec(dllexport) int force_library_creation_for_a;
#endif
@@ -138,7 +136,7 @@
# The 'l' library will be built in two variants: 'debug' (directly requested)
# and 'release' (requested from 'a').
-t.write("jamfile.jam", """
+t.write("jamfile.jam", """\
exe a : a.cpp l/<variant>release ;
lib l : : <name>l_d <variant>debug ;
lib l : : <name>l_r <variant>release ;
@@ -152,10 +150,8 @@
# targets. The final error is correct, but we should not create two duplicated
# targets. Thanks to Andre Hentz for finding this bug.
t.write("jamroot.jam", "")
-
t.write("a.cpp", "")
-
-t.write("jamfile.jam", """
+t.write("jamfile.jam", """\
project a : requirements <runtime-link>static ;
static-lib a : a.cpp l ;
lib l : : <name>l_f ;
@@ -165,7 +161,7 @@
# Make sure plain "lib foobar ; " works.
-t.write("jamfile.jam", """
+t.write("jamfile.jam", """\
exe a : a.cpp foobar ;
lib foobar ;
""")
@@ -175,7 +171,7 @@
# Make sure plain "lib foo bar ; " works.
-t.write("jamfile.jam", """
+t.write("jamfile.jam", """\
exe a : a.cpp foo bar ;
lib foo bar ;
""")
Modified: trunk/tools/build/v2/test/skipping.py
==============================================================================
--- trunk/tools/build/v2/test/skipping.py (original)
+++ trunk/tools/build/v2/test/skipping.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -11,19 +11,10 @@
# Create a temporary working directory.
t = BoostBuild.Tester()
-t.write("a.cpp", """
-int main() {}
-""")
-
-t.write("b.cpp", """
-int main() {}
-""")
-
-t.write("c.cpp", """
-int main() {}
-""")
-
-t.write("jamroot.jam", """
+t.write("a.cpp", "int main() {}\n")
+t.write("b.cpp", "int main() {}\n")
+t.write("c.cpp", "int main() {}\n")
+t.write("jamroot.jam", """\
import feature ;
feature.feature foo : 1 2 : link-incompatible ;
exe a : a.cpp : <foo>1 ;
Modified: trunk/tools/build/v2/test/sort_rule.py
==============================================================================
--- trunk/tools/build/v2/test/sort_rule.py (original)
+++ trunk/tools/build/v2/test/sort_rule.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -1,6 +1,6 @@
#!/usr/bin/python
-# Copyright (C) Jurko Gospodnetic 2008.
+# Copyright (C) 2008. Jurko Gospodnetic
# Distributed under 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)
@@ -10,20 +10,19 @@
import BoostBuild
-################################################################################
+###############################################################################
#
# testSORTCorrectness()
# ---------------------
#
-################################################################################
+###############################################################################
def testSORTCorrectness():
- """Testing that Boost Jam's SORT builtin rule actually sorts correctly.
- """
- t = BoostBuild.Tester("-f test.jam -d1", pass_toolset=False,
+ """Testing that Boost Jam's SORT builtin rule actually sorts correctly."""
+ t = BoostBuild.Tester("-ftest.jam -d1", pass_toolset=False,
use_test_config=False)
- t.write("test.jam", """
+ t.write("test.jam", """\
NOCARE all ;
source-data = 1 8 9 2 7 3 4 7 1 27 27 9 98 98 1 1 4 5 6 2 3 4 8 1 -2 -2 0 0 0 ;
target-data = -2 -2 0 0 0 1 1 1 1 1 2 2 27 27 3 3 4 4 4 5 6 7 7 8 8 9 9 98 98 ;
@@ -47,18 +46,20 @@
t.cleanup()
-################################################################################
+###############################################################################
#
# testSORTDuration()
# ------------------
#
-################################################################################
+###############################################################################
def testSORTDuration():
- """Regression test making sure Boost Jam's SORT builtin rule does not get
+ """
+ Regression test making sure Boost Jam's SORT builtin rule does not get
quadratic behaviour again in this use case.
+
"""
- t = BoostBuild.Tester("-f test.jam -d1", pass_toolset=False,
+ t = BoostBuild.Tester("-ftest.jam -d1", pass_toolset=False,
use_test_config=False)
f = open(t.workpath("test.jam"), "w")
@@ -84,12 +85,12 @@
t.cleanup()
-################################################################################
+###############################################################################
#
# main()
# ------
#
-################################################################################
+###############################################################################
testSORTCorrectness()
testSORTDuration()
Modified: trunk/tools/build/v2/test/space_in_path.py
==============================================================================
--- trunk/tools/build/v2/test/space_in_path.py (original)
+++ trunk/tools/build/v2/test/space_in_path.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -16,14 +16,11 @@
t = BoostBuild.Tester()
-t.write("has space/Jamroot.jam", """
+t.write("has space/jamroot.jam", """\
import testing ;
unit-test test : test.cpp ;
""")
-
-t.write("has space/test.cpp", """
-int main() {}
-""")
+t.write("has space/test.cpp", "int main() {}\n")
t.run_build_system(unsplit(["has space"]))
Modified: trunk/tools/build/v2/test/stage.py
==============================================================================
--- trunk/tools/build/v2/test/stage.py (original)
+++ trunk/tools/build/v2/test/stage.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -11,7 +11,7 @@
t = BoostBuild.Tester()
-t.write("jamroot.jam", "import gcc ;")
+t.write("jamroot.jam", "")
t.write("jamfile.jam", """\
lib a : a.cpp ;
stage dist : a a.h auxilliary/1 ;
Modified: trunk/tools/build/v2/test/startup_v2.py
==============================================================================
--- trunk/tools/build/v2/test/startup_v2.py (original)
+++ trunk/tools/build/v2/test/startup_v2.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -37,7 +37,7 @@
def find_up_to_root(folder, name):
- last = ''
+ last = ""
while last != folder:
candidate = os.path.join(folder, name)
if os.path.exists(candidate):
@@ -50,46 +50,45 @@
return re.match(expected, actual, re.DOTALL) != None
-t = BoostBuild.Tester(match=match_re, boost_build_path='', pass_toolset=0)
-t.set_tree('startup')
+t = BoostBuild.Tester(match=match_re, boost_build_path="", pass_toolset=0)
+t.set_tree("startup")
check_for_existing_boost_build_jam(t)
t.run_build_system(status=1, stdout=
-r'''Unable to load Boost\.Build: could not find "boost-build\.jam"
-.*Attempted search from .* up to the root''')
+r"""Unable to load Boost\.Build: could not find "boost-build\.jam"
+.*Attempted search from .* up to the root""")
-t.run_build_system(status=1, subdir='no-bootstrap1',
- stdout=r'''Unable to load Boost\.Build: could not find build system\.'''
- r'''.*attempted to load the build system by invoking'''
- r'''.*'boost-build ;'.*'''
- r'''but we were unable to find "bootstrap\.jam"''')
+t.run_build_system(status=1, subdir="no-bootstrap1",
+ stdout=r"Unable to load Boost\.Build: could not find build system\."
+ r".*attempted to load the build system by invoking"
+ r".*'boost-build ;'"
+ r'.*but we were unable to find "bootstrap\.jam"')
# Descend to a subdirectory which /does not/ contain a boost-build.jam file,
# and try again to test the crawl-up behavior.
-t.run_build_system(status=1, subdir=os.path.join('no-bootstrap1', 'subdir'),
- stdout=r'''Unable to load Boost\.Build: could not find build system\.'''
- r'''.*attempted to load the build system by invoking'''
- r'''.*'boost-build ;'.*'''
- r'''but we were unable to find "bootstrap\.jam"''')
-
-t.run_build_system(status=1, subdir='no-bootstrap2',
- stdout=r'''Unable to load Boost\.Build: could not find build system\.'''
- r'''.*attempted to load the build system by invoking'''
- r'''.*'boost-build \. ;'.*'''
- r'''but we were unable to find "bootstrap\.jam"''')
+t.run_build_system(status=1, subdir=os.path.join("no-bootstrap1", "subdir"),
+ stdout=r"Unable to load Boost\.Build: could not find build system\."
+ r".*attempted to load the build system by invoking"
+ r".*'boost-build ;'"
+ r'.*but we were unable to find "bootstrap\.jam"')
+
+t.run_build_system(status=1, subdir="no-bootstrap2",
+ stdout=r"Unable to load Boost\.Build: could not find build system\."
+ r".*attempted to load the build system by invoking"
+ r".*'boost-build \. ;'"
+ r'.*but we were unable to find "bootstrap\.jam"')
t.run_build_system(status=1, subdir='no-bootstrap3', stdout=
-r'''Unable to load Boost.Build
+r"""Unable to load Boost.Build
.*boost-build\.jam" was found.*
-However, it failed to call the "boost-build" rule''')
+However, it failed to call the "boost-build" rule""")
# Test bootstrapping based on BOOST_BUILD_PATH.
-t.run_build_system(subdir='bootstrap-env',
- extra_args='-sBOOST_BUILD_PATH=../boost-root/build',
- stdout='build system bootstrapped')
+t.run_build_system("-sBOOST_BUILD_PATH=../boost-root/build",
+ subdir="bootstrap-env", stdout="build system bootstrapped")
# Test bootstrapping based on an explicit path in boost-build.jam.
-t.run_build_system(subdir='bootstrap-explicit',
- stdout='build system bootstrapped')
+t.run_build_system(subdir="bootstrap-explicit",
+ stdout="build system bootstrapped")
t.cleanup()
Modified: trunk/tools/build/v2/test/static_and_shared_library.py
==============================================================================
--- trunk/tools/build/v2/test/static_and_shared_library.py (original)
+++ trunk/tools/build/v2/test/static_and_shared_library.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -6,8 +6,6 @@
# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
import BoostBuild
-import os.path
-import shutil
t = BoostBuild.Tester()
t.write("jamroot.jam", "")
@@ -18,7 +16,7 @@
""")
def reset():
- shutil.rmtree(os.path.join(t.workdir, "lib", "bin"))
+ t.rm("lib/bin")
t.run_build_system(subdir='lib')
t.expect_addition("lib/bin/$toolset/debug/" * BoostBuild.List("c.obj "
@@ -26,13 +24,13 @@
t.expect_nothing_more()
reset()
-t.run_build_system(subdir='lib', extra_args="link=shared")
+t.run_build_system("link=shared", subdir="lib")
t.expect_addition("lib/bin/$toolset/debug/" * BoostBuild.List("c.obj "
"auxilliary1.lib auxilliary2.dll"))
t.expect_nothing_more()
reset()
-t.run_build_system(subdir='lib', extra_args="link=static")
+t.run_build_system("link=static", subdir="lib")
t.expect_addition("lib/bin/$toolset/debug/link-static/" * BoostBuild.List(
"c.obj auxilliary1.lib auxilliary2.lib"))
t.expect_nothing_more()
Modified: trunk/tools/build/v2/test/tag.py
==============================================================================
--- trunk/tools/build/v2/test/tag.py (original)
+++ trunk/tools/build/v2/test/tag.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -16,11 +16,12 @@
################################################################################
def test_folder_with_dot_in_name(t):
- """ Regression test: the 'tag' feature did not work in directories that had
- a dot in their name.
"""
+ Regression test: the 'tag' feature did not work in directories that had a
+ dot in their name.
- t.write("version-1.32.0/jamroot.jam", """
+ """
+ t.write("version-1.32.0/jamroot.jam", """\
project test : requirements <tag>@$(__name__).tag ;
rule tag ( name : type ? : property-set )
@@ -45,10 +46,9 @@
################################################################################
def test_tag_property(t):
- """Basic tag property test.
- """
+ """Basic tag property test."""
- t.write("jamroot.jam", """
+ t.write("jamroot.jam", """\
import virtual-target ;
rule tag ( name : type ? : property-set )
@@ -77,26 +77,26 @@
stage c : a ;
""")
- t.write("a.cpp", """
+ t.write("a.cpp", """\
int main() {}
#ifdef _MSC_VER
__declspec (dllexport) void x () {}
#endif
""")
- file_list = \
- BoostBuild.List("bin/$toolset/debug/a_ds.exe") + \
- BoostBuild.List("bin/$toolset/debug/b_ds.dll") + \
- BoostBuild.List("c/a_ds.exe") + \
- BoostBuild.List("bin/$toolset/release/a_rs.exe") + \
- BoostBuild.List("bin/$toolset/release/b_rs.dll") + \
- BoostBuild.List("c/a_rs.exe") + \
- BoostBuild.List("bin/$toolset/debug/link-static/a_dt.exe") + \
- BoostBuild.List("bin/$toolset/debug/link-static/b_dt.lib") + \
- BoostBuild.List("c/a_dt.exe") + \
- BoostBuild.List("bin/$toolset/release/link-static/a_rt.exe") + \
- BoostBuild.List("bin/$toolset/release/link-static/b_rt.lib") + \
- BoostBuild.List("c/a_rt.exe")
+ file_list = (
+ BoostBuild.List("bin/$toolset/debug/a_ds.exe") +
+ BoostBuild.List("bin/$toolset/debug/b_ds.dll") +
+ BoostBuild.List("c/a_ds.exe") +
+ BoostBuild.List("bin/$toolset/release/a_rs.exe") +
+ BoostBuild.List("bin/$toolset/release/b_rs.dll") +
+ BoostBuild.List("c/a_rs.exe") +
+ BoostBuild.List("bin/$toolset/debug/link-static/a_dt.exe") +
+ BoostBuild.List("bin/$toolset/debug/link-static/b_dt.lib") +
+ BoostBuild.List("c/a_dt.exe") +
+ BoostBuild.List("bin/$toolset/release/link-static/a_rt.exe") +
+ BoostBuild.List("bin/$toolset/release/link-static/b_rt.lib") +
+ BoostBuild.List("c/a_rt.exe"))
variants = "debug release link=static,shared"
Modified: trunk/tools/build/v2/test/test_rc.py
==============================================================================
--- trunk/tools/build/v2/test/test_rc.py (original)
+++ trunk/tools/build/v2/test/test_rc.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -80,10 +80,11 @@
t.write("xxx.bin", "foo")
def test1(n, expect, noexec=False):
- params = "-sXXX=%d" % n
+ params = ["-sXXX=%d" % n]
if noexec:
- params += " -n -sNOEXEC=NOEXEC"
- t.run_build_system(params)
+ params.append("-n")
+ params.append("-sNOEXEC=NOEXEC")
+ t.run_build_system(" ".join(params))
t.expect_output_line("*NOEXEC*", noexec)
obj_file = "xxx_res.obj"
t.expect_output_line("compile.resource.dummy *%s" % obj_file, expect)
Modified: trunk/tools/build/v2/test/test_result_dumping.py
==============================================================================
--- trunk/tools/build/v2/test/test_result_dumping.py (original)
+++ trunk/tools/build/v2/test/test_result_dumping.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -9,25 +9,24 @@
import BoostBuild
-################################################################################
+###############################################################################
#
# Test that dumping Boost Build based testing results works in case test code
# is not located in a folder under the Jamroot folder.
#
-################################################################################
+###############################################################################
t = BoostBuild.Tester("--dump-tests")
-t.write("TestBuild/jamroot.jam", """
+t.write("TestBuild/jamroot.jam", """\
import testing ;
test-suite testit : [ run ../TestSource/test.cpp ] ;
""")
-t.write("TestSource/test.cpp", """
-int main() {}
-""")
+t.write("TestSource/test.cpp", "int main() {}\n")
-t.run_build_system("", subdir="TestBuild")
-t.expect_output_line('boost-test(RUN) "*/TestBuild/test" : "../TestSource/test.cpp"')
+t.run_build_system(subdir="TestBuild")
+t.expect_output_line('boost-test(RUN) "*/TestBuild/test" : '
+ '"../TestSource/test.cpp"')
t.cleanup()
Modified: trunk/tools/build/v2/test/timedata.py
==============================================================================
--- trunk/tools/build/v2/test/timedata.py (original)
+++ trunk/tools/build/v2/test/timedata.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -11,7 +11,7 @@
# 1. 'time' target with a source target representing more than one virtual
# target. This happens in practice, e.g. when using the time rule on a msvc
# exe target whose generator actually constructs an EXE and a PDB target.
-# When this is done - only te main virtual target's constructing action
+# When this is done - only the main virtual target's constructing action
# should be timed.
# 2. 'time' target with a source target representing a virtual target that
# actually gets built by multiple actions run in sequence. In that case a
@@ -26,19 +26,19 @@
import re
-################################################################################
+###############################################################################
#
# basic_jam_action_test()
# -----------------------
#
-################################################################################
+###############################################################################
def basic_jam_action_test():
"""Tests basic Jam action timing support."""
t = BoostBuild.Tester(pass_toolset=0)
- t.write("file.jam", """
+ t.write("file.jam", """\
rule time
{
DEPENDS $(<) : $(>) ;
@@ -72,9 +72,10 @@
make bar : baz ;
""")
- t.write("baz", "nothing\n")
+ t.write("baz", "nothing")
- expected_output = """\.\.\.found 4 targets\.\.\.
+ expected_output = """\
+\.\.\.found 4 targets\.\.\.
\.\.\.updating 2 targets\.\.\.
make bar
time foo
@@ -91,23 +92,24 @@
t.cleanup()
-################################################################################
+###############################################################################
#
# boost_build_testing_support_timing_rule():
# ------------------------------------------
#
-################################################################################
+###############################################################################
def boost_build_testing_support_timing_rule():
- """Tests the target build timing rule provided by the Boost Build testing
- support system.
"""
+ Tests the target build timing rule provided by the Boost Build testing
+ support system.
+ """
t = BoostBuild.Tester()
t.write("aaa.cpp", "int main() {}\n")
- t.write("jamroot.jam", """
+ t.write("jamroot.jam", """\
import testing ;
exe my-exe : aaa.cpp ;
time my-time : my-exe ;
@@ -126,23 +128,24 @@
t.cleanup()
-################################################################################
+###############################################################################
#
# boost_build_testing_support_timing_rule_with_spaces_in_names()
# --------------------------------------------------------------
#
-################################################################################
+###############################################################################
def boost_build_testing_support_timing_rule_with_spaces_in_names():
- """Tests the target build timing rule provided by the Boost Build testing
- support system when used with targets contining spaces in their names.
"""
+ Tests the target build timing rule provided by the Boost Build testing
+ support system when used with targets contining spaces in their names.
+ """
t = BoostBuild.Tester()
t.write("aaa bbb.cpp", "int main() {}\n")
- t.write("jamroot.jam", """
+ t.write("jamroot.jam", """\
import testing ;
exe "my exe" : "aaa bbb.cpp" ;
time "my time" : "my exe" ;
@@ -159,12 +162,12 @@
t.cleanup()
-################################################################################
+###############################################################################
#
# main()
# ------
#
-################################################################################
+###############################################################################
basic_jam_action_test()
boost_build_testing_support_timing_rule()
Modified: trunk/tools/build/v2/test/unit_tests.py
==============================================================================
--- trunk/tools/build/v2/test/unit_tests.py (original)
+++ trunk/tools/build/v2/test/unit_tests.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -1,13 +1,11 @@
#!/usr/bin/python
-# Copyright 2002, 2003 Vladimir Prus
-# 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)
+# Copyright 2002, 2003 Vladimir Prus
+# 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)
import BoostBuild
t = BoostBuild.Tester(pass_toolset=0)
-
-t.run_build_system(extra_args="--debug --build-system=test/test")
-
+t.run_build_system("--debug --build-system=test/test")
t.cleanup()
Modified: trunk/tools/build/v2/test/unused.py
==============================================================================
--- trunk/tools/build/v2/test/unused.py (original)
+++ trunk/tools/build/v2/test/unused.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -1,8 +1,8 @@
#!/usr/bin/python
-# Copyright 2003 Vladimir Prus
-# 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)
+# Copyright 2003 Vladimir Prus
+# 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)
# Test that unused sources are at least reported.
@@ -16,18 +16,14 @@
t.run_build_system()
# The second invocation should do nothing, and produce no warning. The previous
# invocation might have printed executed actions and other things, so it is not
-# easy to check if warning was issued or not.
+# easy to check if a warning was issued or not.
t.run_build_system(stdout="")
t.run_build_system("-sGENERATE_ONLY_UNUSABLE=1", stdout="")
# Now check that even if main target generates nothing, its usage requirements
# are still propagated to dependants.
-t.write("a.cpp", """
-#ifdef FOO
-int main() {}
-#endif
-""")
+t.write("a.cpp", "int main() {}\n")
t.run_build_system("-sGENERATE_NOTHING=1")
t.cleanup()
Modified: trunk/tools/build/v2/test/unused/jamroot.jam
==============================================================================
--- trunk/tools/build/v2/test/unused/jamroot.jam (original)
+++ trunk/tools/build/v2/test/unused/jamroot.jam 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -1,16 +1,14 @@
-# Copyright 2003 Vladimir Prus
-# 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)
+# Copyright 2003 Vladimir Prus
+# 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)
-import type ;
-import generators ;
-import print ;
-import virtual-target ;
import "class" : new ;
import modules ;
-import targets ;
import project ;
+import targets ;
+import type ;
+import virtual-target ;
type.register X : x ;
@@ -21,28 +19,22 @@
{
basic-target.__init__ $(name) : $(project) ;
}
-
+
rule construct ( name : source-targets * : property-set )
{
- if [ modules.peek : GENERATE_NOTHING ]
+ local result = [ property-set.empty ] ;
+ if ! [ modules.peek : GENERATE_NOTHING ]
{
- return [ property-set.empty ] ;
+ result += [ virtual-target.from-file b.x : . : $(self.project) ] ;
+ if ! [ modules.peek : GENERATE_ONLY_UNUSABLE ]
+ {
+ result += [ virtual-target.from-file b.cpp : . : $(self.project)
+ ] ;
+ }
}
- else if [ modules.peek : GENERATE_ONLY_UNUSABLE ]
- {
- return [ property-set.empty ]
- [ virtual-target.from-file b.x : . : $(self.project) ]
- ;
- }
- else
- {
- return [ property-set.empty ]
- [ virtual-target.from-file b.x : . : $(self.project) ]
- [ virtual-target.from-file b.cpp : . : $(self.project) ]
- ;
- }
+ return $(result) ;
}
-
+
rule compute-usage-requirements ( rproperties : targets * )
{
return [ property-set.create <define>FOO ] ;
@@ -51,10 +43,8 @@
rule make-b-main-target
{
- local project = [ project.current ] ;
-
- targets.main-target-alternative
- [ new test-target-class b : $(project) ] ;
+ local project = [ project.current ] ;
+ targets.main-target-alternative [ new test-target-class b : $(project) ] ;
}
IMPORT $(__name__) : make-b-main-target : : make-b-main-target ;
Modified: trunk/tools/build/v2/test/use_requirements.py
==============================================================================
--- trunk/tools/build/v2/test/use_requirements.py (original)
+++ trunk/tools/build/v2/test/use_requirements.py 2012-07-12 08:22:14 EDT (Thu, 12 Jul 2012)
@@ -10,36 +10,36 @@
t = BoostBuild.Tester()
-# Test that use requirements on main target work (and a propagated all the way
-# up, not only to direct dependants).
-t.write("jamroot.jam", "import gcc ;")
+# Test that usage requirements on main targets work (and are propagated all the
+# way up, and not only to direct dependants).
+t.write("jamroot.jam", "")
# Note: 'lib cc ..', not 'lib c'. If using 'lib c: ...' the HP-CXX linker will
# confuse it with the system C runtime.
-t.write("jamfile.jam", """
+t.write("jamfile.jam", """\
lib b : b.cpp : <link>shared:<define>SHARED_B : :
<define>FOO <link>shared:<define>SHARED_B ;
lib cc : c.cpp b ;
exe a : a.cpp cc ;
""")
-t.write("b.cpp", """
+t.write("b.cpp", """\
void
#if defined(_WIN32) && defined(SHARED_B)
__declspec(dllexport)
#endif
-foo() {}\n
+foo() {}
""")
-t.write("c.cpp", """
+t.write("c.cpp", """\
void
#if defined(_WIN32) && defined(SHARED_B)
__declspec(dllexport)
#endif
-create_lib_please() {}\n
+create_lib_please() {}
""")
-t.write("a.cpp", """
+t.write("a.cpp", """\
#ifdef FOO
void
# if defined(_WIN32) && defined(SHARED_B)
@@ -56,15 +56,14 @@
# Test that use requirements on main target work, when they are referred using
# 'dependency' features.
-t.write("jamroot.jam", "import gcc ;")
-t.write("jamfile.jam", """
+t.write("jamfile.jam", """\
lib b : b.cpp : <link>shared:<define>SHARED_B : : <define>FOO
<link>shared:<define>SHARED_B ;
exe a : a.cpp : <use>b ;
""")
-t.write("b.cpp", """
+t.write("b.cpp", """\
void
#if defined(_WIN32) && defined(SHARED_B)
__declspec(dllexport)
@@ -72,33 +71,32 @@
foo() {}
""")
-t.write("a.cpp", """
+t.write("a.cpp", """\
#ifdef FOO
int main() {}
#endif
""")
t.run_build_system()
-
t.run_build_system("--clean")
# Test that usage requirements on a project work.
t.write("jamfile.jam", "exe a : a.cpp lib//b ;")
-t.write("lib/jamfile.jam", """
+t.write("lib/jamfile.jam", """\
project
: requirements <link>shared:<define>SHARED_B
: usage-requirements <define>FOO <link>shared:<define>SHARED_B ;
lib b : b.cpp ;
""")
-t.write("lib/b.cpp", """
+t.write("lib/b.cpp", """\
void
#if defined(_WIN32) && defined(SHARED_B)
__declspec(dllexport)
#endif
-foo() {}\n
+foo() {}
""")
t.run_build_system()
@@ -107,39 +105,39 @@
# Test that use requirements are inherited correctly.
t.write("jamfile.jam", "exe a : a.cpp lib/1//b ;")
-t.write("a.cpp", """
+t.write("a.cpp", """\
#if defined(FOO) && defined(ZOO)
void foo() {}
#endif
int main() { foo(); }
""")
-t.write("lib/jamfile.jam", """
+t.write("lib/jamfile.jam", """\
project : requirements : usage-requirements <define>FOO ;
""")
-t.write("lib/1/jamfile.jam", """
+t.write("lib/1/jamfile.jam", """\
project
: requirements <link>shared:<define>SHARED_B
: usage-requirements <define>ZOO <link>shared:<define>SHARED_B ;
lib b : b.cpp ;
""")
-t.write("lib/1/b.cpp", """
+t.write("lib/1/b.cpp", """\
void
#if defined(_WIN32) && defined(SHARED_B)
__declspec(dllexport)
#endif
-foo() {}\n
+foo() {}
""")
t.run_build_system()
t.run_build_system("--clean")
-# Test that we correctly handle dependency features in use requirements on
+# Test that we correctly handle dependency features in usage requirements on
# target.
-t.write("jamfile.jam", """
+t.write("jamfile.jam", """\
lib b : b.cpp : <link>shared:<define>SHARED_B : : <define>FOO
<link>shared:<define>SHARED_B ;
@@ -151,7 +149,7 @@
exe a : a.cpp cc ;
""")
-t.write("a.cpp", """
+t.write("a.cpp", """\
#ifdef FOO
void
# if defined(_WIN32) && defined(SHARED_B)
@@ -163,7 +161,7 @@
int main() { foo(); }
""")
-t.write("c.cpp", """
+t.write("c.cpp", """\
int
#if defined(_WIN32) && defined(SHARED_C)
__declspec(dllexport)
@@ -176,18 +174,16 @@
# Test correct handling of dependency features in project requirements.
-t.write("jamfile.jam", """
-exe a : a.cpp lib1//cc ;
-""")
+t.write("jamfile.jam", "exe a : a.cpp lib1//cc ;")
-t.write("lib1/jamfile.jam", """
+t.write("lib1/jamfile.jam", """\
project
: requirements <link>shared:<define>SHARED_C
: usage-requirements <library>../lib2//b <link>shared:<define>SHARED_C ;
lib cc : c.cpp ;
""")
-t.write("lib1/c.cpp", """
+t.write("lib1/c.cpp", """\
int
#if defined(_WIN32) && defined(SHARED_C)
__declspec(dllexport)
@@ -195,7 +191,7 @@
must_export_something;
""")
-t.write("lib2/jamfile.jam", """
+t.write("lib2/jamfile.jam", """\
lib b : b.cpp : <link>shared:<define>SHARED_B : : <define>FOO
<link>shared:<define>SHARED_B ;
""")
@@ -205,16 +201,17 @@
t.run_build_system()
-# Test that dependency feature in use requirements are built with the correct
-# properties.
+# Test that targets listed in dependency features in usage requirements are
+# built with the correct properties.
t.rm(".")
-t.write("jamfile.jam", """
+t.write("jamroot.jam", "")
+t.write("jamfile.jam", """\
lib main : main.cpp : <use>libs//lib1 : : <library>libs//lib1 ;
exe hello : hello.cpp main : ;
""")
-t.write("main.cpp", """
+t.write("main.cpp", """\
void
#if defined(_WIN32) && defined(SHARED_LIB1)
__declspec(dllimport)
@@ -225,12 +222,7 @@
""")
t.write("hello.cpp", "\n")
-
-t.write("jamroot.jam", """
-import gcc ;
-""")
-
-t.write("libs/a.cpp", """
+t.write("libs/a.cpp", """\
void
#if defined(_WIN32) && defined(SHARED_LIB1)
__declspec(dllexport)
@@ -239,17 +231,17 @@
""")
-# This library should be build with the same properties as 'main'. This is a
+# This library should be built with the same properties as 'main'. This is a
# regression test for a bug when they were generated with empty properties, and
-# there were ambiguity between variants.
-t.write("libs/jamfile.jam", """
+# there were ambiguities between variants.
+t.write("libs/jamfile.jam", """\
lib lib1 : a_d.cpp : <variant>debug <link>shared:<define>SHARED_LIB1 : :
<link>shared:<define>SHARED_LIB1 ;
lib lib1 : a.cpp : <variant>release <link>shared:<define>SHARED_LIB1 : :
<link>shared:<define>SHARED_LIB1 ;
""")
-t.write("libs/a_d.cpp", """
+t.write("libs/a_d.cpp", """\
void
#if defined(_WIN32) && defined(SHARED_LIB1)
__declspec(dllexport)
@@ -264,29 +256,25 @@
# Test that indirect conditionals are respected in usage requirements.
t.rm(".")
-t.write("jamroot.jam", """
-rule has-foo ( properties * )
-{
- return <define>HAS_FOO ;
-}
-
+t.write("jamroot.jam", """\
+rule has-foo ( properties * ) { return <define>HAS_FOO ; }
exe a : a.cpp b ;
lib b : b.cpp : <link>static : : <conditional>@has-foo ;
""")
-t.write("a.cpp", """
+t.write("a.cpp", """\
#ifdef HAS_FOO
void foo();
int main() { foo(); }
#endif
""")
-t.write("b.cpp", """
+t.write("b.cpp", """\
void
#if defined(_WIN32) && defined(SHARED_B)
__declspec(dllexport)
#endif
-foo() {}\n
+foo() {}
""")
t.run_build_system()
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk