diff options
Diffstat (limited to 'tools/build/v2/test/core_modifiers.py')
-rw-r--r-- | tools/build/v2/test/core_modifiers.py | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/tools/build/v2/test/core_modifiers.py b/tools/build/v2/test/core_modifiers.py new file mode 100644 index 0000000000..fb95cbfbd7 --- /dev/null +++ b/tools/build/v2/test/core_modifiers.py @@ -0,0 +1,51 @@ +#!/usr/bin/python + +# Copyright 2003 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) + +# This tests the "existing" and "updated" modifiers on actions. + +import BoostBuild +import string + +t = BoostBuild.Tester(pass_toolset=0) + +code = """ +DEPENDS all : a ; +ALWAYS a ; +NOTFILE a ; + +actions existing make-a +{ + echo $(>) > list +} +make-a a : a-1 a-2 a-3 ; +DEPENDS a : a-1 a-2 a-3 ; +NOCARE a-1 a-2 ; + +actions make-a3 +{ + echo foo > $(<) +} +make-a3 a-3 ; +""" + +t.write("file.jam", code) +t.write("a-1", "") + +t.run_build_system("-ffile.jam") +t.fail_test(string.strip(t.read("list")) != "a-1") +t.rm(["a-3", "list"]) + +code = string.replace(code, "existing", "updated") +t.write("file.jam", code) +t.run_build_system("-ffile.jam") +t.fail_test(string.strip(t.read("list")) != "a-3") + +code = string.replace(code, "updated", "existing updated") +t.write("file.jam", code) +t.run_build_system("-ffile.jam") +t.fail_test(string.strip(t.read("list")) != "a-1 a-3") + +t.cleanup() |