# 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.

samples/third_party/dromaeo: Pass, Slow
samples/third_party/todomvc_performance: Pass, Slow
samples/pop_pop_win: Pass, Slow
samples/searchable_list: Pass, Slow
pkg/docgen: Pass, Slow

[ $use_repository_packages ]
pkg/analyzer: PubGetError
pkg/browser: PubGetError
pkg/intl: PubGetError # Issue 19782
pkg/third_party/html5lib: PubGetError # angular needs to be updated
samples/third_party/angular_todo: Fail # angular needs to be updated

[ $use_public_packages ]
samples/third_party/angular_todo: Pass, Slow
pkg/template_binding: PubGetError
pkg/polymer_expressions: PubGetError
pkg/polymer: PubGetError

[ $use_public_packages && $builder_tag == russian ]
samples/third_party/todomvc: Fail # Issue 18104

[ $builder_tag == russian ]
samples/pop_pop_win: Fail # Issue 16356
samples/third_party/angular_todo: Fail # Issue 16356

[ $system == windows ]
samples/third_party/todomvc_performance: Fail # Issue 18086
