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

[ $strong ]
allocation_profile/element_test: CompileTimeError # observatory is not strong clean (Issue 32503)
class_tree/element_test: RuntimeError # observatory is not strong clean (Issue 32503)
context_view/element_test: RuntimeError # observatory is not strong clean (Issue 32503)
cpu_profile/element_test: RuntimeError # observatory is not strong clean (Issue 32503)
cpu_profile_table/element_test: RuntimeError # observatory is not strong clean (Issue 32503)
curly_block/element_test: RuntimeError # observatory is not strong clean (Issue 32503)
flag_list/element_test: RuntimeError # observatory is not strong clean (Issue 32503)
icdata_view/element_test: RuntimeError # observatory is not strong clean (Issue 32503)
inbound_references/element_test: RuntimeError # observatory is not strong clean (Issue 32503)
isolate/counter_chart/element_test: CompileTimeError # observatory is not strong clean (Issue 32503)
isolate/isolate-shared-summary/element_test: CompileTimeError # observatory is not strong clean (Issue 32503)
isolate_reconnect/element_test: RuntimeError # observatory is not strong clean (Issue 32503)
megamorphiccache_view/element_test: RuntimeError # observatory is not strong clean (Issue 32503)
nav/notify_event/element_test: RuntimeError # observatory is not strong clean (Issue 32503)
nav/notify_exception/connection_exception_test: Timeout, RuntimeError # observatory is not strong clean (Issue 32503)
nav/notify_exception/exception_test: Timeout, RuntimeError # observatory is not strong clean (Issue 32503)
nav/vm_menu/element_test: RuntimeError # observatory is not strong clean (Issue 32503)
object_common/element_test: RuntimeError # observatory is not strong clean (Issue 32503)
objectpool_view/element_test: RuntimeError # observatory is not strong clean (Issue 32503)
objectstore_view/element_test: RuntimeError # observatory is not strong clean (Issue 32503)
persistent_handles_page/element_test: RuntimeError # observatory is not strong clean (Issue 32503)
ports/element_test: RuntimeError # observatory is not strong clean (Issue 32503)
retaining_path/element_test: RuntimeError # observatory is not strong clean (Issue 32503)
source_link/element_test: RuntimeError # observatory is not strong clean (Issue 32503)
vm_connect/element_test: RuntimeError # observatory is not strong clean (Issue 32503)
vm_connect_target/element_test: RuntimeError # observatory is not strong clean (Issue 32503)

[ $runtime == chrome || $runtime == ff || $runtime == safari ]
heap_snapshot/element_test: RuntimeError # Issue 27925

[ $runtime == drt || !$browser || $fast_startup ]
*: SkipByDesign

# custom elements are not supported on old browsers, we don't
# intend for observatory to work on old browser versions, so
# skipping.
[ $runtime == ff || $runtime == ie10 || $runtime == ie11 || $runtime == safari ]
*: SkipByDesign
