mirror of
https://github.com/boostorg/build.git
synced 2026-02-13 00:12:11 +00:00
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.
90 lines
1.8 KiB
Python
90 lines
1.8 KiB
Python
#!/usr/bin/python
|
|
|
|
# Copyright (C) Vladimir Prus 2006.
|
|
# 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)
|
|
|
|
import BoostBuild
|
|
|
|
t = BoostBuild.Tester(use_test_config=False)
|
|
|
|
|
|
t.write("jamroot.jam", """
|
|
project : requirements <threading>multi <variant>debug:<link>static ;
|
|
|
|
build-project sub ;
|
|
build-project sub2 ;
|
|
build-project sub3 ;
|
|
build-project sub4 ;
|
|
""")
|
|
|
|
t.write("sub/jamfile.jam", """
|
|
exe hello : hello.cpp : -<threading>multi ;
|
|
""")
|
|
|
|
t.write("sub/hello.cpp", """
|
|
int main() {}
|
|
""")
|
|
|
|
t.write("sub2/jamfile.jam", """
|
|
project : requirements -<threading>multi ;
|
|
exe hello : hello.cpp ;
|
|
""")
|
|
|
|
t.write("sub2/hello.cpp", """
|
|
int main() {}
|
|
""")
|
|
|
|
t.write("sub3/hello.cpp", """
|
|
int main() {}
|
|
""")
|
|
|
|
t.write("sub3/jamfile.jam", """
|
|
exe hello : hello.cpp : -<variant>debug:<link>static ;
|
|
""")
|
|
|
|
t.write("sub4/hello.cpp", """
|
|
int main() {}
|
|
""")
|
|
|
|
t.write("sub4/jamfile.jam", """
|
|
project : requirements -<variant>debug:<link>static ;
|
|
exe hello : hello.cpp ;
|
|
""")
|
|
|
|
t.run_build_system()
|
|
|
|
t.expect_addition("sub/bin/$toolset/debug/link-static*/hello.exe")
|
|
t.expect_addition("sub2/bin/$toolset/debug/link-static*/hello.exe")
|
|
t.expect_addition("sub3/bin/$toolset/debug/threading-multi*/hello.exe")
|
|
t.expect_addition("sub4/bin/$toolset/debug/threading-multi*/hello.exe")
|
|
|
|
t.rm(".")
|
|
|
|
# Now test that path requirements can be removed as well.
|
|
t.write("jamroot.jam", """
|
|
build-project sub ;
|
|
""")
|
|
|
|
t.write("sub/jamfile.jam", """
|
|
project : requirements <include>broken ;
|
|
exe hello : hello.cpp : -<include>broken ;
|
|
""")
|
|
|
|
t.write("sub/hello.cpp", """
|
|
#include "math.h"
|
|
int main() {}
|
|
""")
|
|
|
|
t.write("sub/broken/math.h", """
|
|
Broken
|
|
""")
|
|
|
|
|
|
t.run_build_system()
|
|
|
|
t.expect_addition("sub/bin/$toolset/debug*/hello.exe")
|
|
|
|
t.cleanup()
|