# 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.
# Sections in this file should contain "$compiler == dartk" or
# "$compiler == dartkp".
#
# Note: Sections in this file are normalized so we can update them with
# automated tools. Please add any new status lines affecting those two compilers
# in the existing sections, if possible keep the alphabetic ordering. If we are
# missing a section you need, please reach out to sigmund@ to see the best way
# to add them.

io/process_sync_test: Pass, Slow # Spawns synchronously subprocesses in sequence.

[ $builder_tag == asan ]
io/file_test: Fail # Issue 34724
io/http_server_response_test: Fail # Issue 34724
io/process_sync_test: Pass, Fail # https://github.com/dart-lang/sdk/issues/34724
io/signals_test: Fail # Issue 34724
io/test_extension_fail_test: Fail # Issue 32187

[ $compiler == app_jitk ]
io/file_error_test: RuntimeError
io/file_test: RuntimeError
io/http_auth_digest_test: RuntimeError
io/http_auth_test: RuntimeError
io/http_compression_test: RuntimeError
io/http_cookie_date_test: CompileTimeError
io/http_headers_test: CompileTimeError
io/http_parser_test: CompileTimeError
io/http_redirect_test: RuntimeError
io/http_reuse_server_port_test: RuntimeError
io/http_server_response_test: RuntimeError
io/platform_test: RuntimeError
io/regress_10026_test: RuntimeError
io/secure_socket_argument_test: CompileTimeError
io/test_extension_fail_test: RuntimeError
io/test_extension_test: RuntimeError
io/web_socket_pipe_test: RuntimeError
io/web_socket_protocol_processor_test: CompileTimeError
io/zlib_test: RuntimeError
oom_error_stacktrace_test: RuntimeError
out_of_memory_test: RuntimeError

[ $fasta ]
deferred_transitive_import_error_test: CompileTimeError
package/package1_test: CompileTimeError
package/package_test: CompileTimeError
package/scenarios/invalid/invalid_utf8_test: CompileTimeError
package/scenarios/invalid/non_existent_packages_file_test: CompileTimeError
package/scenarios/invalid/same_package_twice_test: CompileTimeError

[ $arch == ia32 && $builder_tag == optimization_counter_threshold ]
io/file_lock_test: SkipSlow # Timeout

[ $arch == ia32 && $compiler == dartk && $strong ]
io/dart_std_io_pipe_test: Timeout, Pass # Issue 34723

[ $arch == simarm64 && $strong && ($compiler == dartk || $compiler == dartkb) ]
io/http_bind_test: Pass, Slow

[ $arch == x64 && $builder_tag == asan && $compiler == dartk ]
io/file_test: Fail # Memory leak (issue 34724)
io/http_server_response_test: Fail # Memory leak (issue 34724)
io/signals_test: Pass, RuntimeError # Issue 34734
io/test_extension_fail_test: Fail # Memory leak (issue 34724)

[ $builder_tag == optimization_counter_threshold && ($compiler == dartk || $compiler == dartkb) ]
map_insert_remove_oom_test: Skip # Heap limit too low.

[ $compiler == app_jitk && ($mode == debug || $mode == release) ]
dart_developer_disabled_env_test: RuntimeError

# The failures below still need to be investigated and possibly fixed, or marked as skipped.
[ $compiler == dartkb && $strong ]
io/code_collection_test: RuntimeError # Reruns the same script (dill file without AST) without passing --enable-interpreter or --use-bytecode-compiler.
io/dart_std_io_pipe_test: Pass, Timeout # Please triage
io/platform_resolved_executable_test/00: RuntimeError # Reruns the same script (dill file without AST) without passing --enable-interpreter or --use-bytecode-compiler.
io/platform_resolved_executable_test/01: RuntimeError # Reruns the same script (dill file without AST) without passing --enable-interpreter or --use-bytecode-compiler.
io/platform_resolved_executable_test/02: RuntimeError # Reruns the same script (dill file without AST) without passing --enable-interpreter or --use-bytecode-compiler.
io/platform_resolved_executable_test/05: RuntimeError # Reruns the same script (dill file without AST) without passing --enable-interpreter or --use-bytecode-compiler.
io/platform_test: RuntimeError # Platform.script points to dill file.
io/test_extension_fail_test: RuntimeError # Platform.script points to dill file.
io/test_extension_test: RuntimeError # Platform.script points to dill file.
no_lazy_dispatchers_test: SkipByDesign # KBC interpreter doesn't support --no_lazy_dispatchers

