diff --git a/v2/test/timedata.py b/v2/test/timedata.py index d6eb3e334..8a3d87c76 100644 --- a/v2/test/timedata.py +++ b/v2/test/timedata.py @@ -6,16 +6,18 @@ # This tests the build step timing facilities. import BoostBuild +import re t = BoostBuild.Tester(pass_toolset=0) -t.write('file.jam', ''' +t.write("file.jam", """ rule time { DEPENDS $(<) : $(>) ; __TIMING_RULE__ on $(>) = record_time $(<) ; DEPENDS all : $(<) ; } + actions time { echo $(>) user: $(__USER_TIME__) system: $(__SYSTEM_TIME__) @@ -24,7 +26,6 @@ actions time rule record_time ( target : source : start end user system ) { - ECHO record_time called: $(target) / $(source) / $(user) / $(system) ; __USER_TIME__ on $(target) = $(user) ; __SYSTEM_TIME__ on $(target) = $(system) ; } @@ -33,6 +34,7 @@ rule make { DEPENDS $(<) : $(>) ; } + actions make { echo made from $(>) >> $(<) @@ -41,17 +43,22 @@ actions make time foo : bar ; make bar : baz ; -''') +""") -import re -t.write('baz', 'nothing\n') -t.run_build_system( - '-ffile.jam', - stdout=r'bar +user: [0-9\.]+ +system: +[0-9\.]+ *$', - match = lambda actual,expected: re.search(expected,actual,re.DOTALL) - ) -t.expect_addition('foo') -t.expect_addition('bar') +t.write("baz", "nothing\n") + +expected_output = """\.\.\.found 4 targets\.\.\. +\.\.\.updating 2 targets\.\.\. +make bar +time foo +bar +user: [0-9\.]+ +system: +[0-9\.]+ * +\.\.\.updated 2 targets\.\.\.$ +""" + +t.run_build_system("-ffile.jam -d+1", stdout=expected_output, + match=lambda actual, expected: re.search(expected, actual, re.DOTALL)) +t.expect_addition("foo") +t.expect_addition("bar") t.expect_nothing_more() t.cleanup()