# 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 ]
coverage_test: Crash # (static Iterable<Str...  cannot handle async/sync*/async* functions
io/addlatexhash_test: Crash # (static Iterable<Str...  cannot handle async/sync*/async* functions
io/file_error_test: Crash # (static Iterable<Str...  cannot handle async/sync*/async* functions
io/file_read_encoded_test: Crash # (static Iterable<Str...  cannot handle async/sync*/async* functions
io/file_test: Crash # (static testWriteFro...  cannot handle async/sync*/async* functions
io/file_write_only_test: Crash # (main()async{asyncSt...  cannot handle async/sync*/async* functions
io/http_bind_test: Crash # (testBindShared(Stri...  cannot handle async/sync*/async* functions
io/http_client_connect_test: Crash # (static Iterable<Str...  cannot handle async/sync*/async* functions
io/https_bad_certificate_test: Crash # (main()async{var cli...  cannot handle async/sync*/async* functions
io/issue_22636_test: Crash # (test()async{server=...  cannot handle async/sync*/async* functions
io/issue_22637_test: Crash # (test()async{server=...  cannot handle async/sync*/async* functions
io/observatory_test: Crash # (static Iterable<Str...  cannot handle async/sync*/async* functions
io/skipping_dart2js_compilations_test: Crash # (static Iterable<Str...  cannot handle async/sync*/async* functions
io/socket_bind_test: Crash # (testListenCloseList...  cannot handle async/sync*/async* functions
io/socket_source_address_test: Crash # (Future testConnect(...  cannot handle async/sync*/async* functions
priority_queue_stress_test: RuntimeError # Cannot read property 'any$1' of undefined
