# 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


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

[ $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
verbose_gc_to_bmu_test: Skip
precompilation_test: Skip # Standalone only test.
precompilation_dart2js_test: Skip # 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
precompilation_test: Skip # Standalone only test.
precompilation_dart2js_test: Skip # Standalone only test.
regress_25335_test: Skip # Int64List not supported.

[ ($runtime == vm || $runtime == dart_product) && $mode == debug ]
precompilation_dart2js_test: Pass, Slow

[ ($runtime == vm || $runtime == dart_product) && $arch == ia32 ]
precompilation_test: SkipByDesign # Not expected to pass on ia32.
precompilation_dart2js_test: SkipByDesign # Not expected to pass on ia32.

[ ($runtime == vm || $runtime == dart_product) && ($arch == mips || $arch == arm || $arch == arm64) ]
precompilation_test: SkipSlow
precompilation_dart2js_test: SkipSlow

[ $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/signals_test: Fail # Issue 17440
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/file_read_special_device_test: Fail # Issue 17440
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 == none && $runtime == drt ]
map_literal_oom_test: RuntimeError # Issue 24571

[ $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_literal_oom_test: Pass, Crash # Issue 24678
io/web_socket_test: Pass, RuntimeError # Issue 24674
precompilation_test: Skip # Platform.executable
precompilation_dart2js_test: Skip  # Platform.executable
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

[ $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
precompilation_test: Skip # Platform.executable
precompilation_dart2js_test: Skip # Platform.executable
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
precompilation_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/regress_7679_test: Skip # Platform.executable
io/process_*: Skip # Most use Platform.executable

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