# 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.
noopt_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.
noopt_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: Skip # Not expected to pass on ia32.
precompilation_dart2js_test: Skip # Not expected to pass on ia32.
noopt_test: Skip # Not expected to pass on ia32.

[ ($runtime == vm || $runtime == dart_product) && $arch == arm ]
precompilation_test: Skip # Issue 24427
precompilation_dart2js_test: Skip # Issue 24427

[ ($runtime == vm || $runtime == dart_product) && $arch == mips ]
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) ]
map_literal_oom_test: Pass, Crash # Issue 24678
io/web_socket_test: Pass, RuntimeError # Issue 24674
assert_test: RuntimeError # Expects line and column numbers
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
noopt_test: 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
assert_test: RuntimeError # Expects line and column numbers

# 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
