summaryrefslogtreecommitdiff
path: root/tools/build/test/project_test4.py
diff options
context:
space:
mode:
Diffstat (limited to 'tools/build/test/project_test4.py')
-rw-r--r--tools/build/test/project_test4.py65
1 files changed, 65 insertions, 0 deletions
diff --git a/tools/build/test/project_test4.py b/tools/build/test/project_test4.py
new file mode 100644
index 0000000000..fc4115017b
--- /dev/null
+++ b/tools/build/test/project_test4.py
@@ -0,0 +1,65 @@
+#!/usr/bin/python
+
+# Copyright 2003 Dave Abrahams
+# Copyright 2002, 2003, 2004 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(translate_suffixes=0)
+
+
+t.set_tree("project-test4")
+
+t.run_build_system()
+
+t.expect_addition("bin/$toolset/debug/a.obj")
+t.expect_content("bin/$toolset/debug/a.obj",
+"""$toolset/debug/include-everything
+a.cpp
+""")
+
+t.expect_addition("bin/$toolset/debug/a.exe")
+t.expect_content("bin/$toolset/debug/a.exe",
+"$toolset/debug/include-everything\n" +
+"bin/$toolset/debug/a.obj lib/bin/$toolset/debug/optimization-speed/b.obj\n"
+)
+
+t.expect_addition("lib/bin/$toolset/debug/optimization-speed/b.obj")
+t.expect_content("lib/bin/$toolset/debug/optimization-speed/b.obj",
+"""$toolset/debug/include-everything/optimization-speed
+lib/b.cpp
+""")
+
+t.expect_addition("bin/$toolset/debug/b.exe")
+t.expect_content("bin/$toolset/debug/b.exe",
+"$toolset/debug/define-MACROS/include-everything\n" +
+"bin/$toolset/debug/a.obj\n"
+)
+
+t.copy("lib/jamfile3.jam", "lib/jamfile.jam")
+
+# Link-compatibility check for rtti is disabled...
+#t.run_build_system(status=None)
+#import string
+#t.fail_test(string.find(t.stdout(),
+#"""warning: targets produced from b.obj are link incompatible
+#warning: with main target a.exe""") !=-0)
+
+# Test that if we specified composite property in target reference, everything
+# works OK.
+
+t.copy("lib/jamfile1.jam", "lib/jamfile.jam")
+t.copy("jamfile5.jam", "jamfile.jam")
+
+t.run_build_system()
+
+t.expect_addition("lib/bin/$toolset/release/b.obj")
+
+t.expect_content("bin/$toolset/debug/a.exe",
+"$toolset/debug/include-everything\n" +
+"bin/$toolset/debug/a.obj lib/bin/$toolset/release/b.obj\n"
+)
+
+t.cleanup()