Commit 46541b49 authored by Bruce Dawson's avatar Bruce Dawson Committed by Commit Bot

Fix autoninja && chrome on failed builds

A handy usage pattern for autoninja.bat that I was not aware of is to go

    autoninja -C out\Default chrome && chrome

This will build chrome and then run it, but only run it if the build
succeeds. The addition of post_build_ninja_summary.py broke this by
losing the error code. This change fixes it by using black magic to
set an error code in the failure case.

Bug: chromium:787983
Change-Id: Ib87fd1799816e19d56de76e08e0f9688be903d80
Reviewed-on: https://chromium-review.googlesource.com/916705Reviewed-by: 's avatarDirk Pranke <dpranke@chromium.org>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
parent e186e50d
...@@ -10,7 +10,13 @@ ...@@ -10,7 +10,13 @@
command=$(python $(dirname -- "$0")/autoninja.py "$@") command=$(python $(dirname -- "$0")/autoninja.py "$@")
echo $command echo $command
$command $command
if [ $? -eq 0 ] && [ "$NINJA_SUMMARIZE_BUILD" == "1" ]; then if [ $? -eq 0 ]; then
python $(dirname -- "$0")/post_build_ninja_summary.py $@ if [ "$NINJA_SUMMARIZE_BUILD" == "1" ]; then
python $(dirname -- "$0")/post_build_ninja_summary.py $@
fi
exit
fi fi
# Return an error code of 1 so that if a developer types:
# "autoninja chrome && chrome" then chrome won't run if the build fails.
exit 1
...@@ -8,4 +8,8 @@ REM Also print it to reassure that the right settings are being used. ...@@ -8,4 +8,8 @@ REM Also print it to reassure that the right settings are being used.
FOR /f "usebackq tokens=*" %%a in (`python %~dp0autoninja.py "%*"`) do echo %%a & %%a FOR /f "usebackq tokens=*" %%a in (`python %~dp0autoninja.py "%*"`) do echo %%a & %%a
@if errorlevel 1 goto buildfailure @if errorlevel 1 goto buildfailure
@if "%NINJA_SUMMARIZE_BUILD%" == "1" python %~dp0post_build_ninja_summary.py %* @if "%NINJA_SUMMARIZE_BUILD%" == "1" python %~dp0post_build_ninja_summary.py %*
exit /b
:buildfailure :buildfailure
REM Return an error code of 1 so that if a developer types:
REM "autoninja chrome && chrome" then chrome won't run if the build fails.
cmd /c exit 1
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment