2
0
mirror of https://github.com/boostorg/build.git synced 2026-02-14 00:32:11 +00:00
Files
build/test/suffix.py
Rene Rivera 40e7f0e8dd Fix tests to pass on Windows after removing toolset requirements ignore.
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.
2017-07-02 23:28:48 -05:00

79 lines
1.6 KiB
Python

#!/usr/bin/python
# Copyright 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()
# Regression test: when staging V2 used to change suffixes on targets
# corresponding to real files.
t.write("jamfile.jam", """
import type : register ;
register A : a1 a2 a3 ;
stage a : a.a3 ;
""")
t.write("jamroot.jam", "")
t.write("a.a3", "")
t.run_build_system()
t.expect_addition("a/a.a3");
# Regression test: we should be able to specify empty suffix for derived target
# type, even if base type has non-empty suffix.
t.write("a.cpp", "")
t.write("suffixes.jam", """
import type ;
import generators ;
import common ;
type.register First : first : ;
type.register Second : "" : First ;
generators.register-standard $(__name__).second : CPP : Second ;
rule second
{
TOUCH on $(<) = [ common.file-creation-command ] ;
}
actions second
{
$(TOUCH) $(<)
}
""")
t.write("suffixes.py", """
import b2.build.type as type
import b2.build.generators as generators
import b2.tools.common as common
from b2.manager import get_manager
type.register("First", ["first"])
type.register("Second", [""], "First")
generators.register_standard("suffixes.second", ["CPP"], ["Second"])
get_manager().engine().register_action("suffixes.second",
"%s $(<)" % common.file_creation_command())
""")
t.write("jamroot.jam", """
import suffixes ;
""")
t.write("jamfile.jam", """
second a : a.cpp ;
""")
t.run_build_system()
t.expect_addition("bin/$toolset/debug*/a")
t.cleanup()