# Failures of any GM tests listed in this file will be ignored [1], as
# if they had been marked "ignore-failure": true in the per-builder
# expected-results.json files.
#
# The idea is that, if you modify a GM test in such a way that you know it will
# require rebaselines on multiple platforms, you should add that test's name to
# this list within the same CL that modifies the test.
# Then, AS SOON AS POSSIBLE, you should rebaseline the tests (they will show up
# as status "failure-ignored") and remove the line you added to this file.
# If there are any lingering failures that need to be suppressed (ignored), you
# MUST move those suppressions into the per-builder expected-results.json files.
#
# The test name must match exactly (no partial string matches).
# See http://skbug.com/2022
#
# Any lines starting with '#' are comments and will be ignored.
# Other than that, each line must either be whitespace or list just one test.
#
# For more information, see https://code.google.com/p/skia/issues/detail?id=1600
# ('GM expectations: create tool to suppress failures until new baselines are
# checked in')
#
#
# [1] Differences between renderModes (e.g., normal rendering path and
# "serialized") are NEVER ignored.  See
# https://code.google.com/p/skia/issues/detail?id=1748 ('gm: add new result
# type, RenderModeMismatch')

# EXAMPLES: (remove the first '#' on each line)
#
## Added as part of MADE-UP BUG
## http://skbug.com/123456 : ignoring failures on gradtext GM test
## epoger will rebaseline by 25 Dec 2013
#gradtext

# jvanverth
fontcache

# reed - conservative_rasterclip CL
multipicturedraw_pathclip_tiled

# rileya - https://codereview.chromium.org/516463005/ will rebaseline after bots cycle
yuv_to_rgb_effect

#edgdaniel https://codereview.chromium.org/703783002/
dashing
