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

[ $compiler == precompiler ]
io/web_socket_test: Pass, RuntimeError # Issue 24674
map_insert_remove_oom_test: Skip # Heap limit too low. Increasing iteration count to make a higher limit a meaningful test makes it too slow for simarm[64] bots.

[ $runtime == dart_precompiled ]
http_launch_test: Skip
io/addlatexhash_test: Skip
io/dart_std_io_pipe_test: Skip
io/directory_list_sync_test: Timeout, Skip # Expects to find the test directory relative to the script.
io/file_blocking_lock_test: Skip
io/file_lock_test: Skip
io/file_read_special_device_test: Skip
io/http_client_stays_alive_test: Skip
io/http_response_deadline_test: Skip
io/http_server_close_response_after_error_test: Skip
io/https_unauthorized_test: Skip
io/named_pipe_script_test: Skip
io/namespace_test: Skip # Issue 33168
io/platform_resolved_executable_test: Skip
io/platform_test: RuntimeError # Expects to be running from 'dart' instead of 'dart_precompiled_runtime'
io/print_sync_test: Skip
io/process_check_arguments_test: Skip
io/process_detached_test: Skip
io/process_environment_test: Skip
io/process_inherit_stdio_test: Skip
io/process_non_ascii_test: Skip
io/process_run_output_test: Skip
io/process_set_exit_code_test: Skip
io/process_shell_test: Skip
io/process_stderr_test: Skip
io/process_stdin_transform_unsubscribe_test: Skip
io/process_stdout_test: Skip
io/process_sync_test: Skip
io/raw_datagram_socket_test: Skip
io/regress_7191_test: Skip
io/regress_7679_test: Skip
io/secure_unauthorized_test: Skip
io/signals_test: Skip
io/skipping_dart2js_compilations_test: RuntimeError # Issue 30008
io/stdin_sync_test: Skip
io/stdio_implicit_close_test: Skip
io/stdio_nonblocking_test: Skip
io/test_extension_fail_test: Skip
io/test_extension_test: Skip
io/windows_environment_test: Skip

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

[ $mode == product && $runtime == dart_precompiled ]
dwarf_stack_trace_test: Pass, RuntimeError # Results will flake due to identical code folding

[ $runtime == dart_precompiled && $checked ]
io/namespace_test: RuntimeError
io/test_runner_test: RuntimeError

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

[ $compiler == app_jit || $compiler == precompiler ]
io/compile_all_test: Skip # Incompatible flag --compile_all

[ $compiler == app_jit || $runtime == dart_precompiled ]
package/scenarios/empty_packages_file/empty_packages_file_noimports_test: Skip
package/scenarios/invalid/invalid_utf8_test: Skip
package/scenarios/invalid/non_existent_packages_file_test: Skip
package/scenarios/invalid/same_package_twice_test: Skip
package/scenarios/packages_file_strange_formatting/empty_lines_test: Skip
package/scenarios/packages_file_strange_formatting/mixed_line_ends_test: Skip
package/scenarios/packages_option_only/packages_option_only_noimports_test: Skip
package/scenarios/packages_option_only/packages_option_only_test: Skip

[ $mode == product || $runtime == dart_precompiled ]
io/code_collection_test: Skip # Incompatible flags
no_assert_test: SkipByDesign # Requires checked mode.
