# NOTE: if adding an exclusion for an existing failure (e.g. additional test for
# feature X that is already not working), please add it beside the existing
# failures. Otherwise please reach out to network-service-dev@.

# This filter contains Chrome OS only test failures (in addition to
# cross-platform failures in mojo.fyi.network_browser_tests.filter).
# See https://crbug.com/881976

# Need to convert MergeSessionResourceThrottle to a URLLoaderThrottle.
-MergeSessionTest.XHRThrottle

# The test went into the 'Local Auth Server' screen instead of the Kiosk screen.
# https://crbug.com/892357
-KioskUpdateTest.LaunchCachedOfflineEnabledAppNoNetwork

# Flaky with error: `Check failed: (sequence_checker_).CalledOnValidSequence()`.
-DevToolsSanityTest.DisposeEmptyBrowserContext

# Flaky with error: `picture_in_picture_window_controller_impl.cc(167)] Check failed: media_player_id_.has_value()`.
-PictureInPictureWindowControllerBrowserTest.TabIconUpdated

# https://crbug.com/914406
-ChromeOsMirrorAccountConsistencyTest.TestMirrorRequestChromeOsNotChildAccount
-ChromeOsMirrorAccountConsistencyTest.TestMirrorRequestChromeOsChildAccount

# NOTE: if adding an exclusion for an existing failure (e.g. additional test for
# feature X that is already not working), please add it beside the existing
# failures. Otherwise please reach out to network-service-dev@.
