diff options
Diffstat (limited to '')
-rw-r--r-- | src/boost/tools/build/test/standalone.py | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/src/boost/tools/build/test/standalone.py b/src/boost/tools/build/test/standalone.py new file mode 100644 index 000000000..f13ed59db --- /dev/null +++ b/src/boost/tools/build/test/standalone.py @@ -0,0 +1,53 @@ +#!/usr/bin/python + +# Copyright 2003 Vladimir Prus +# Distributed under the Boost Software License, Version 1.0. +# (See accompanying file LICENSE.txt or copy at +# https://www.bfgroup.xyz/b2/LICENSE.txt) + +import BoostBuild + +t = BoostBuild.Tester(use_test_config=False) + + +# Regression tests: standalone project were not able to refer to targets +# declared in themselves. + +t.write("a.cpp", "int main() {}\n") +t.write("jamroot.jam", "import standalone ;") +t.write("standalone.jam", """\ +import alias ; +import project ; + +project.initialize $(__name__) ; +project standalone ; + +local pwd = [ PWD ] ; + +alias x : $(pwd)/../a.cpp ; +alias runtime : x ; +""") + +t.write("standalone.py", """\ +from b2.manager import get_manager + +# FIXME: this is ugly as death +get_manager().projects().initialize(__name__) + +import os ; + +# This use of list as parameter is also ugly. +project(['standalone']) + +pwd = os.getcwd() +alias('x', [os.path.join(pwd, '../a.cpp')]) +alias('runtime', ['x']) +""") + + +t.write("sub/jamfile.jam", "stage bin : /standalone//runtime ;") + +t.run_build_system(subdir="sub") +t.expect_addition("sub/bin/a.cpp") + +t.cleanup() |