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

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

[ $arch == ia32 ]
ffi/function_structs_test: Skip # Struct alignment rules are broken on 32-bit. # Issue 35768

[ $builder_tag == asan ]
ffi/data_not_asan_test: Skip # this test tries to allocate too much memory on purpose
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 ]
ffi/dynamic_library_test: Skip # https://github.com/dart-lang/sdk/issues/35934
ffi/function_callbacks_test: Skip # https://github.com/dart-lang/sdk/issues/35934
ffi/function_structs_test: Skip # https://github.com/dart-lang/sdk/issues/35934
ffi/function_test: Skip # https://github.com/dart-lang/sdk/issues/35934
ffi/negative_function_test: Skip # https://github.com/dart-lang/sdk/issues/35934
io/file_error_test: RuntimeError
io/file_test: RuntimeError
io/http_auth_digest_test: RuntimeError
io/http_auth_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

[ $compiler == dartkb ]
io/platform_resolved_executable_test/03: RuntimeError
io/platform_resolved_executable_test/04: RuntimeError

[ $compiler == dartkp ]
io/arguments_test: Fail # Test harness passes runtime arguments to the compiler
io/test_runner_test: SkipByDesign # Is not relevant for AOT.

[ $runtime == dart_precompiled ]
ffi: Skip # https://github.com/dart-lang/sdk/issues/35765

[ $system == android ]
entrypoints_verification_test: Skip # Requires shared objects which the test script doesn't "adb push".

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

# 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/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 ]
io/compile_all_test: Skip # We do not support --compile-all for precompilation
io/file_fuzz_test: RuntimeError, Pass
io/http_client_connect_test: Skip # Flaky.
io/http_close_test: Crash
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 && $system == android ]
io/http_close_test: Timeout # Issue 28380

[ $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 != dart_precompiled && $runtime != vm ]
ffi: SkipByDesign # ffi is only supported on vm

[ $runtime == vm && $strong && ($compiler == dartk || $compiler == dartkb) ]
io/http_client_request_test: Pass, Timeout
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, Timeout # Issue 28046
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/web_socket_compression_test: Skip # Timeout
io/web_socket_test: Skip # Timeout

[ $compiler != dartk || $mode == product || $arch != ia32 && $arch != x64 || $system != linux && $system != macos && $system != windows ]
ffi/function_stress_test: SkipByDesign # FFI must be supported. Also requires --verbose-gc, which isn't included in product.
ffi/subtype_test: SkipByDesign # FFI must be supported. Also requires --verbose-gc, which isn't included in product.

[ $arch != ia32 && $arch != x64 || $system != linux && $system != macos && $system != windows ]
ffi: Skip # ffi not yet supported on other systems than linux/macos/windows x64/ia32

[ $compiler != dartk && $compiler != dartkb && $compiler != dartkp || $compiler == dartkp && $system == windows ]
entrypoints_verification_test: SkipByDesign # Requires VM to run. Cannot run in precompiled Windows because the DLL is linked against dart.exe instead of dart_precompiled_runtime.exe.
