Files
sdk/pkg/pkg.status
T
Martin Kustermann d354a28cb2 [kernel] Add kernel2kernel constant evaluation, binary format as well as vm support
The introduced "constants" transformation can evaluate constant expressions.  The
original use-sites of constant expressions are replaced by a new [ConstantExpression]
node, which points to a subclass of a new [Constant] class hierarchy.  Constant
[Field]s and [VariableDeclarations]s will be removed, since all use-sites are
re-written.

The [Constant] class hierarchy is, similarly to the [DartType] class hierarchy, not
part of the AST tree (also has no parent pointer).  The constants form a
DAG (directed acyclic graph).

There is no canonicalization requirement of the [Constant] objects referenced by the
AST (via [ConstantExpression]).  Although it is beneficial to canonicalize them during
construction, since it reduces time spent in operator==/hashCode.

This CL furthermore adds support for a constant table in the binary format.  Similarly
to [String]s, we canonicalize the constants before writing the table to the binary.
The constant table entries in the binary are written in a post-order way, to ensure
easy construction on the backend side.

The text format will be augmented with a "constants { ... }" section at the end,
which lists the constants in the same order as in the binary format.

The transformation can be used by those backends who choose to do so.  It is not
enabled by default atm.  It should therefore not affect analyzer, fasta or other
components.

Change-Id: I57cd9624fedcf537ab6870db76246149647bed21
Reviewed-on: https://dart-review.googlesource.com/14382
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2017-11-16 11:08:02 +00:00

256 lines
11 KiB
Plaintext

