⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dependency_test.py

📁 Boost provides free peer-reviewed portable C++ source libraries. We emphasize libraries that work
💻 PY
字号:
#!/usr/bin/python# Copyright 2003 Dave Abrahams# Copyright 2002, 2003, 2005, 2006 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 BoostBuildt = BoostBuild.Tester()t.set_tree("dependency-test")t.run_build_system()# Check that main target 'c' was able to find 'x.h' from 'a's dependency graph.t.expect_addition("bin/$toolset/debug/c.exe")# Check handling of first level includes.# Both 'a' and 'b' include "a.h" and should be updated.t.touch("a.h")t.run_build_system()t.expect_touch("bin/$toolset/debug/a.exe")t.expect_touch("bin/$toolset/debug/a.obj")t.expect_touch("bin/$toolset/debug/a_c.obj")t.expect_touch("bin/$toolset/debug/b.exe")t.expect_touch("bin/$toolset/debug/b.obj")# Now, <dependency> does not add a dependency. It sound weird, but is# intentional. Need to rename <dependency> eventually.#t.expect_touch("bin/$toolset/debug/main-target-c/c.exe")t.ignore("*.tds")t.expect_nothing_more()# Only 'a' include <a.h> and should be updated.t.touch("src1/a.h")t.run_build_system()t.expect_touch("bin/$toolset/debug/a.exe")t.expect_touch("bin/$toolset/debug/a.obj")t.expect_touch("bin/$toolset/debug/a_c.obj")t.ignore("*.tds")t.expect_nothing_more()# "src/a.h" includes "b.h" (in the same dir).t.touch("src1/b.h")t.run_build_system()t.expect_touch("bin/$toolset/debug/a.exe")t.expect_touch("bin/$toolset/debug/a.obj")t.expect_touch("bin/$toolset/debug/a_c.obj")t.ignore("*.tds")t.expect_nothing_more()# Included by "src/b.h". We had a bug: file included via "", like "b.h" is in# this case was not scanned at all.t.touch("src1/c.h")t.run_build_system()t.expect_touch("bin/$toolset/debug/a.exe")t.touch("b.h")t.run_build_system()t.expect_nothing_more()# Test dependency on a generated header.## TODO: we have also to check that generated header is found correctly if it is# different for different subvariants. Lacking any toolset support, this check# will be implemented later.t.touch("x.foo")t.run_build_system()t.expect_touch("bin/$toolset/debug/a.obj")t.expect_touch("bin/$toolset/debug/a_c.obj")# Check that generated headers are scanned for dependencies as well.t.touch("src1/z.h")t.run_build_system()t.expect_touch("bin/$toolset/debug/a.obj")t.expect_touch("bin/$toolset/debug/a_c.obj")# Regression test: on Windows, <includes> with absolute paths were not# considered when scanning dependencies.t.rm(".")t.write("jamroot.jam", """path-constant TOP : . ;exe app : main.cpp : <include>$(TOP)/include ;""");t.write("main.cpp", """#include <dir/header.h>int main() {}""")t.write("include/dir/header.h", "")t.run_build_system()t.expect_addition("bin/$toolset/debug/main.obj")t.touch("include/dir/header.h")t.run_build_system()t.expect_touch("bin/$toolset/debug/main.obj")t.cleanup()

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -