mirror of
https://github.com/boostorg/build.git
synced 2026-02-02 08:42:13 +00:00
This expands out the failed and skipped summary tail lines to also include a sorted list of action and targets of the corresponding failed and skipped targets. This makes it easier to see them and to further search for individual ones in teh rest of the output. It also makes it possible to quickly retry specific targets. fixes #196
80 lines
1.6 KiB
Python
Executable File
80 lines
1.6 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
|
|
# Copyright 2007 Rene Rivera.
|
|
# Copyright 2011 Steven Watanabe
|
|
# Distributed under the Boost Software License, Version 1.0.
|
|
# (See accompanying file LICENSE.txt or https://www.bfgroup.xyz/b2/LICENSE.txt)
|
|
|
|
# Added to guard against a bug causing targets to be used before they
|
|
# themselves have finished building. This used to happen for targets built by a
|
|
# multi-file action that got triggered by another target.
|
|
#
|
|
# Example:
|
|
# When target A and target B were declared as created by a single action and
|
|
# target A triggered running that action then, while the action was still
|
|
# running, target B was already reporting as being built causing other targets
|
|
# depending on target A to be built prematurely.
|
|
|
|
import BoostBuild
|
|
|
|
t = BoostBuild.Tester(["-d1"], pass_toolset=0)
|
|
|
|
t.write("sleep.bat", """\
|
|
::@timeout /T %1 /NOBREAK >nul
|
|
@ping 127.0.0.1 -n 2 -w 1000 >nul
|
|
@ping 127.0.0.1 -n %1 -w 1000 >nul
|
|
@exit /B 0
|
|
""")
|
|
|
|
t.write("file.jam", """\
|
|
if $(NT)
|
|
{
|
|
SLEEP = @call sleep.bat ;
|
|
}
|
|
else
|
|
{
|
|
SLEEP = sleep ;
|
|
}
|
|
|
|
actions .gen.
|
|
{
|
|
echo 001
|
|
$(SLEEP) 4
|
|
echo 002
|
|
}
|
|
rule .use.1 { DEPENDS $(<) : $(>) ; }
|
|
actions .use.1
|
|
{
|
|
echo 003
|
|
}
|
|
|
|
rule .use.2 { DEPENDS $(<) : $(>) ; }
|
|
actions .use.2
|
|
{
|
|
$(SLEEP) 1
|
|
echo 004
|
|
}
|
|
|
|
.gen. g1.generated g2.generated ;
|
|
.use.1 u1.user : g1.generated ;
|
|
.use.2 u2.user : g2.generated ;
|
|
|
|
DEPENDS all : u1.user u2.user ;
|
|
""")
|
|
|
|
t.run_build_system(["-ffile.jam", "-j2"], stdout="""\
|
|
...found 5 targets...
|
|
...updating 4 targets...
|
|
.gen. g1.generated
|
|
001
|
|
002
|
|
.use.1 u1.user
|
|
003
|
|
.use.2 u2.user
|
|
004
|
|
|
|
...updated 4 targets...
|
|
""")
|
|
|
|
t.cleanup()
|