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

[ $builder_tag == obfuscated ]
dwarf_stack_trace_test: Pass, RuntimeError # Issue 35563

[ $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

[ $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 ]
no_assert_test: SkipByDesign # Requires checked mode.
