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

package/invalid_uri_test: Fail, OK # CompileTimeErrors intentionally
package/scenarios/packages_file_strange_formatting/empty_package_dir_test: Fail, OK # CompileTimeErrors intentionally
package/scenarios/empty_packages_file/empty_packages_file_discovery_test: Fail, OK # CompileTimeErrors intentionally
package/scenarios/empty_packages_file/empty_packages_file_option_test: Fail, OK # CompileTimeErrors intentionally
package/scenarios/invalid/invalid_package_name_test: RuntimeError, CompileTimeError # Errors intentionally
package/scenarios/invalid/same_package_twice_test.dart: RuntimeError, CompileTimeError # Errors intentionally
full_coverage_test: Pass, Slow, Timeout
verified_mem_test: Pass, Slow, Timeout # Does verify before and after GC.

issue14236_test: Pass # Do not remove this line. It serves as a marker for Issue 14516 comment #4.

[ ($runtime != vm && $runtime != dart_precompiled && $runtime != dart_product) && ($runtime != drt || $compiler != none)) ]
no_assert_test: Fail, OK # This is testing a vm flag.

[ ($runtime == vm || $runtime == dart_precompiled || $runtime == dart_product) ]
package/package_isolate_test: Fail # Issue 12474
io/observatory_test: Fail
package/scenarios/invalid/same_package_twice_test: Pass # Issue 24119

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

[ ($runtime == vm || $runtime == dart_precompiled || $runtime == dart_product) && $system == macos ]
# This test fails with "Too many open files" on the Mac OS buildbot.
# This is expected as MacOS by default runs with a very low number
# of allowed open files ('ulimit -n' says something like 256).
io/socket_many_connections_test: Skip
# Re-enable once the bots have been updated. Issue #26057
io/secure_server_client_certificate_test: Skip

[ $runtime == vm && $system == linux ]
# These tests have started timing out and issue 25649 has been filed to
# investigate, skipping these tests temporarily to get the bots to be
# green again.
io/http_proxy_test: Skip
io/secure_builtin_roots_test: Skip


