# Very slow under Valgrind.
KeygenHandlerTest.*SmokeTest
KeygenHandlerTest.*ConcurrencyTest

# Hangs, see http://crbug.com/61908
DirectoryListerTest.BigDirRecursiveTest

# http://crbug.com/88228
SSLClientSocketTest.Connect
SSLClientSocketTest.ConnectClientAuthSendNullCert

# Fails flakily. http://crbug.com/255775
SimpleIndexFileTest.WriteThenLoadIndex

# Flaky. http://crbug.com/237450
DiskCacheBackendTest.SimpleCacheAppCacheOnlyDoomAll
DiskCacheBackendTest.SimpleCacheDoomAll
