# Copyright (c) 2017, the Dart project authors.  Please see the AUTHORS file
# for details. All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE file.

[ $runtime == vm && !$checked ]
io/file_constructor_test: RuntimeError

[ $runtime == vm && ($arch == arm || $arch == arm64) ]
io/file_stream_test: Skip # Issue 26109
io/file_typed_data_test: Skip # Issue 26109
io/file_input_stream_test: Skip # Issue 26109

[ $runtime == vm && $system == windows && $mode == release ]
io/http_server_close_response_after_error_test: Pass, Timeout # Issue 28370: timeout.
io/regress_7191_test: Pass, Timeout # Issue 28374: timeout.

[ $runtime == vm && $system == macos && $mode == release ]
io/named_pipe_script_test: Pass, RuntimeError # Issue 28737

[ $runtime == vm && $system == linux && $mode == release && $arch == ia32 && $builder_tag == asan ]
io/socket_close_test: Pass, Timeout # Issue 28502: timeout.

[ $arch == ia32 ]
no_allow_absolute_addresses_test: SkipByDesign # Not supported.
link_natives_lazily_test: SkipByDesign # Not supported.

[ $arch == simdbc || $arch == simdbc64 ]
full_coverage_test: Skip # TODO(vegorov) SIMDBC interpreter doesn't support coverage yet.

link_natives_lazily_test: SkipByDesign # SIMDBC interpreter doesn't support lazy linking of natives.

no_lazy_dispatchers_test: SkipByDesign # SIMDBC interpreter doesn't support --no_lazy_dispatchers

[ $arch == simdbc64 && $mode == debug && $checked ]
io/web_socket_test: Pass, RuntimeError # Issue 26814.

[ $system == windows ]
verbose_gc_to_bmu_test: Skip
io/process_sync_test: Pass, Timeout # Issue 24596
io/sleep_test: Pass, Fail # Issue 25757
io/socket_info_ipv6_test : Skip

[ $system == windows && $compiler != dart2analyzer ]
io/platform_resolved_executable_test/06: RuntimeError  # Issue 23641

[ $system == android ]
io/process_exit_test: Skip # Issue 29578
io/process_path_test: Skip # Issue 26376
io/process_segfault_test: Skip # Issue 26376
io/file_test: Skip # Issue 26376
io/process_path_environment_test: Skip # Issue 26376
io/file_system_watcher_test: Skip # Issue 26376
io/resolve_symbolic_links_test: Skip # Issue 26376
io/file_stat_test: Skip # Issue 26376
io/raw_datagram_socket_test: Skip # Issue 27638
io/http_proxy_advanced_test: Skip # Issue 27638
io/regress_21160_test: Skip # Issue 27638
io/secure_multiple_client_server_test: Skip # Issue 27638
io/http_proxy_test: Skip # Issue 27638
io/secure_session_resume_test: Skip # Issue 27638
io/raw_secure_server_socket_test: Skip # Issue 27638
io/raw_secure_server_closing_test: Skip # Issue 27638
io/raw_secure_socket_pause_test: Skip # Issue 27638
io/https_server_test: Skip # Issue 27638
io/secure_server_client_certificate_test: Skip # Issue 27638
io/secure_socket_alpn_test: Skip # Issue 27638
io/secure_bad_certificate_test: Skip # Issue 27638
io/secure_server_socket_test: Skip # Issue 27638
io/secure_client_server_test: Skip # Issue 27638
io/socket_upgrade_to_secure_test: Skip # Issue 27638
io/secure_client_raw_server_test: Skip # Issue 27638
io/secure_socket_test: Skip # Issue 27638
io/raw_secure_socket_test: Skip # Issue 27638
io/https_bad_certificate_test: Skip # Issue 27638
io/secure_server_closing_test: Skip # Issue 27638
io/non_utf8_output_test: Skip # The Android command runner doesn't correctly handle non-UTF8 formatted output. https://github.com/dart-lang/sdk/issues/28872

[ $system == android && $runtime == dart_precompiled && $mode == release && $arch == arm]
io/stdout_stderr_non_blocking_test: Pass, Timeout # Issue 28426