[ $compiler == none && ($runtime == drt || $runtime == dartium) ]
typed_array_test: RuntimeError, OK  # Uses Isolate.spawn
typed_array_int64_uint64_test: RuntimeError, OK  # Uses Isolate.spawn
typed_data_isolate_test: SkipByDesign # This test uses dart:io
io/*: SkipByDesign # Don't run tests using dart:io in the browser
package/*: Skip # Do not run those in Dartium.
full_coverage_test: Skip
http_launch_test: Skip
vmservice/*: SkipByDesign # Do not run standalone vm service tests in browser.
issue14236_test: Skip # Issue 14236 Script snapshots do not work in the browser.
oom_error_stacktrace_test: Skip
out_of_memory_test: Skip
map_insert_remove_oom_test: Skip  # Issue 24571
verbose_gc_to_bmu_test: Skip
regress_26031_test: SkipByDesign # Standalone only test

[ $compiler == dartanalyzer || $compiler == dart2analyzer ]
issue14236_test: Skip # Analyzer can't handle Script snapshots.

# test issue https://code.google.com/p/dart/issues/detail?id=11518
io/file_constructor_test: fail

# This is runtime test.
io/process_exit_negative_test: Skip

[ $compiler == dart2js ]
number_identity_test: Skip # Bigints and int/double diff. not supported.
typed_data_test: Skip # dart:typed_data support needed.
bytedata_test: Skip # dart:typed_data support needed.
typed_data_view_test: Skip # dart:typed_data support needed.
typed_data_isolate_test: Skip # dart:typed_data support needed.
typed_array_int64_uint64_test: Skip # dart:typed_data on dart2js does not support 64-bit ints.
float_array_test: Skip # dart:typed_data support needed.
int_array_test: Skip  # dart:typed_data support needed.
io/web_socket_protocol_processor_test: Skip  # Importing code with external keyword
int_array_load_elimination_test: Skip  # This is a VM test
medium_integer_test: RuntimeError, OK # Test fails with JS number semantics: issue 1533.
io/process_exit_negative_test: Fail, OK # relies on a static error that is a warning now.
package/package_isolate_test: Skip # spawnUri does not work in dart2js. See issue 3051
package/package_test: Fail, OK # dart2js does not support 'package:foo.dart' imports
package/package1_test: Fail, OK # dart2js does not support 'package:foo.dart' imports
package/scenarios/invalid/*: CompileTimeError  # Negative tests expecting CompileTimeErrors.
full_coverage_test: Skip
left_shift_bit_and_op_test: Skip # Integers exceed dart2js precision.
pow_test: Skip # Precision > 53 bits.
double_smi_comparison_test: Skip # Precision > 53 bits.
http_launch_test: Skip
oom_error_stacktrace_test: RuntimeError, OK # (OOM on JS may produce a stacktrace).
vmservice/*: Skip # Do not run standalone vm service tests with dart2js.
issue14236_test: Skip # dart2js does not deal with Script snapshots.
unboxed_int_converter_test: Skip
pair_location_remapping_test: Skip
regress_25335_test: Skip # Int64List not supported.

[ $compiler == dart2js && $cps_ir && $checked ]
*: Skip # `assert` not implemented

[ ($runtime == vm || $runtime == dart_product) && ($arch == arm || $arch == arm64) ]
io/file_stream_test: Skip # Issue 26109
io/file_typed_data_test: Skip # Issue 26109

[ $compiler == dart2js && $jscl ]
assert_test: RuntimeError, OK # Assumes unspecified fields on the AssertionError.
deoptimization_test: RuntimeError, OK # Requires bigint.
out_of_memory_test: RuntimeError, OK # d8 handles much larger arrays than Dart VM.
io/arguments_test: CompileTimeError, OK # Cannot pass arguments to d8.

[ $compiler == dart2js && $runtime == none ]
io/arguments_test: Fail # DartOptions not supported by dart2js, and issue 14200.
medium_integer_test: Pass # The test only fails at runtime, not at compilation.
oom_error_stacktrace_test: Pass # The test only fails at runtime.

[ $compiler == dart2js && $browser ]
*: Skip

[ $arch == simarm || $arch == simarmv6 || $arch == simarmv5te || $arch == simmips ]
out_of_memory_test: Skip # passes on Mac, crashes on Linux
oom_error_stacktrace_test: Skip # Fails on Linux

[ $arch == mips ]
io/file_stat_test: Fail # Issue 17440
io/process_sync_test: Skip # Starts 10 dart subprocesses, uses too much memory.
io/signals_test: Skip # Starts 10 dart subprocesses, uses too much memory
io/socket_source_address_test: Fail # Issue 22597

[ $arch == mips && $mode == debug ]
io/web_socket_test: SkipSlow # Times out. Issue 20352
io/test_runner_test: Skip # Flakily times out in a subtest. Issue 201351
full_coverage_test: SkipSlow # Times out. Issue 20352
io/http_client_stays_alive_test: Skip # Timing dependent test, MIPS machine too slow.

[ $compiler == none && $runtime == dartium && $unchecked ]
assert_test: Fail # Issue 14651.

[ $compiler == dartanalyzer || $compiler == dart2analyzer ]
io/directory_invalid_arguments_test: StaticWarning
io/process_invalid_arguments_test: StaticWarning
io/raw_secure_server_socket_argument_test: StaticWarning
io/secure_socket_argument_test: StaticWarning
io/stdout_bad_argument_test: StaticWarning
package/package1_test: StaticWarning
package/package_test: StaticWarning
package/scenarios/packages_dir_only/packages_dir_only_test: StaticWarning
package/scenarios/packages_file_only/packages_file_only_test: StaticWarning
package/scenarios/both_dir_and_file/prefers_packages_file_test: StaticWarning
package/scenarios/packages_file_in_parent/sub/packages_file_in_parent_test: StaticWarning
typed_data_test: StaticWarning
typed_data_view_test: StaticWarning

[ $compiler == dart2analyzer ]
package/package1_test: CompileTimeError
package/package_test: CompileTimeError
package/scenarios/packages_dir_only/packages_dir_only_test: CompileTimeError
package/scenarios/packages_file_only/packages_file_only_test: CompileTimeError
package/scenarios/both_dir_and_file/prefers_packages_file_test: CompileTimeError
package/scenarios/packages_file_in_parent/sub/packages_file_in_parent_test: CompileTimeError
package/scenarios/invalid/non_existent_packages_file_test: Crash, OK # Analyzer exits on invalid package config
package/scenarios/invalid/invalid_utf8_test: Crash, OK # Analyzer exits on invalid package config
package/scenarios/invalid/invalid_package_name_test: Crash, OK # Analyzer exits on invalid package config
package/scenarios/invalid/same_package_twice_test: Crash, OK # Analyzer exits on invalid package config

[ $system == windows ]
io/skipping_dart2js_compilations_test: Fail # Issue 19551.
verbose_gc_to_bmu_test: Skip
io/platform_resolved_executable_test/06: RuntimeError  # Issue 23641
io/process_sync_test: Pass, Timeout  # Issue 24596
io/sleep_test: Pass, Fail # Issue 25757

[ $arch != ia32 && $arch != x64 && $arch != simarm && $arch != simarmv5te && $mode == debug ]
verified_mem_test: Skip  # Not yet implemented.

[ ($runtime == vm || $runtime == dart_precompiled || $runtime == dart_product) && $mode == debug && $builder_tag == asan ]
full_coverage_test: Skip  # Timeout.
io/file_lock_test: Skip  # Timeout.
io/test_runner_test: Skip  # Timeout.
io/http_client_stays_alive_test: Skip  # Timeout.

[ ($runtime == vm || $runtime == dart_precompiled || $runtime == dart_product) ]
# Failures in secure networking while NSS is replaced with BoringSSL
io/https_client_certificate_test: RuntimeError # Issue 24070
io/secure_socket_renegotiate_test: RuntimeError
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.

[ $arch == ia32 ]
no_allow_absolute_addresses_test: SkipByDesign # Not supported.
link_natives_lazily_test: SkipByDesign # Not supported.

[ $noopt || $compiler == precompiler ]
# Stacktraces in precompilation omit inlined frames.
assert_test: Pass, RuntimeError

[ $noopt || $compiler == precompiler ]
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.
io/web_socket_test: Pass, RuntimeError # Issue 24674
io/test_extension_test: Skip # Platform.executable
io/test_extension_fail_test: Skip # Platform.executable
io/platform_test: Skip # Platform.executable
io/code_collection_test: Skip # Platform.executable
full_coverage_test: Skip # Platform.executable
regress_26031_test: Skip # Platform.resolvedExecutable

[ $runtime == dart_precompiled ]
io/compile_all_test: Crash # Incompatible flag --compile_all

[ $runtime == dart_product ]
io/stdout_bad_argument_test: Skip # Test exits and so can't generate snapshot.

[ $runtime == dart_precompiled || $runtime == dart_product ]
debugger/*: Skip
full_coverage_test: Skip # Platform.executable
http_launch_test: Skip # Platform.executable
io/addlatexhash_test: Skip # Platform.executable
io/file_read_special_device_test: Skip # Platform.executable
io/file_stream_test: Skip # Platform.executable
io/file_test: Skip # Platform.executable
io/http_cross_process_test: Skip # Platform.executable
io/https_unauthorized_test: Skip # Platform.executable
io/platform_resolved_executable_test: Skip # Platform.resolvedExecutable
io/skipping_dart2js_compilations_test: Skip # Platform.executable
io/snapshot_fail_test: Skip # Platform.executable
io/stdin_sync_test: Skip # Platform.executable
io/test_extension_fail_test: Skip # Platform.executable
io/file_read_special_device_test: Skip # Platform.executable
verbose_gc_to_bmu_test: Skip # Platform.executable
io/http_server_close_response_after_error_test: Skip # Platform.executable
io/http_client_stays_alive_test: Skip # Platform.executable
io/print_sync_test: Skip # Platform.executable
io/signals_test: Skip # Platform.executable
io/stdio_nonblocking_test: Skip # Platform.executable
io/regress_7191_test: Skip # Platform.executable
io/secure_unauthorized_test: Skip # Platform.executable
io/dart_std_io_pipe_test: Skip # Platform.executable
io/platform_test: Skip # Platform.executable
io/socket_cross_process_test: Skip # Platform.executable
io/test_runner_test: Skip # Platform.executable
io/file_lock_test: Skip # Platform.executable
io/code_collection_test: Skip # Platform.executable
io/file_lock_test: Skip # Platform.executable
io/code_collection_test: Skip # Platform.executable
io/raw_socket_cross_process_test: Skip # Platform.executable
io/test_extension_test: Skip # Platform.executable
io/named_pipe_script_test: Skip # Platform.executable
io/regress_7679_test: Skip # Platform.executable
io/process_*: Skip # Most use Platform.executable
assert_test: SkipByDesign # Requires checked mode.
no_assert_test: SkipByDesign # Requires checked mode.

# Code coverage is not supported in product mode.
[ $mode == product ]
full_coverage_test: SkipByDesign

# Overriding these flags are not supported in product mode.
[ $mode == product ]
no_profiler_test: SkipByDesign
no_support_coverage_test: SkipByDesign
no_support_debugger_test: SkipByDesign
no_support_disassembler_test: SkipByDesign
no_support_il_printer_test: SkipByDesign
no_support_service_test: SkipByDesign
no_support_timeline_test: SkipByDesign

# Following tests are skipped on dart_product as package mapping is not supported.
[ $runtime == dart_precompiled || $runtime == dart_product ]
package/scenarios/packages_file_strange_formatting/mixed_line_ends_test: Skip
package/scenarios/packages_file_strange_formatting/empty_lines_test: Skip
package/scenarios/invalid/invalid_utf8_test: Skip
package/scenarios/invalid/same_package_twice_test: Skip
package/scenarios/invalid/non_existent_packages_file_test: Skip
package/scenarios/empty_packages_file/empty_packages_file_noimports_test: Skip
package/scenarios/packages_option_only/packages_option_only_noimports_test: Skip
package/scenarios/packages_option_only/packages_option_only_test: Skip

[ $arch == simdbc || $arch == simdbc64 ]
# TODO(vegorov) SIMDBC interpreter doesn't support coverage yet.
full_coverage_test: Skip

# SIMDBC interpreter doesn't support lazy linking of natives.
link_natives_lazily_test: SkipByDesign

# SIMDBC interpreter doesn't support --no_lazy_dispatchers
no_lazy_dispatchers_test: SkipByDesign

[ $compiler == precompiler && $runtime == dart_precompiled && $system == android ]
io/*: Skip # Issue #26376

typed_data_isolate_test: Skip # Issue #26376
typed_array_test: Skip # Issue #26376
typed_array_int64_uint64_test: Skip # Issue #26376

oom_error_stacktrace_test: Skip # Issue #26377
out_of_memory_test: Skip # Issue #26377
