| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- #!/usr/bin/python
- # Copyright 2002, 2003 Dave Abrahams
- # Copyright 2002, 2003, 2004, 2006 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
- import os
- t = BoostBuild.Tester(translate_suffixes=0)
- # First check some startup.
- t.set_tree("project-test3")
- os.remove("jamroot.jam")
- t.run_build_system(status=1)
- t.expect_output_lines("*.yfc-compile\" unknown in module*")
- t.set_tree("project-test3")
- t.run_build_system()
- t.expect_addition("bin/$toolset/debug*/a.obj")
- t.expect_content("bin/$toolset/debug*/a.obj", """\
- $toolset/debug*
- a.cpp
- """)
- t.expect_addition("bin/$toolset/debug*/a.exe")
- t.expect_content("bin/$toolset/debug*/a.exe",
- "$toolset/debug*\n" +
- "bin/$toolset/debug*/a.obj lib/bin/$toolset/debug*/b.obj " +
- "lib2/bin/$toolset/debug*/c.obj lib2/bin/$toolset/debug*/d.obj " +
- "lib2/helper/bin/$toolset/debug*/e.obj " +
- "lib3/bin/$toolset/debug*/f.obj\n"
- )
- t.expect_addition("lib/bin/$toolset/debug*/b.obj")
- 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*
- 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*
- lib2/c.cpp
- """)
- t.expect_addition("lib2/bin/$toolset/debug*/d.obj")
- 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*
- 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*
- lib2/helper/e.cpp
- """)
- t.expect_addition("lib3/bin/$toolset/debug*/f.obj")
- t.expect_content("lib3/bin/$toolset/debug*/f.obj", """\
- $toolset/debug*
- lib3/f.cpp lib2/helper/bin/$toolset/debug*/e.obj
- """)
- t.touch("a.cpp")
- t.run_build_system()
- t.expect_touch(["bin/$toolset/debug*/a.obj",
- "bin/$toolset/debug*/a.exe",
- "lib2/bin/$toolset/debug*/l.exe"])
- t.run_build_system(["release", "optimization=off,speed"])
- t.expect_addition(["bin/$toolset/release/optimization-off*/a.exe",
- "bin/$toolset/release/optimization-off*/a.obj",
- "bin/$toolset/release*/a.exe",
- "bin/$toolset/release*/a.obj"])
- 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",
- "lib/bin/$toolset/debug*/m.exe",
- "lib2/bin/$toolset/debug*/c.obj",
- "lib2/bin/$toolset/debug*/d.obj",
- "lib2/bin/$toolset/debug*/l.exe",
- "lib3/bin/$toolset/debug*/f.obj"])
- # Now test target ids in command line.
- t.set_tree("project-test3")
- t.run_build_system(["lib//b.obj"])
- t.expect_addition("lib/bin/$toolset/debug*/b.obj")
- t.expect_nothing_more()
- t.run_build_system(["--clean", "lib//b.obj"])
- t.expect_removal("lib/bin/$toolset/debug*/b.obj")
- t.expect_nothing_more()
- t.run_build_system(["lib//b.obj"])
- t.expect_addition("lib/bin/$toolset/debug*/b.obj")
- t.expect_nothing_more()
- t.run_build_system(["release", "lib2/helper//e.obj", "/lib3//f.obj"])
- t.expect_addition("lib2/helper/bin/$toolset/release*/e.obj")
- t.expect_addition("lib3/bin/$toolset/release*/f.obj")
- t.expect_nothing_more()
- # Test project ids in command line work as well.
- t.set_tree("project-test3")
- t.run_build_system(["/lib2"])
- t.expect_addition("lib2/bin/$toolset/debug*/" *
- BoostBuild.List("c.obj d.obj l.exe"))
- t.expect_addition("bin/$toolset/debug*/a.obj")
- t.expect_nothing_more()
- t.run_build_system(["lib"])
- t.expect_addition("lib/bin/$toolset/debug*/" *
- BoostBuild.List("b.obj m.exe"))
- t.expect_nothing_more()
- t.cleanup()
|