# 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.

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

[ $system == android ]
io/file_stat_test: Skip # Issue 26376
io/file_system_watcher_test: Skip # Issue 26376
io/file_test: Skip # Issue 26376
io/http_proxy_advanced_test: Skip # Issue 27638
io/http_proxy_test: Skip # Issue 27638
io/https_bad_certificate_test: Skip # Issue 27638
io/https_server_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
io/process_exit_test: Skip # Issue 29578
io/process_path_environment_test: Skip # Issue 26376
io/process_path_test: Skip # Issue 26376
io/process_segfault_test: Skip # Issue 26376
io/raw_datagram_socket_test: Skip # Issue 27638
io/raw_secure_server_closing_test: Skip # Issue 27638
io/raw_secure_server_socket_test: Skip # Issue 27638
io/raw_secure_socket_pause_test: Skip # Issue 27638
io/raw_secure_socket_test: Skip # Issue 27638
io/regress_21160_test: Skip # Issue 27638
io/resolve_symbolic_links_test: Skip # Issue 26376
io/secure_bad_certificate_test: Skip # Issue 27638
io/secure_client_raw_server_test: Skip # Issue 27638
io/secure_client_server_test: Skip # Issue 27638
io/secure_multiple_client_server_test: Skip # Issue 27638
io/secure_server_client_certificate_test: Skip # Issue 27638
io/secure_server_closing_test: Skip # Issue 27638
io/secure_server_socket_test: Skip # Issue 27638
io/secure_session_resume_test: Skip # Issue 27638
io/secure_socket_alpn_test: Skip # Issue 27638
io/secure_socket_test: Skip # Issue 27638
io/socket_upgrade_to_secure_test: Skip # Issue 27638

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

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

[ $arch == x64 && $compiler == dartkb && $runtime == vm && $system == linux ]
io/stdout_stderr_non_blocking_test: Pass, Timeout # Issue 35192

[ $arch == x64 && $mode == release && $runtime == vm && $system == linux ]
io/http_bind_test: Pass, Timeout # Issue 35192

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

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

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

[ $runtime == dart_precompiled && $system == linux && ($arch == simarm || $arch == simarm64 || $arch == x64) ]
io/stdout_stderr_non_blocking_test: Pass, Timeout # Issue 35192

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

[ $runtime == vm && ($arch == simarm || $arch == simarm64) ]
io/dart_std_io_pipe_test: Timeout, Pass
io/http_client_stays_alive_test: Skip # Spawns process in Dart2 mode.
io/process_sync_test: Timeout, Pass
