# Copyright (c) 2013, 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.
# WARNING:
# Tests using the multitest feature where failure is expected should *also* be
# listed in tests/lib/analyzer/analyze_tests.status without the "standalone"
# prefix.

# Obsolete behavior. We want to test that it fails.
# TODO(mfairhurst) delete this test.
isolate/scenarios/package_relative_root/package_relative_root_test: Fail

[ $builder_tag == no_ipv6 ]
io/raw_datagram_socket_test: SkipByDesign

[ $compiler == dart2analyzer ]
*: Skip

# Overriding these flags are not supported in product mode.
[ $mode == product ]
verbose_gc_to_bmu_test: SkipByDesign # No verbose_gc in product mode

[ $runtime == dart_precompiled ]
verbose_gc_to_bmu_test: Skip # These tests attempt to spawn another script using the precompiled runtime.

[ $runtime == vm ]
verbose_gc_to_bmu_test: Skip # spawns a process which runs in Dart2 mode.

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

[ $builder_tag == swarming && $system == macos ]
io/*: Skip # Issue 30618

[ $compiler == fasta && $strong ]
io/directory_invalid_arguments_test: CompileTimeError
io/io_override_test: CompileTimeError
io/process_invalid_arguments_test: CompileTimeError
io/raw_secure_server_socket_argument_test: CompileTimeError
io/raw_secure_server_socket_test: CompileTimeError
io/secure_socket_bad_data_test: CompileTimeError
io/security_context_argument_test: CompileTimeError
io/stdout_bad_argument_test: CompileTimeError
no_assert_test: CompileTimeError
priority_queue_stress_test: CompileTimeError
verbose_gc_to_bmu_test: CompileTimeError

[ $compiler != fasta && $compiler != none && $runtime != dart_precompiled && $runtime != vm ]
no_assert_test: Fail, OK # This is testing a vm flag.

[ $compiler == none && $runtime == vm && $system == fuchsia ]
*: Skip # Not yet triaged.

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

[ $runtime == dart_precompiled && $system == android ]
io/https_bad_certificate_test: RuntimeError # Issue 31310
io/raw_datagram_socket_test: RuntimeError # Issue 31310
io/raw_secure_server_socket_test: RuntimeError # Issue 31310

[ $system == macos && ($runtime == dart_precompiled || $runtime == vm) ]
io/raw_secure_server_socket_test: Pass, Crash # Issue 29524

[ $checked && ($runtime == dart_precompiled || $runtime == flutter || $runtime == vm) ]
io/directory_fuzz_test: Skip # These test have type errors on purpose and take very long to run in checked mode with no benefit. Skip.
io/directory_invalid_arguments_test: Fail, OK # These tests have type errors on purpose.
io/file_fuzz_test: Skip # These test have type errors on purpose and take very long to run in checked mode with no benefit. Skip.
io/internet_address_invalid_arguments_test: Fail, OK # These tests have type errors on purpose.
io/process_invalid_arguments_test: Fail, OK # These tests have type errors on purpose.
io/socket_invalid_arguments_test: Fail, OK # These tests have type errors on purpose.
io/stdout_bad_argument_test: Fail, OK # These tests have type errors on purpose.

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

# We skip all the Dart 1.0 tests in dartk and dartkp mode as these
# modes are intended only for Dart 2.0 with strong mode enabled.
[ $compiler == app_jitk || $compiler == dartk || $compiler == dartkp ]
*: SkipByDesign

[ $compiler == dart2js || $compiler == dartdevc ]
*: SkipByDesign

[ $compiler != none || $runtime != vm ]
script_snapshot_depfile_test: SkipByDesign # Only makes sense running from source.
script_snapshot_not_executed_test: SkipByDesign # Only makes sense running from source.

[ $mode == product || $runtime == dart_precompiled ]
no_assert_test: SkipByDesign # Requires checked mode.

[ $runtime == dart_precompiled || $runtime == flutter || $runtime == vm ]
io/secure_socket_bad_data_test: RuntimeError # An error in a secure connection just puts a READ_CLOSED on the stream, rather than signaling an error on the stream.

[ $hot_reload || $hot_reload_rollback ]
script_snapshot_depfile_test: RuntimeError, OK # Child VM doesn't execute Dart.
script_snapshot_not_executed_test: RuntimeError, OK # Child VM doesn't execute Dart.
