Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(95)

Issue 1766873002: Collect failed "target"s from ninja in the compile step on Waterfall. (Closed)

Created:
4 years, 9 months ago by stgao
Modified:
3 years, 7 months ago
Reviewers:
agable, Nico, iannucci
CC:
chromium-reviews, infra-reviews+build_chromium.org, kjellander-cc_chromium.org, jam, chanli, lijeffrey
Base URL:
https://chromium.googlesource.com/chromium/tools/build.git@check_target_existence
Target Ref:
refs/heads/master
Project:
build
Visibility:
Public.

Description

Collect failed "target"s from ninja in the compile step on Waterfall. The "target"s here are actually the output nodes of the failed edges in ninja's build graph. This CL scrapes the ninja output to extract the failed "target"s and set them as a build property so that it shows up in the build json data. Simulation test passed for build_internal, thus no expectation change is needed there. BUG=592715, 592808

Patch Set 1 : for record only, NOT for review. #

Patch Set 2 : Use positional json.output_all #

Patch Set 3 : Use named json.output #

Patch Set 4 : Rebase. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+113 lines, -7 lines) Patch
M scripts/slave/compile.py View 1 2 3 5 chunks +64 lines, -1 line 0 comments Download
M scripts/slave/recipe_modules/chromium/api.py View 1 2 3 2 chunks +16 lines, -0 lines 0 comments Download
M scripts/slave/recipes/findit/chromium/compile.py View 1 2 3 1 chunk +19 lines, -1 line 0 comments Download
M scripts/slave/recipes/findit/chromium/compile.expected/compile_failed.json View 1 2 3 2 chunks +14 lines, -5 lines 0 comments Download

Messages

Total messages: 22 (17 generated)
stgao
PTAL when you have a cycle:) I only included an example of recipe expectation change ...
4 years, 9 months ago (2016-03-23 21:07:29 UTC) #13
stgao
Hi Nico, As ninja 1.7 will be released soon, do you mind reviewing this CL ...
4 years, 7 months ago (2016-04-27 20:06:53 UTC) #14
Nico
The filtering looks ok, but I kind of expected this to happen after compile instead ...
4 years, 7 months ago (2016-05-02 18:21:58 UTC) #19
stgao
https://codereview.chromium.org/1766873002/diff/200001/scripts/slave/compile.py File scripts/slave/compile.py (right): https://codereview.chromium.org/1766873002/diff/200001/scripts/slave/compile.py#newcode107 scripts/slave/compile.py:107: for node in line[len(self.NINJA_FAILURE_PREFIX):].split(' '): On 2016/05/02 18:21:58, Nico ...
4 years, 7 months ago (2016-05-02 19:43:06 UTC) #20
stgao
4 years, 7 months ago (2016-05-03 23:36:19 UTC) #21
https://codereview.chromium.org/1766873002/diff/200001/scripts/slave/compile.py
File scripts/slave/compile.py (right):

https://codereview.chromium.org/1766873002/diff/200001/scripts/slave/compile....
scripts/slave/compile.py:107: for node in
line[len(self.NINJA_FAILURE_PREFIX):].split(' '):
I've verified that ninja 1.7.1 won't quote the names if they have space as shown
below. There is a space in "embedded automation_extension.cc".

Nico: should we handle "Chromium Framework" on Mac as special cases? Are there
other workarounds?


~/chromium/src$ ninja --version
1.7.1
~/chromium/src$ ninja -C out/gn_build_dir/ chromedriver
ninja: Entering directory `out/gn_build_dir/'
[1/11] ACTION
//chrome/test/chromedriver:embed_extension_in_cpp(//build/toolchain/linux:clang_x64)
FAILED: gen/chrome/test/chromedriver/chrome/embedded automation_extension.cc
gen/chrome/test/chromedriver/chrome/embedded_automation_extension.h 
python ../../chrome/test/chromedriver/embed_extension_in_cpp.py --directory
gen/chrome/test/chromedriver/chrome
../../chrome/test/chromedriver/extension/background.js
../../chrome/test/chromedriver/extension/manifest.json

Powered by Google App Engine
This is Rietveld 408576698