#!/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()