40e7f0e8dd
Various restructure of test framework handling of paths to avoid duplicate path editing which caused failed tests. Adjust many tests to deal with added subdirectories in build outputs now that toolset requirements are active.
59 lines
1.3 KiB
Python
59 lines
1.3 KiB
Python
#!/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)
|
|
|
|
import BoostBuild
|
|
|
|
t = BoostBuild.Tester(use_test_config=False)
|
|
|
|
t.write("jamroot.jam", """\
|
|
exe hello : hello.cpp ;
|
|
exe hello2 : hello.cpp ;
|
|
explicit hello2 ;
|
|
""")
|
|
|
|
t.write("hello.cpp", "int main() {}\n")
|
|
|
|
t.run_build_system()
|
|
t.ignore("*.tds")
|
|
t.expect_addition(BoostBuild.List("bin/$toolset/debug*/hello") * \
|
|
[".exe", ".obj"])
|
|
t.expect_nothing_more()
|
|
|
|
t.run_build_system(["hello2"])
|
|
t.expect_addition("bin/$toolset/debug*/hello2.exe")
|
|
|
|
t.rm(".")
|
|
|
|
|
|
# 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", """\
|
|
rule myinstall ( name : target )
|
|
{
|
|
install $(name)-bin : $(target) ;
|
|
explicit $(name)-bin ;
|
|
alias $(name) : $(name)-bin ;
|
|
}
|
|
""")
|
|
|
|
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", """\
|
|
myinstall dist : a.cpp ;
|
|
explicit dist ;
|
|
""")
|
|
|
|
t.run_build_system(subdir="sub")
|
|
t.expect_nothing_more()
|
|
|
|
t.cleanup()
|