[ $compiler == dartkp && $mode == debug && $runtime == dart_precompiled && $strong ]
io/compile_all_test: Crash # Issue 32373
io/raw_socket_test: Crash
io/skipping_dart2js_compilations_test: Crash
io/socket_exception_test: Pass, Crash
io/socket_finalizer_test: Pass, Crash
io/socket_info_ipv4_test: Pass, Crash
io/socket_info_ipv6_test: Pass, Crash
io/socket_port_test: Pass, Crash

[ $compiler == dartkp && $mode == product && $runtime == dart_precompiled && $strong ]
io/compile_all_test: Pass

# ===== dartkp + dart_precompiled status lines =====
[ $compiler == dartkp && $runtime == dart_precompiled && $system != windows && $strong ]
io/namespace_test: RuntimeError

[ $compiler == dartkp && $runtime == dart_precompiled && $strong ]
dwarf_stack_trace_test: RuntimeError
io/compile_all_test: RuntimeError # Issue 32338
io/file_fuzz_test: RuntimeError, Pass
io/http_client_connect_test: Skip # Flaky.
io/http_close_test: Crash
io/http_compression_test: RuntimeError
io/http_content_length_test: Skip # Flaky.
io/http_cookie_test: Skip # Flaky
io/http_proxy_advanced_test: Skip # Flaky
io/http_proxy_test: Skip # Flaky.
io/http_response_deadline_test: Skip # Flaky.
io/http_reuse_server_port_test: Skip # Flaky.
io/http_server_close_response_after_error_test: Skip # Flaky.
io/http_shutdown_test: Skip # Flaky.
io/https_client_certificate_test: Crash
io/platform_test: Crash
io/raw_datagram_socket_test: Skip # Flaky.
io/raw_secure_server_closing_test: Skip # Flaky
io/raw_socket_test: Crash
io/secure_builtin_roots_test: Timeout, Pass # Times out on bots.
io/secure_multiple_client_server_test: Skip # Flaky.
io/secure_server_closing_test: Skip # Flaky.
io/secure_server_socket_test: Skip # Flaky.
io/secure_socket_renegotiate_test: Crash
io/socket_many_connections_test: Skip # Flaky
io/web_socket_error_test: Skip # Flaky
io/web_socket_ping_test: Skip # Flaky.
io/web_socket_test: Skip # Flaky.
map_insert_remove_oom_test: Skip # Heap limit too low.
no_support_debugger_test: Skip # kernel-service snapshot not compatible with flag disabled
regress_29350_test: MissingCompileTimeError
regress_29350_test/none: Pass # Issue 31537

[ $compiler == dartkp && !$strong ]
*: SkipByDesign

[ $compiler == fasta && $strong ]
io/http_cookie_date_test: CompileTimeError
io/http_headers_test: CompileTimeError
io/http_parser_test: CompileTimeError
io/secure_socket_argument_test: CompileTimeError
io/web_socket_protocol_processor_test: CompileTimeError

[ $mode == debug && $runtime == vm && $strong && ($compiler == dartk || $compiler == dartkb) ]
io/file_lock_test: Slow, Pass
io/raw_socket_test: Crash
io/socket_exception_test: Pass, Crash
io/socket_finalizer_test: Pass, Crash
io/socket_info_ipv4_test: Pass, Crash
io/socket_info_ipv6_test: Pass, Crash
io/socket_port_test: Pass, Crash

[ $mode == debug && $hot_reload && ($compiler == dartk || $compiler == dartkb) ]
io/web_socket_ping_test: Crash, Pass

