2
0
mirror of https://github.com/boostorg/build.git synced 2026-02-13 00:12:11 +00:00
Files
build/test/project_test3.py
Vladimir Prus 609dd1f6ab Introduced SHARED-LIB and STATIC-LIB target types. Also introduced LIB target
type and a generator, which relays either to SHARED-LIB or STATIC-LIB,
depending of the value of "shared" feature.


[SVN r15529]
2002-09-27 07:35:03 +00:00

105 lines
4.1 KiB
Python

#!/usr/bin/python
from BoostBuild import Tester
import os
from string import strip
t = Tester()
# First check some startup
t.set_tree("project-test3")
os.remove("project-root.jam")
t.run_build_system(status=1, stdout=
"""Failed to find the project root for directory '.'.
Did not find a project-root.jam file there or in any of its parent directories.
Please consult the documentation at 'http://www.boost.org'.
""")
t.set_tree("project-test3")
t.run_build_system()
t.expect_addition("bin/gcc/debug/shared-false/threading-single/a.obj")
t.expect_content("bin/gcc/debug/shared-false/threading-single/a.obj",
"""gcc/debug/shared-false/threading-single
a.cpp
""")
t.expect_addition("bin/gcc/debug/shared-false/threading-single/a.exe")
t.expect_content("bin/gcc/debug/shared-false/threading-single/a.exe",
"gcc/debug/shared-false/threading-single\n" +
"bin/gcc/debug/shared-false/threading-single/a.obj lib/bin/gcc/debug/shared-false/threading-single/b.obj " +
"lib2/bin/gcc/debug/shared-false/threading-single/c.obj lib2/bin/gcc/debug/shared-false/threading-single/d.obj " +
"lib2/helper/bin/gcc/debug/shared-false/threading-single/e.obj " +
"lib3/bin/gcc/debug/shared-false/threading-single/f.obj\n"
)
t.expect_addition("lib/bin/gcc/debug/shared-false/threading-single/b.obj")
t.expect_content("lib/bin/gcc/debug/shared-false/threading-single/b.obj",
"""gcc/debug/shared-false/threading-single
lib/b.cpp
""")
t.expect_addition("lib/bin/gcc/debug/shared-false/threading-single/m.exe")
t.expect_content("lib/bin/gcc/debug/shared-false/threading-single/m.exe",
"""gcc/debug/shared-false/threading-single
lib/bin/gcc/debug/shared-false/threading-single/b.obj lib2/bin/gcc/debug/shared-false/threading-single/c.obj
""")
t.expect_addition("lib2/bin/gcc/debug/shared-false/threading-single/c.obj")
t.expect_content("lib2/bin/gcc/debug/shared-false/threading-single/c.obj",
"""gcc/debug/shared-false/threading-single
lib2/c.cpp
""")
t.expect_addition("lib2/bin/gcc/debug/shared-false/threading-single/d.obj")
t.expect_content("lib2/bin/gcc/debug/shared-false/threading-single/d.obj",
"""gcc/debug/shared-false/threading-single
lib2/d.cpp
""")
t.expect_addition("lib2/bin/gcc/debug/shared-false/threading-single/l.exe")
t.expect_content("lib2/bin/gcc/debug/shared-false/threading-single/l.exe",
"""gcc/debug/shared-false/threading-single
lib2/bin/gcc/debug/shared-false/threading-single/c.obj bin/gcc/debug/shared-false/threading-single/a.obj
""")
t.expect_addition("lib2/helper/bin/gcc/debug/shared-false/threading-single/e.obj")
t.expect_content("lib2/helper/bin/gcc/debug/shared-false/threading-single/e.obj",
"""gcc/debug/shared-false/threading-single
lib2/helper/e.cpp
""")
t.expect_addition("lib3/bin/gcc/debug/shared-false/threading-single/f.obj")
t.expect_content("lib3/bin/gcc/debug/shared-false/threading-single/f.obj",
"""gcc/debug/shared-false/threading-single
lib3/f.cpp lib2/helper/bin/gcc/debug/shared-false/threading-single/e.obj
""")
t.touch("a.cpp")
t.run_build_system()
t.expect_touch(["bin/gcc/debug/shared-false/threading-single/a.obj",
"bin/gcc/debug/shared-false/threading-single/a.exe",
"lib2/bin/gcc/debug/shared-false/threading-single/l.exe"])
t.run_build_system(extra_args="release optimization=off,on")
t.expect_addition([ "bin/gcc/release/shared-false/threading-single/a.exe",
"bin/gcc/release/shared-false/threading-single/a.obj",
"bin/gcc/release/optimization-off/shared-false/threading-single/a.exe",
"bin/gcc/release/optimization-off/shared-false/threading-single/a.obj"])
t.run_build_system(extra_args='clean')
t.expect_removal(["bin/gcc/debug/shared-false/threading-single/a.obj",
"bin/gcc/debug/shared-false/threading-single/a.exe",
"lib/bin/gcc/debug/shared-false/threading-single/b.obj",
"lib/bin/gcc/debug/shared-false/threading-single/m.exe",
"lib2/bin/gcc/debug/shared-false/threading-single/c.obj",
"lib2/bin/gcc/debug/shared-false/threading-single/d.obj",
"lib2/bin/gcc/debug/shared-false/threading-single/l.exe",
"lib3/bin/gcc/debug/shared-false/threading-single/f.obj",
])
t.cleanup()