# List of suppressions

# Android will not support StackTrace.
StackTrace.*
#
# Sometimes this is automatically generated by run_tests.py
VerifyPathControlledByUserTest.Symlinks

# http://crbug.com/138845
MessagePumpLibeventTest.TestWatchingFromBadThread

StringPrintfTest.StringPrintfMisc
StringPrintfTest.StringAppendfString
StringPrintfTest.StringAppendfInt
StringPrintfTest.StringPrintfBounds
ProcessUtilTest.GetAppOutputRestrictedSIGPIPE
# TODO(jrg): Fails on bots.  Works locally.  Figure out why.  2/6/12
FieldTrialTest.*
# TODO(zhenghao): Fail from build 6102 r123270. http://crbug.com/115612
StackContainer.BufferAlignment
# Failed on bot since it was first introduced.
FileUtilProxyTest.Touch
# Flaky?
ScopedJavaRefTest.RefCounts
# Death tests are not supported with apks.
*DeathTest*