[ $runtime == vm && $strong && ($compiler == dartk || $compiler == dartkb) ]
io/http_client_request_test: Pass, Timeout
io/http_compression_test: RuntimeError
io/platform_resolved_executable_test/03: Pass, RuntimeError
io/platform_resolved_executable_test/04: Pass, RuntimeError
io/secure_builtin_roots_test: Pass, Timeout
io/socket_finalizer_test: Pass, Timeout
no_support_debugger_test: Skip # kernel-service snapshot not compatible with flag disabled
regress_29350_test: MissingCompileTimeError
regress_29350_test/none: Pass # Issue 31537

[ $system == windows && $strong && ($compiler == dartk || $compiler == dartkb) ]
io/compile_all_test: Pass, Fail # Possibly related to issue 32373
map_insert_remove_oom_test: Skip # Heap limit too low.

[ $system == windows && ($compiler == dartk || $compiler == dartkb) ]
io/dart_std_io_pipe_test: Pass, Slow
io/secure_builtin_roots_test: Skip # Issues 32137 and 32138.
io/test_extension_fail_test: RuntimeError, Pass # Issue 32137.
io/test_extension_test: RuntimeError, Pass # Issue 32137.
io/wait_for_event_isolate_test: Skip # Issues 32137 and 32138.

[ $fasta && $strong ]
package/package_isolate_test: CompileTimeError

[ $fasta && !$strong ]
regress_29350_test/none: MissingCompileTimeError

[ $hot_reload && ($compiler == dartk || $compiler == dartkb) ]
io/http_no_reason_phrase_test: Pass, Crash
io/http_outgoing_size_test: Pass, Crash

[ $hot_reload_rollback && ($compiler == dartk || $compiler == dartkb) ]
io/directory_chdir_test: Skip # Timeout
io/echo_server_stream_test: Pass, Slow

# Enabling of dartk for sim{arm,arm64,dbc64} revealed these test failures, which
# are to be triaged.  Isolate tests are skipped on purpose due to the usage of
# batch mode.
[ $strong && ($arch == simarm || $arch == simarm64 || $arch == simdbc64) && ($compiler == dartk || $compiler == dartkb) ]
fragmentation_test: Timeout, Pass
io/dart_std_io_pipe_test: Timeout, Pass
io/directory_list_sync_test: Timeout, Pass # Please triage.
io/file_blocking_lock_test: Pass, Crash # Please triage.
io/file_lock_test: Slow, Pass
io/platform_test: RuntimeError # Platform.script points to dill file.
io/process_sync_test: Timeout, Pass
io/test_extension_fail_test: RuntimeError # Platform.script points to dill file.
io/test_extension_test: RuntimeError # Platform.script points to dill file.
map_insert_remove_oom_test: Skip # Heap limit too low.

# ===== Skip dartk and darkp in !$strong mode ====
[ !$strong && ($compiler == dartk || $compiler == dartkb) ]
*: SkipByDesign

[ !$strong && ($compiler == dartk || $compiler == dartkb || $compiler == dartkp || $runtime == dart_precompiled || $runtime == vm) ]
*: SkipByDesign # standalone_2 is only supported in strong mode.

[ ($compiler == dartk || $compiler == dartkb) && ($hot_reload || $hot_reload_rollback) ]
io/addlatexhash_test: Skip # Timeout
io/http_advanced_test: Skip # Timeout
io/http_auth_digest_test: Crash
io/http_auth_test: Skip # Timeout
io/http_basic_test: Pass, Crash # Sporadic crash, issue 33824
io/http_proxy_advanced_test: Skip # Timeout
io/http_read_test: Skip # Timeout
io/non_utf8_directory_test: Pass, Timeout
io/non_utf8_file_test: Pass, Timeout
io/non_utf8_link_test: Pass, Timeout
io/pipe_server_test: Skip # Timeout
io/socket_close_test: Skip # Timeout
io/socket_many_connections_test: Skip # Timeout
io/test_extension_fail_test: RuntimeError
io/test_extension_test: RuntimeError
io/web_socket_compression_test: Skip # Timeout
io/web_socket_test: Skip # Timeout
