# Copyright (c) 2017, 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.

[ $compiler == dart2analyzer ]
deferred_transitive_import_error_test: Skip # Contains intentional errors.
io/directory_invalid_arguments_test: CompileTimeError
io/http_cookie_date_test: Pass, StaticWarning, CompileTimeError # Issue 28843
io/http_headers_test: Pass, StaticWarning, CompileTimeError # Issue 28843
io/http_parser_test: Pass, StaticWarning, CompileTimeError # Issue 28843
io/process_exit_negative_test: Skip
io/process_invalid_arguments_test: CompileTimeError
io/raw_secure_server_socket_argument_test: CompileTimeError
io/secure_socket_argument_test: CompileTimeError
io/stdout_bad_argument_test: CompileTimeError
io/web_socket_protocol_processor_test: Pass, StaticWarning, CompileTimeError # Issue 28843
package/package_isolate_test: CompileTimeError
package/scenarios/both_dir_and_file/prefers_packages_file_test: CompileTimeError
package/scenarios/invalid/invalid_package_name_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/non_existent_packages_file_test: Crash, OK # Analyzer exits on invalid package config
package/scenarios/invalid/same_package_twice_test: Crash, OK # Analyzer exits on invalid package config
package/scenarios/packages_file_in_parent/sub/packages_file_in_parent_test: CompileTimeError
package/scenarios/packages_file_only/packages_file_only_test: CompileTimeError

[ $compiler == dart2analyzer && $system == windows ]
package/scenarios/empty_packages_file/empty_packages_file_option_test: Crash, Pass # Issue 28645
package/scenarios/packages_file_strange_formatting/empty_package_dir_test: Crash # Issue 28645
