ac6588ba60
dartifyRaw type-checks are currently a bunch of if cases where the check is done in JS. Instead of going back and forth between runtimes, we can do the checks in JS and return an enum value. - Replaces the if cases with a externRefType method that returns an integer that maps to some static const values. Dart enums are slower so consts are preferred. Speeds up type-checks by 4-5x and dartifyRaw by 1.1-1.8x for common types using some quick local benchmarks. Also moves the array check up as it's more common and groups the typed array checks together. - Reuses the externRefType helper in dartify so we don't type-check the same value twice. - Moves some tests from basic_test.dart to jsify_dartify_test.dart and adds more type-checks, casts to assert types, cleans up property getters, and adds a few missing cases. Change-Id: Ia5fb9bfef6f9e212ea8da27362b0b4efb4cbf2fa Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/379144 Commit-Queue: Srujan Gaddam <srujzs@google.com> Reviewed-by: Martin Kustermann <kustermann@google.com>
205 lines
12 KiB
Plaintext
205 lines
12 KiB
Plaintext
# 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.
|
|
html/cross_frame_test: Skip # Issue 32039, test reloads itself (not by design - investigate)
|
|
|
|
[ $arch == simarm ]
|
|
convert/utf85_test: Skip # Pass, Slow Issue 12644.
|
|
|
|
[ $compiler == dart2wasm ]
|
|
fix_data_tests/*: SkipByDesign
|
|
html/*: SkipByDesign # dart:html not supported on dart2wasm
|
|
isolate/*: SkipByDesign
|
|
js/(?!export|static_interop_test)*: SkipByDesign
|
|
js/static_interop_test/allowed_external_member_native_type_test: SkipByDesign # dart:html and dart:svg not supported on dart2wasm.
|
|
js/static_interop_test/extension_type/non_interop_extension_type_static_test: SkipByDesign # Some external checks are not run on dart2wasm.
|
|
js/static_interop_test/external_static_member_lowerings_trusttypes_test: SkipByDesign # Tests @trustTypes, which is unsupported on dart2wasm.
|
|
js/static_interop_test/static_external_extension_members_static_test: SkipByDesign # dart:html not supported on dart2wasm.
|
|
js/static_interop_test/top_level_member_annotation_static_test: SkipByDesign # Some external checks are not run on dart2wasm.
|
|
mirrors/*: SkipByDesign
|
|
web/*: SkipByDesign
|
|
|
|
[ $compiler != dart2wasm ]
|
|
js/static_interop_test/disallowed_interop_libraries_test: SkipByDesign # Only checks on dart2wasm.
|
|
|
|
[ $mode == product ]
|
|
developer/timeline_test: Skip # Not supported
|
|
isolate/issue_24243_parent_isolate_test: Skip # Requires checked mode
|
|
|
|
[ $runtime != chrome ]
|
|
js/static_interop_test/import/import_trustedscripturl_test: SkipByDesign # Trusted Types are only supported in Chrome currently.
|
|
|
|
[ $runtime == d8 ]
|
|
js/export/static_interop_mock/proto_test: SkipByDesign # Uses dart:html.
|
|
js/static_interop_test/constants_test: SkipByDesign # Uses dart:html.
|
|
js/static_interop_test/futurevaluetype_test: SkipByDesign # Uses dart:html.
|
|
js/static_interop_test/import/import_test: SkipByDesign # TODO(srujzs): This test uses the file system to load a module. Since the test runner doesn't start an HTTP server for d8, I don't think this is supported.
|
|
js/static_interop_test/supertype_transform_test: SkipByDesign # Uses dart:html.
|
|
|
|
[ $runtime == dart_precompiled ]
|
|
isolate/package_config_getter_test: SkipByDesign # AOT mode doesn't preserve package structure.
|
|
|
|
[ $runtime == ff ]
|
|
convert/streamed_conversion_utf8_decode_test: Slow, Pass # Issue 12029
|
|
mirrors/mirrors_reader_test: Slow, Pass # Issue 16589
|
|
|
|
[ $runtime == ie11 ]
|
|
html/request_animation_frame_test: Skip # Times out. Issue 22167
|
|
html/transition_event_test: Skip # Times out. Issue 22167
|
|
|
|
[ $runtime == safari ]
|
|
html/indexeddb_1_test/functional: Skip # Times out. Issue 21433
|
|
html/indexeddb_3_test: Skip # Times out 1 out of 10.
|
|
html/worker_api_test: Skip # Issue 13221
|
|
|
|
[ $runtime != vm ]
|
|
isolate/spawn_uri__package_uri__test: SkipByDesign # This test uses Isolate.spawnUri and only works in JIT mode.
|
|
|
|
[ $system == windows ]
|
|
html/xhr_test/xhr: Skip # Times out. Issue 21527
|
|
|
|
[ $csp ]
|
|
html/js_interop_constructor_name/*: SkipByDesign # Issue 42085.
|
|
isolate/deferred_in_isolate2_test: Skip # Issue 16898. Deferred loading does not work from an isolate in CSP-mode
|
|
js/call_field_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/call_getter_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/call_method_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/extends_test/extends_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/extends_test/extends_with_es6_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/instanceof_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/is_check_and_as_cast_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/js_util/async_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/js_util/implicit_downcast_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/js_util/jsify_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/js_util/operator_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/js_util/promise_reject_null_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/js_util/properties_implicit_checks_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/js_util/properties_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/method_call_on_object_test: SkipByDesign # Issue 42085.
|
|
js/mock_test/*: SkipByDesign # Issue 42085.
|
|
js/parameters_test: SkipByDesign # Issue 42085.
|
|
js/static_interop_test/call_getter_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/static_interop_test/call_method_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/static_interop_test/extension_type/external_extension_member_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/static_interop_test/extension_type/external_member_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/static_interop_test/extension_type/external_static_member_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/static_interop_test/external_extension_members_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/static_interop_test/external_static_member_lowerings_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/static_interop_test/external_static_member_lowerings_trusttypes_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/static_interop_test/isa/functional_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/static_interop_test/isa/library_renaming_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/static_interop_test/js_array_proxy_or_ref_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/static_interop_test/js_array_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/static_interop_test/js_function_arity_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/static_interop_test/js_function_conversions_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/static_interop_test/js_typed_array_test: SkipByDesign # CSP policy disallows injected JS code
|
|
js/static_interop_test/jsify_dartify_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/static_interop_test/jsobject_type_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/static_interop_test/native_error_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/static_interop_test/typed_data_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/trust_types_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/type_parameter_lowering_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
|
|
[ $simulator ]
|
|
convert/utf85_test: Skip # Pass, Slow Issue 20111.
|
|
|
|
[ $compiler == dart2js && $runtime == d8 ]
|
|
js/js_util/async_test: Skip # Issue 54520
|
|
js/js_util/promise_reject_null_test: Skip # Issue 54520
|
|
js/static_interop_test/js_types_test: Skip # Issue 54520
|
|
|
|
[ $compiler != dart2js && $compiler != dart2wasm && $compiler != ddc ]
|
|
js_interop_unsafe/*: SkipByDesign # Only supported on web backends.
|
|
|
|
[ $compiler != dart2js && $compiler != ddc ]
|
|
web/*: SkipByDesign
|
|
|
|
[ $runtime == chrome && $system == macos ]
|
|
convert/streamed_conversion_utf8_encode_test: SkipSlow # Times out. Issue 22050
|
|
html/canvasrendering/arc_test: Skip # Issue 42048
|
|
html/canvasrendering/draw_image_canvas_element_test: Skip # Issue 42048
|
|
html/canvasrendering/fill_text_test: Skip # Issue 42048
|
|
html/canvasrendering/image_element_test: Skip # Issue 42048
|
|
html/canvasrendering/pixel_manipulation_test: Skip # Issue 42048
|
|
html/request_animation_frame_test: Skip # Times out. Issue 22167
|
|
html/transition_event_test: Skip # Times out. Issue 22167
|
|
|
|
[ $runtime != dart_precompiled && ($compiler != dartk || $runtime != vm) ]
|
|
isolate/vm_rehash_test: SkipByDesign
|
|
|
|
[ $arch != x64 || $runtime != vm ]
|
|
isolate/int32_length_overflow_test: SkipSlow
|
|
|
|
[ $compiler != dartk || $runtime != vm ]
|
|
isolate/package_config_test: SkipByDesign # Uses Isolate.packageConfig
|
|
isolate/package_resolve_test: SkipByDesign # Uses Isolate.resolvePackageUri
|
|
isolate/scenarios/*: SkipByDesign # Use automatic package resolution, spawnFunction and .dart URIs.
|
|
isolate/spawn_uri_fail_test: SkipByDesign # Uses dart:io.
|
|
|
|
[ $runtime == chrome || $runtime == ff ]
|
|
async/slow_consumer2_test: SkipSlow # Times out. Issue 22050
|
|
async/stream_timeout_test: SkipSlow # Times out. Issue 22050
|
|
|
|
# It makes no sense to run any test that uses spawnURI under the simulator
|
|
# as that would involve running CFE (the front end) in simulator mode
|
|
# to compile the URI file specified in spawnURI code.
|
|
# These Isolate tests that use spawnURI are hence skipped on purpose.
|
|
[ $runtime == dart_precompiled || $runtime == vm && $simulator ]
|
|
isolate/count_test: Skip # Isolate.spawnUri
|
|
isolate/cross_isolate_message_test: Skip # Isolate.spawnUri
|
|
isolate/deferred_in_isolate2_test: Skip # Isolate.spawnUri
|
|
isolate/deferred_in_isolate_test: Skip # Isolate.spawnUri
|
|
isolate/error_at_spawnuri_test: Skip # Isolate.spawnUri
|
|
isolate/error_exit_at_spawnuri_test: Skip # Isolate.spawnUri
|
|
isolate/exit_at_spawnuri_test: Skip # Isolate.spawnUri
|
|
isolate/illegal_msg_mirror_test: Skip # Isolate.spawnUri
|
|
isolate/isolate_complex_messages_test: Skip # Isolate.spawnUri
|
|
isolate/issue_21398_parent_isolate1_test: Skip # Isolate.spawnUri
|
|
isolate/issue_21398_parent_isolate_test: Skip # Isolate.spawnUri
|
|
isolate/issue_24243_parent_isolate_test: Skip # Isolate.spawnUri
|
|
isolate/issue_6610_test: Skip # Isolate.spawnUri
|
|
isolate/mandel_isolate_test: Skip # Isolate.spawnUri
|
|
isolate/message2_test: Skip # Isolate.spawnUri
|
|
isolate/message_test: Skip # Isolate.spawnUri
|
|
isolate/mint_maker_test: Skip # Isolate.spawnUri
|
|
isolate/nested_spawn2_test: Skip # Isolate.spawnUri
|
|
isolate/nested_spawn_test: Skip # Isolate.spawnUri
|
|
isolate/no_package_test: Skip # Isolate.spawnUri
|
|
isolate/package_config_test: Skip # Isolate.spawnUri
|
|
isolate/raw_port_test: Skip # Isolate.spawnUri
|
|
isolate/request_reply_test: Skip # Isolate.spawnUri
|
|
isolate/scenarios/automatic_resolution_spec/package_resolve_test: Skip # Isolate.spawnUri
|
|
isolate/scenarios/package_relative_spec/package_relative_spec_test: Skip # Isolate.spawnUri
|
|
isolate/scenarios/short_package/short_package_test: Skip # Isolate.spawnUri
|
|
isolate/spawn_function_custom_class_test: Skip # Isolate.spawnUri
|
|
isolate/spawn_function_test: Skip # Isolate.spawnUri
|
|
isolate/spawn_uri_exported_main_test: Skip # Isolate.spawnUri
|
|
isolate/spawn_uri_missing_from_isolate_test: Skip # Isolate.spawnUri
|
|
isolate/spawn_uri_missing_test: Skip # Isolate.spawnUri
|
|
isolate/spawn_uri_multi_test: Skip # Isolate.spawnUri
|
|
isolate/spawn_uri_nested_vm_test: Skip # Isolate.spawnUri
|
|
isolate/spawn_uri_test: Skip # Isolate.spawnUri
|
|
isolate/spawn_uri_vm_test: Skip # Isolate.spawnUri
|
|
isolate/stacktrace_message_test: Skip # Isolate.spawnUri
|
|
isolate/static_function_test: Skip # Isolate.spawnUri
|
|
isolate/unresolved_ports_test: Skip # Isolate.spawnUri
|
|
|
|
[ $hot_reload || $hot_reload_rollback ]
|
|
convert/chunked_conversion_utf88_test: SkipSlow
|
|
convert/utf85_test: SkipSlow
|
|
isolate/deferred_in_isolate2_test: Crash # Requires deferred libraries
|
|
isolate/deferred_in_isolate_test: Crash # Requires deferred libraries
|
|
isolate/issue_21398_parent_isolate2_test: Crash # Requires deferred libraries
|
|
isolate/spawn_uri_nested_vm_test: Crash # Issue 28192
|
|
mirrors/closurization_equivalence_test: SkipByDesign # Method equality
|
|
mirrors/deferred_constraints_constants_test: Crash # Requires deferred libraries
|
|
mirrors/deferred_mirrors_metadata_test: Crash # Deferred loading
|
|
mirrors/deferred_mirrors_metatarget_test: Crash # Deferred loading
|
|
mirrors/deferred_mirrors_update_test: Crash # Deferred loading
|
|
mirrors/library_enumeration_deferred_loading_test: Crash # Deferred loading
|
|
mirrors/library_import_deferred_loading_test: Crash # Deferred loading
|
|
mirrors/library_imports_deferred_test: Crash # Deferred loading
|
|
mirrors/load_library_test: Crash # Deferred loading
|
|
mirrors/typedef_deferred_library_test: Crash # Deferred loading
|
|
typed_data/zeroed_allocation_test: SkipSlow
|