# List of suppressions

# The UDP related tests currently do not work on Android because
# we lack a UDP forwarder tool.
NetworkStatsTestUDP.*

# Missing test resource of 16MB.
HistoryProfileTest.TypicalProfileVersion

# crbug.com/139408
SQLitePersistentCookieStoreTest.TestDontLoadOldSessionCookies
SQLitePersistentCookieStoreTest.PersistIsPersistent

# crbug.com/139433
AutofillTableTest.AutofillProfile*
AutofillTableTest.UpdateAutofillProfile

# crbug.com/139400
AutofillProfileTest.*
CreditCardTest.SetInfoExpirationMonth

# Tests crashing in the APK
# l10n_util.cc(655)] Check failed: std::string::npos != pos
DownloadItemModelTest.InterruptStatus
# l10n_util.cc(655)] Check failed: std::string::npos != pos
PageInfoTest.OnSiteDataAccessed

# crbug.com/139423
ValueStoreFrontendTest.GetExistingData

# crbug.com/139421
ChromeSelectFilePolicyTest.ExpectAsynchronousListenerCall

# http://crbug.com/139033
ChromeDownloadManagerDelegateTest.StartDownload_PromptAlways

# crbug.com/139411
AutocompleteProviderTest.*
HistoryContentsProviderBodyOnlyTest.*
HistoryContentsProviderTest.*
HQPOrderingTest.*
SearchProviderTest.*

ProtocolHandlerRegistryTest.TestOSRegistrationFailure

# crbug.com/139418
SQLiteServerBoundCertStoreTest.TestUpgradeV1
SQLiteServerBoundCertStoreTest.TestUpgradeV2

ProfileSyncComponentsFactoryImplTest.*
PermissionsTest.GetWarningMessages_Plugins
ImageOperations.ResizeShouldAverageColors

# crbug.com/139643
VariationsUtilTest.DisableAfterInitialization
VariationsUtilTest.AssociateGoogleVariationID
VariationsUtilTest.NoAssociation

# crbug.com/141473
AutofillManagerTest.UpdatePasswordSyncState
AutofillManagerTest.UpdatePasswordGenerationState

# crbug.com/145843
EntropyProviderTest.UseOneTimeRandomizationSHA1
EntropyProviderTest.UseOneTimeRandomizationPermuted

# crbug.com/147500
ManifestTest.RestrictedKeys

# crbug.com/256259
DiagnosticsModelTest.RunAll

# Death tests are not supported with apks.
*DeathTest*
