https://ci.chromium.org/p/chromium/builders/luci.chromium.try/mac_chromium_rel_ng/79854 is an example of this.
When layout tests are retried without patch, sometimes they don't end up executing any tests. This can happen if the CL the tryjob is testing adds a test which fails; obviously without the patch that test wouldn't fail.
This ends up being problematic for the recipe code. It has this exception:
File "/b/s/w/ir/kitchen-checkout/build/scripts/slave/recipe_modules/swarming/api.py", line 998, in _default_collect_step
links = step_result.json.output.get('links', {})
AttributeError: 'NoneType' object has no attribute 'get'
We can either play whack-a-mole in the recipe code, to protect it from this stuff and check arguments, or make layout tests always output empty results files, even if it doesn't run tests. I tried looking into the latter, and it looked fairly complicated. The layout tests output several types of files when they're done executing tests, so I'm not sure how easily we could do that.
Comment 1 by robertma@chromium.org
, Jun 28 2018Mergedinto: 851639
Status: Duplicate (was: Unconfirmed)