# List of suppressions.

PythonUtils.PythonRunTime
VerifyEndEntity/CertVerifyProcWeakDigestTest.Verify/0
VerifyEndEntity/CertVerifyProcWeakDigestTest.Verify/1
VerifyEndEntity/CertVerifyProcWeakDigestTest.Verify/2
VerifyIncompleteEndEntity/CertVerifyProcWeakDigestTest.Verify/0
VerifyIncompleteEndEntity/CertVerifyProcWeakDigestTest.Verify/1
VerifyIncompleteEndEntity/CertVerifyProcWeakDigestTest.Verify/2
VerifyIncompleteIntermediate/CertVerifyProcWeakDigestTest.Verify/0
VerifyIncompleteIntermediate/CertVerifyProcWeakDigestTest.Verify/1
VerifyIncompleteIntermediate/CertVerifyProcWeakDigestTest.Verify/2
VerifyIntermediate/CertVerifyProcWeakDigestTest.Verify/0
VerifyIntermediate/CertVerifyProcWeakDigestTest.Verify/1
VerifyIntermediate/CertVerifyProcWeakDigestTest.Verify/2
VerifyMixed/CertVerifyProcWeakDigestTest.Verify/0
VerifyMixed/CertVerifyProcWeakDigestTest.Verify/1
VerifyMixed/CertVerifyProcWeakDigestTest.Verify/2
VerifyRoot/CertVerifyProcWeakDigestTest.Verify/0
VerifyRoot/CertVerifyProcWeakDigestTest.Verify/1
VerifyRoot/CertVerifyProcWeakDigestTest.Verify/2

# Can't spin up more than one SpawnedTestServer on Android.
URLRequestTestReferrerPolicy.HTTPToCrossOriginHTTP
URLRequestTestReferrerPolicy.HTTPSToCrossOriginHTTPS
URLRequestTestReferrerPolicy.HTTPToHTTPS
URLRequestTestReferrerPolicy.HTTPSToHTTP

# Fail only on bots.
HttpCache.RangeGET_Cancel
HttpCache.RangeGET_Cancel2
HttpCache.RangeGET_OK
HttpCache.RangeGET_Previous200
HttpCache.RangeGET_Revalidate2
HttpCache.RangeGET_SyncOK
HttpCache.TypicalGET_ConditionalRequest
# Death tests are not supported with apks.
*DeathTest*
# These are death tests and thus also disabled.
PrioritizedDispatcherTest.CancelNull
PrioritizedDispatcherTest.CancelMissing