# 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.
# Don't run any test-like files that show up in packages directories. It
# shouldn't be necessary to run "pub install" in these packages, but if you do
# it shouldn't break the tests.
*/packages/*/*: Skip
*/*/packages/*/*: Skip
*/*/*/packages/*/*: Skip
*/*/*/*/packages/*/*: Skip
*/*/*/*/*/packages/*/*: Skip
analysis_server/tool/spec/check_all_test: Skip # Issue 29133
analyzer_plugin/tool/spec/check_all_test: Skip # Issue 29133
analyzer/test/generated/compile_time_error_code_driver_test: Slow, Pass
analyzer/test/generated/compile_time_error_code_kernel_test: Slow, Pass
analyzer/test/generated/hint_code_kernel_test: Slow, Pass
analyzer/test/generated/non_error_resolver_driver_test: Slow, Pass
analyzer/test/generated/non_error_resolver_kernel_test: Slow, Pass
analyzer/test/generated/static_type_warning_code_kernel_test: Slow, Pass
analyzer/test/generated/static_warning_code_driver_test: Slow, Pass
analyzer/test/generated/static_warning_code_kernel_test: Slow, Pass
analyzer/test/generated/strong_mode_kernel_test: Slow, Pass
analyzer/test/generated/compile_time_error_code_test: Slow, Pass
analyzer/test/src/summary/resynthesize_kernel_test: Slow, Pass
analyzer/test/src/task/strong/checker_test: Slow, Pass
analyzer_plugin/test/plugin/folding_mixin_test: Slow, Pass
# Analyzer2dart is not maintained anymore.
analyzer2dart/test/*: Skip
dart_messages/test/dart_messages_test: Skip # Requires a package root.
# Skip dev_compiler codegen tests
dev_compiler/test/codegen/*: Skip
dev_compiler/gen/*: SkipByDesign
# Anything in rasta is input to fasta unit tests and shouldn't be run as tests.
front_end/test/fasta/rasta/*: SkipByDesign
# sdk_test would take too long to complete, and should be run in a different
# way.
front_end/test/fasta/sdk_test: SkipByDesign
front_end/test/fasta/bootstrap_test: Pass, Slow
front_end/test/fasta/compile_test: Pass, Slow
front_end/test/fasta/strong_test: Pass, Slow
front_end/test/fasta/outline_test: Pass, Slow
front_end/test/fasta/ast_builder_test: Pass, Slow
front_end/tool/incremental_perf_test: Slow, Pass
front_end/test/whole_program_test: Slow, Pass
# These are not tests but input for tests.
kernel/testcases/*: Skip
front_end/testcases/*: Skip
front_end/test/fasta/analyze_test: Pass, Slow
kernel/test/closures_test: Slow, Pass
front_end/tool/_fasta/compile_platform_test: Fail
[ $use_sdk || $mode != release || $compiler != none || $runtime != vm || $arch != x64 ]
front_end/test/whole_program_test: SkipByDesign
[ $compiler != dart2analyzer ]
analyzer/test/src/summary/summarize_fasta_test: RuntimeError, Slow
[ $runtime != vm || $mode != release || $system == windows ]
front_end/test/fasta/*: Skip
front_end/tool/_fasta/*: Skip
kernel/test/closures_test: Skip
# Don't analyze tests in strong mode yet
[ $compiler == dart2analyzer && $builder_tag == strong ]
*: Skip # Issue 28649
# Analyze dev_compiler but don't run its tests
[ $compiler != dart2analyzer ]
dev_compiler/test/*: Skip
[ $compiler == dart2analyzer ]
dev_compiler/test/options/*: SkipByDesign
dev_compiler/test/codegen_test: MissingCompileTimeError # Issue 30245
[ $compiler == none && $runtime == drt ]
mutation_observer: Skip # Issue 21149
unittest/*: Skip # Issue 21949
front_end/*: SkipByDesign
[ $runtime == vm && $mode == debug ]
analysis_server/test/completion_test: Pass, Slow
[ $runtime == vm && $checked ]
analysis_server/test/completion_test: Pass, Slow
analysis_server/test/services/correction/fix_test: Pass, Slow
analysis_server/test/socket_server_test: Skip # Pass, Slow
analyzer/test/generated/non_error_resolver_kernel_test: Skip # Timing out even with Pass, Slow: Issue 30796
analyzer/test/src/summary/resynthesize_ast_test: Pass, Slow
analyzer/test/src/task/strong/front_end_inference_test: Pass, Slow
[ $runtime == vm && $checked && $system == windows ]
front_end/tool/perf_test: Slow, Pass
[ $runtime == vm && $builder_tag == swarming ]
front_end/test/src/incremental/hot_reload_e2e_test: Pass, RuntimeError # Please triage this failure
[ $runtime == vm && $use_sdk ]
front_end/test/fasta/*: Skip # Issue 28629
front_end/tool/_fasta/*: Skip # Issue 28629
compiler/tool/generate_kernel_test*: Skip # Issue 28629
front_end/test/src/incremental/hot_reload_e2e_test: Skip # Issue 28629
kernel/test/metadata_test: Skip # Issue 28629
[ $runtime == vm && ! $use_sdk ]
front_end/tool/perf_test: Skip # Issue 28698
[ $runtime == vm && $use_sdk ]
front_end/tool/fasta_perf_test: SkipByDesign # depends on patched_sdk which is not built into the sdk
front_end/test/kernel_generator_test: SkipByDesign # depends on patched_sdk which is not built into the sdk
front_end/test/summary_generator_test: SkipByDesign # depends on patched_sdk which is not built into the sdk
front_end/test/mixin_export_test: SkipByDesign # depends on patched_sdk which is not built into the sdk
[ $runtime == vm && $system == windows]
analysis_server/*: Skip # Issue 27557
analysis_server/test/analysis/get_errors_test: Skip # runtime error, Issue 22180
analysis_server/test/integration/analysis/analysis_options_test: RuntimeError # Issue 24796
analyzer/test/generated/non_error_resolver_kernel_test: RuntimeError # Issue 30785
kernel/test/baseline_spec_mode_test: RuntimeError # Issue 28243
kernel/test/baseline_strong_mode_test: RuntimeError # Issue 28243
analyzer/tool/task_dependency_graph/check_test: Slow, Pass
[ $compiler == dart2js ]
analysis_server/test/integration: SkipByDesign # Analysis server integration tests don't make sense to run under dart2js, since the code under test always runs in the Dart vm as a subprocess.
analyzer_cli/test/*: SkipByDesign # Only meant to run on vm
analyzer_plugin/test/*: SkipByDesign # Only meant to run on vm
analyzer_plugin/tool/*: SkipByDesign # Only meant to run on vm
collection/test/equality_test/01: Fail # Issue 1533
collection/test/equality_test/02: Fail # Issue 1533
collection/test/equality_test/03: Fail # Issue 1533
collection/test/equality_test/04: Fail # Issue 1533
collection/test/equality_test/05: Fail # Issue 1533
collection/test/equality_test/none: Pass, Fail # Issue 14348
compiler/tool/*: SkipByDesign # Only meant to run on vm
front_end/tool/*: SkipByDesign # Only meant to run on vm
telemetry/test/*: SkipByDesign # Only meant to run on vm
typed_data/test/typed_buffers_test/01: Fail # Not supporting Int64List, Uint64List.
front_end/test/incremental_kernel_generator_test: SkipByDesign # Uses dart:io
front_end/test/incremental_resolved_ast_generator_test: SkipByDesign # Uses dart:io
front_end/test/memory_file_system_test: CompileTimeError # Issue 23773
front_end/test/dependency_grapher_test: SkipByDesign # Uses dart:io
front_end/test/physical_file_system_test: SkipByDesign # Uses dart:io
front_end/test/src/base/file_repository_test: SkipByDesign # Uses dart:io
front_end/test/src/base/libraries_reader_test: SkipByDesign # Uses dart:io
front_end/test/src/base/processed_options_test: SkipByDesign # Uses dart:io
front_end/test/subpackage_relationships_test: SkipByDesign # Uses dart:io
[ $compiler == dart2js && $runtime != d8 ]
front_end/test/mixin_export_test: RuntimeError # Issue 30576
[ $compiler == dart2js && $fast_startup ]
front_end/test/*: SkipByDesign # Tests written with dart:mirrors.
[ $compiler == dart2js && $builder_tag != dart2js_analyzer ]
analyzer/test/*: Skip # Issue 26813
analyzer/tool/*: Skip # Issue 26813
analysis_server/test/*: Skip # Issue 26813
[ $compiler == dart2js && $checked ]
crypto/test/base64_test: Slow, Pass
[ $runtime == jsshell ]
async/test/stream_zip_test: RuntimeError, OK # Issue 26103. Timers are not supported.
front_end/test/*: RuntimeError, OK, Pass # Issue 26103. Timers are not supported.
kernel/test/*: RuntimeError, OK # Issue 26103. Timers are not supported.
[ $compiler == dart2js && $runtime == d8 ]
front_end/test/src/base/uri_resolver_test: SkipByDesign # Relies on access to file system
[ $compiler == dart2js && $runtime == drt ]
async/test/stream_zip_test: RuntimeError, Pass # Issue 18548
[ $compiler == dart2js && ($runtime == chrome || $runtime == ff) ]
collection/test/unmodifiable_collection_test: SkipSlow # Times out. Issue 22050
async/test/stream_zip_test: SkipSlow # Times out. Issue 22050
[ $runtime == safarimobilesim ]
# Unexplained errors only occurring on Safari 6.1 and earlier.
typed_data/test/typed_buffers_test: RuntimeError
[ $compiler == dart2js && $csp ]
# This test cannot run under CSP because it is injecting a JavaScript polyfill
mutation_observer: Skip
[ $compiler == dart2js && $browser ]
crypto/test/sha256_test: Slow, Pass
crypto/test/sha1_test: Slow, Pass
[ $browser ]
analyzer_cli/*: SkipByDesign # Uses dart:io.
*/test/analyzer_test: SkipByDesign # No need to run analysis tests on browser bots
analysis_server/test/*: SkipByDesign # Uses dart:io.
analysis_server/tool/spec/check_all_test: SkipByDesign # Uses dart:io.
analyzer/test/*: SkipByDesign # Uses dart:io.
analyzer/tool/task_dependency_graph/check_test: SkipByDesign # Uses dart:io.
analyzer/tool/summary/check_test: SkipByDesign # Uses dart:io.
analyzer2dart/*: SkipByDesign # Uses dart:io.
compiler/tool/*: SkipByDesign # Only meant to run on vm
front_end/tool/*: SkipByDesign # Only meant to run on vm
http_server/test/*: Fail, OK # Uses dart:io.
observe/test/transformer_test: Fail, OK # Uses dart:io.
observe/test/unique_message_test: SkipByDesign # Uses dart:io.
dart_messages/test/dart_messages_test: Skip # Uses dart:io.
[ $browser || $jscl ]
kernel/test/*: SkipByDesign # Uses dart:io and bigints.
[ $runtime == vm && ($arch == simarm64 || $arch == simarm || $arch == simarmv6 || $arch == simarmv5te || $arch == armv6 || $arch == armv5te) ]
# Timeout. These are not unit tests. They do not run efficiently on our
# simulator or low-end devices.
*: Skip
[ $runtime == vm ]
analyzer/test/file_system/physical_resource_provider_test: Pass, Fail # Issue 25472
analyzer/test/src/task/strong/inferred_type_test: Pass, Slow
# Skip tests on the VM if the package depends on dart:html
mutation_observer: Skip
[ $compiler == dart2js && $runtime == chrome && $system == macos ]
third_party/di_tests/di_test: Pass, Slow # Issue 22896
[ $arch == x64 && $runtime == vm && $system == windows && $checked ]
# See: https://build.chromium.org/p/client.dart/builders/analyzer-win7-release-be/builds/3113/steps/analyzer%20unit%20tests/logs/stdio
analyzer/test/src/task/strong/inferred_type_test: Pass, Slow
[ $runtime == dart_precompiled ]
*: SkipByDesign # The pkg test framework imports dart:mirrors.
[ $compiler == none ]
kernel/test/closures_test: Fail
[ $runtime == vm ]
analyzer_cli/test/driver_test: Pass, Slow, Timeout
[ $runtime == vm && $system == windows ]
analyzer/test/src/task/strong/checker_test: Pass, Slow
[ $browser ]
testing/test/analyze_test: SkipByDesign
[ $browser || $runtime == flutter ]
status_file/*: SkipByDesign # Only meant to run on the standalone VM.