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

ffi/http/test/http_test: Pass, ExtraSlow # https://dartbug.com/61583

[ $sanitizer == asan ]
ffi/samples_test: SkipByDesign # FFI skips, see ffi.status

[ $simulator ]
ffi/*: SkipByDesign # FFI skips, see ffi.status

[ $compiler == dart2js && $runtime == none ]
*: Fail, Pass # TODO(ahe): Triage these tests.

[ $compiler == dartk && $runtime == vm && $system == fuchsia ]
*: Skip # Not yet triaged.

[ $arch != x64 || $compiler != dartk || $system != linux || $hot_reload || $hot_reload_rollback ]
ffi/sqlite/test/sqlite_test: SkipByDesign # FFI not supported or libsqlite3.so not available.

[ $runtime == d8 || $browser ]
ffi/*: SkipByDesign # Skip tests that use dart:ffi.
