diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-21 11:54:28 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-21 11:54:28 +0000 |
commit | e6918187568dbd01842d8d1d2c808ce16a894239 (patch) | |
tree | 64f88b554b444a49f656b6c656111a145cbbaa28 /src/boost/tools/build/test/project_root_constants.py | |
parent | Initial commit. (diff) | |
download | ceph-e6918187568dbd01842d8d1d2c808ce16a894239.tar.xz ceph-e6918187568dbd01842d8d1d2c808ce16a894239.zip |
Adding upstream version 18.2.2.upstream/18.2.2
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/boost/tools/build/test/project_root_constants.py')
-rw-r--r-- | src/boost/tools/build/test/project_root_constants.py | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/src/boost/tools/build/test/project_root_constants.py b/src/boost/tools/build/test/project_root_constants.py new file mode 100644 index 000000000..865789935 --- /dev/null +++ b/src/boost/tools/build/test/project_root_constants.py @@ -0,0 +1,62 @@ +#!/usr/bin/python + +# Copyright 2003, 2004, 2005 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 + +# Create a temporary working directory. +t = BoostBuild.Tester() + +# Create the needed files. +t.write("jamroot.jam", """\ +constant FOO : foobar gee ; +ECHO $(FOO) ; +""") + +t.run_build_system() +t.expect_output_lines("foobar gee") + +# Regression test: when absolute paths were passed to path-constant rule, +# B2 failed to recognize path as absolute and prepended the current +# dir. +t.write("jamroot.jam", """\ +import path ; +local here = [ path.native [ path.pwd ] ] ; +path-constant HERE : $(here) ; +if $(HERE) != $(here) +{ + ECHO "PWD =" $(here) ; + ECHO "path constant =" $(HERE) ; + EXIT ; +} +""") +t.write("jamfile.jam", "") + +t.run_build_system() + +t.write("jamfile.jam", """\ +# This tests that rule 'hello' will be imported to children unlocalized, and +# will still access variables in this Jamfile. +x = 10 ; +constant FOO : foo ; +rule hello ( ) { ECHO "Hello $(x)" ; } +""") + +t.write("d/jamfile.jam", """\ +ECHO "d: $(FOO)" ; +constant BAR : bar ; +""") + +t.write("d/d2/jamfile.jam", """\ +ECHO "d2: $(FOO)" ; +ECHO "d2: $(BAR)" ; +hello ; +""") + +t.run_build_system(subdir="d/d2") +t.expect_output_lines("d: foo\nd2: foo\nd2: bar\nHello 10") + +t.cleanup() |