# Don't run FLAKY or FAILS ui tests under Valgrind.
# They tend to generate way too many flaky Valgrind reports.
*FLAKY_*
*FAILS_*

# NaCl tests fail with Data Execution Prevention error http://crbug.com/104517
NaClGdbTest.Empty
PPAPINaClGLibcTest.*
PPAPINaClNewlibTest.*
PPAPINaClTest*

# http://crbug.com/109336
OutOfProcessPPAPITest.View_PageHideShow

# TODO(thestig) File bugs for these failing browser tests.
AllUrlsApiTest.WhitelistedExtension
AppBackgroundPageApiTest.NoJsManifestBackgroundPage
BrowserCloseTest.DownloadsCloseCheck_2
BrowserCloseTest.DownloadsCloseCheck_5
BrowserEncodingTest.SLOW_TestEncodingAliasMapping
BrowserNavigatorTest.Disposition_Bookmarks_DoNothingIfIncognitoIsForced
BrowserNavigatorTest.Disposition_Incognito
BrowserNavigatorTest.Disposition_SyncPromo_DoNothingIfIncognitoIsForced
BrowserTest.ForwardDisabledOnForward
ClickToPlayPluginTest.Basic
ClickToPlayPluginTest.LoadAllBlockedPlugins
ClickToPlayPluginTest.NoCallbackAtLoad
DevToolsExperimentalExtensionTest.TestDevToolsExperimentalExtensionAPI
DevToolsExtensionTest.TestDevToolsExtensionMessaging
DownloadExtensionTest.DownloadExtensionTest_FileIcon_Active
DownloadExtensionTest.DownloadExtensionTest_FileIcon_History
DownloadExtensionTest.DownloadExtensionTest_SearchPauseResumeCancelGetFileIconIncognito
DownloadExtensionTestIncognito.DownloadExtensionTest_SearchPauseResumeCancelGetFileIconIncognito
ErrorPageTest.DNSError_Basic
ErrorPageTest.DNSError_GoBack1
ExecuteScriptApiTest.ExecuteScriptPermissions
ExtensionApiTest.FontSettingsIncognito
ExtensionApiTest.PopupBlockingExtension
ExtensionApiTest.PopupBlockingHostedApp
FastShutdown.SlowTermination
IndexedDBLayoutTest.IndexTests
NetInternalsTest.netInternalsPrerenderViewFail
NewTabUIBrowserTest.LoadNTPInExistingProcess
OutOfProcessPPAPITest.NetAddressPrivate_GetAnyAddress
OutOfProcessPPAPITest.NetAddressPrivate_ReplacePort
PPAPITest.ImeInputEvent
PrerenderBrowserTest.*
PrerenderBrowserTestWithNaCl.PrerenderNaClPluginEnabled
PrintPreviewWebUITest.TestPrinterList
PrintPreviewWebUITest.TestPrinterListCloudEmpty
PrintPreviewWebUITest.TestSectionsDisabled
PrintWebViewHelperTest.BlockScriptInitiatedPrinting
SafeBrowsingInterstitialVersions/SafeBrowsingBlockingPageBrowserTest.MalwareDontProceed*
SafeBrowsingInterstitialVersions/SafeBrowsingBlockingPageBrowserTest.ProceedDisabled*
SocketApiTest.SocketTCPExtension
SocketApiTest.SocketUDPExtension
SSLUITest.TestWSSInvalidCertAndGoForward
WebViewTest.Shim
