# 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

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

javascript_compatibility_errors_test/none: Fail, OK  # Not possible to exclude or annotate with '/// none:'

[ $runtime == vm ]
package/package_isolate_test: Fail # Issue 12474
io/observatory_test: Fail

[ $runtime == vm && $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 && $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

[ $compiler == none && ($runtime == drt || $runtime == dartium || $runtime == ContentShellOnAndroid) ]
typed_array_test: Fail # Issue 13921
typed_array_int64_uint64_test: Fail # Issue 13921
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.
debugger/*: SkipByDesign # Do not run standalone debugger tests in browser.
coverage_test: Skip
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.
javascript_compatibility_errors_test: Skip
javascript_compatibility_warnings_test: Skip
oom_error_stacktrace_test: Skip
out_of_memory_test: Skip
verbose_gc_to_bmu_test: Skip

[ $compiler == dartanalyzer || $compiler == dart2analyzer ]
javascript_int_overflow_literal_test/01: Fail, OK
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
debugger/*: Skip # Do not run standalone vm debugger tests with dart2js.
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
javascript_int_overflow_test: Skip
javascript_int_overflow_literal_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.
javascript_compatibility_errors_test: Skip
javascript_compatibility_warnings_test: Skip
unboxed_int_converter_test: Skip
pair_location_remapping_test: Skip

[ $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 == simarmv5te || $arch == simmips]
out_of_memory_test: Skip # passes on Mac, crashes on Linux
oom_error_stacktrace_test: Skip # Fails on Linux

[ $arch == simmips || $arch == mips ]
javascript_int_overflow_test: Skip # --throw_on_javascript_int_overflow not supported on MIPS.

[ $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 || $runtime == ContentShellOnAndroid) && $unchecked ]
assert_test: Fail # Issue 14651.

[ $compiler == none && ($runtime == dartium || $runtime == ContentShellOnAndroid) ]
javascript_int_overflow_literal_test/01: Fail # Issue 14651.
javascript_int_overflow_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
typed_data_test: StaticWarning
typed_data_view_test: StaticWarning
javascript_compatibility_errors_test: Skip
javascript_compatibility_warnings_test: Skip

[ $compiler == dart2analyzer ]
package/package1_test: CompileTimeError
package/package_test: CompileTimeError

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

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

[ $runtime == vm && $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.

[ $compiler == dart2js && $cps_ir ]
array_bounds_check_generalization_test: Crash # Instance of 'TypeOperator': type check unimplemented for _Nullary.
constant_left_shift_test: Crash # Instance of 'TypeOperator': type check unimplemented for _Nullary.
io/addlatexhash_test: Crash # (try {test(tempDir.path);}finally {tempDir.delete(recursive:true);}): try/finally
io/create_recursive_test: Crash #  try/finally
io/directory_chdir_test: Crash # Instance of 'TypeOperator': type check unimplemented for _Nullary.
io/directory_error_test: Crash # Instance of 'TypeOperator': type check unimplemented for _Nullary.
io/directory_fuzz_test: Crash # Instance of 'TypeOperator': type check unimplemented for _Nullary.
io/directory_invalid_arguments_test: Crash # Instance of 'TypeOperator': type check unimplemented for _Nullary.
io/directory_list_nonexistent_test: Crash # Instance of 'TypeOperator': type check unimplemented for _Nullary.
io/directory_list_pause_test: Crash # Please triage this failure.
io/directory_test: Crash # Instance of 'TypeOperator': type check unimplemented for _Nullary.
io/directory_uri_test: Crash # Instance of 'TypeOperator': type check unimplemented for _Nullary.
io/file_copy_test: Crash # Instance of 'TypeOperator': type check unimplemented for _Nullary.
io/file_error_test: Crash # Instance of 'TypeOperator': type check unimplemented for _Nullary.
io/file_invalid_arguments_test: Crash # Instance of 'TypeOperator': type check unimplemented for _Nullary.
io/file_read_encoded_test: Crash # Instance of 'TypeOperator': type check unimplemented for _Nullary.
io/file_system_delete_test: Crash # Instance of 'TypeOperator': type check unimplemented for _Nullary.
io/file_system_links_test: Crash # Instance of 'TypeOperator': type check unimplemented for _Nullary.
io/file_test: Crash # Instance of 'TypeOperator': type check unimplemented for _Nullary.
io/file_typed_data_test: Crash # Please triage this failure.
io/file_uri_test: Crash # Instance of 'TypeOperator': type check unimplemented for _Nullary.
io/http_bind_test: Crash #  cannot handle async/sync*/async* functions
io/http_client_exception_test: Crash # Instance of 'TypeOperator': type check unimplemented for _Nullary.
io/http_content_length_test: Crash # Instance of 'TypeOperator': type check unimplemented for _Nullary.
io/http_cookie_date_test: Crash # Please triage this failure.
io/http_date_test: Crash # Instance of 'TypeOperator': type check unimplemented for _Nullary.
io/http_detach_socket_test: Crash # Instance of 'TypeOperator': type check unimplemented for _Nullary.
io/http_headers_state_test: Crash # Instance of 'TypeOperator': type check unimplemented for _Nullary.
io/http_headers_test: Crash #  Unhandled node
io/http_parser_test: Crash #  Unhandled node
io/http_proxy_test: Crash # Please triage this failure.
io/http_server_test: Crash # Instance of 'TypeOperator': type check unimplemented for _Nullary.
io/https_bad_certificate_test: Crash #  cannot handle async/sync*/async* functions
io/https_server_test: Crash # Instance of 'TypeOperator': type check unimplemented for _Nullary.
io/internet_address_invalid_arguments_test: Crash # Instance of 'TypeOperator': type check unimplemented for _Nullary.
io/internet_address_test: Crash # Instance of 'TypeOperator': type check unimplemented for _Nullary.
io/issue_22636_test: Crash #  cannot handle async/sync*/async* functions
io/issue_22637_test: Crash #  cannot handle async/sync*/async* functions
io/link_test: Crash # Instance of 'TypeOperator': type check unimplemented for _Nullary.
io/link_uri_test: Crash # Instance of 'TypeOperator': type check unimplemented for _Nullary.
io/observatory_test: Crash # Instance of 'TypeOperator': type check unimplemented for _Nullary.
io/platform_resolved_executable_test/01: Crash # (try {test(tempDir);}finally {tempDir.deleteSync(recursive:true);}): try/finally
io/platform_resolved_executable_test/02: Crash # (try {test(tempDir);}finally {tempDir.deleteSync(recursive:true);}): try/finally
io/platform_resolved_executable_test/04: Crash # (try {test(tempDir);}finally {tempDir.deleteSync(recursive:true);}): try/finally
io/platform_resolved_executable_test/05: Crash # (try {test(tempDir);}finally {tempDir.deleteSync(recursive:true);}): try/finally
io/platform_test: Crash # Instance of 'TypeOperator': type check unimplemented for _Nullary.
io/process_invalid_arguments_test: Crash # Instance of 'TypeOperator': type check unimplemented for _Nullary.
io/raw_datagram_socket_test: Crash #  Unhandled node
io/raw_secure_server_closing_test: Crash # Please triage this failure.
io/raw_secure_server_socket_argument_test: Crash # Instance of 'TypeOperator': type check unimplemented for _Nullary.
io/raw_secure_server_socket_test: Crash # Please triage this failure.
io/raw_secure_socket_pause_test: Crash #  Unhandled node
io/raw_secure_socket_test: Crash #  Unhandled node
io/raw_server_socket_cancel_test: Crash #  Unhandled node
io/raw_socket_cross_process_test: Crash #  Unhandled node
io/raw_socket_test: Crash # Instance of 'TypeOperator': type check unimplemented for _Nullary.
io/raw_socket_typed_data_test: Crash # Please triage this failure.
io/regress_21160_test: Crash #  Unhandled node
io/secure_client_raw_server_test: Crash #  Unhandled node
io/secure_server_closing_test: Crash # Please triage this failure.
io/secure_server_socket_test: Crash # Please triage this failure.
io/secure_socket_alpn_test: Crash # Instance of 'TypeOperator': type casts not implemented.
io/secure_socket_argument_test: Crash # Instance of 'TypeOperator': type check unimplemented for _Nullary.
io/secure_socket_bad_data_test: Crash #  Unhandled node
io/skipping_dart2js_compilations_test: Crash #  Unhandled node
io/sleep_test: Crash # Instance of 'TypeOperator': type check unimplemented for _Nullary.
io/socket_bind_test: Crash #  cannot handle async/sync*/async* functions
io/socket_close_test: Crash #  Unhandled node
io/socket_exception_test: Crash # Please triage this failure.
io/socket_source_address_test: Crash #  cannot handle async/sync*/async* functions
io/socket_test: Crash # Instance of 'TypeOperator': type check unimplemented for _Nullary.
io/socket_upgrade_to_secure_test: Crash # Please triage this failure.
io/stdout_stderr_terminal_test: Crash # Instance of 'TypeOperator': type check unimplemented for _Nullary.
io/test_extension_fail_test: Crash #  Unhandled node
io/test_extension_test: Crash #  Unhandled node
io/test_runner_test: Crash #  Unhandled node
io/uri_platform_test: Crash # Instance of 'TypeOperator': type check unimplemented for _Nullary.
io/web_socket_test: Crash # Instance of 'TypeOperator': type check unimplemented for _Nullary.
io/windows_file_system_links_test: Crash # Instance of 'TypeOperator': type check unimplemented for _Nullary.
io/zlib_test: Crash # Instance of 'TypeOperator': type check unimplemented for _Nullary.
priority_queue_stress_test: RuntimeError # Please triage this failure.
