* Set up directories for migrated Dart 2.0 tests and migrate a couple.
- Create new "_2" directories where tests that have been validated as
ready for Dart 2.0 will end up.
- Create empty status files for each directory.
- Add those directories to the set of default selectors you get when you
run test.py. This gets the VM bots running them.
- Get the DDC bots running those suites.
- Move abstract_exact_selector_test over to dart2js since it's a
dart2js-specific regression test and not an actual language test.
- Migrate corelib/apply_test.dart.
- Delete abstract_beats_arguments[2]_test.dart since that code is
statically wrong in 2.0 and can't be run.
This doesn't get the dart2js bots running the new suites. I'll email
the relevant folks to get help with that.
* Resurrect abstract_beats_arguments_test.dart.
It usefully checked that an implementation reports an warning (now
error) if you construct an abstract class.
Also added support to test.dart to mark a test as expecting to
generate a compile error in the test itself. That way, the status file
reflects what is *wrong* about the current status, not what is *right*.
* Change static error syntax to match front_end notation.
* Migrate abstract_getter_test.
Flutter non-release should have vm_service package included into platform.dill to handle observatory requests, while release builds should not have it as they are not supposed to have observatory functionality enabled.
R=ahe@google.com, sigmund@google.com
BUG:dartbug.com/30112
Review-Url: https://codereview.chromium.org/2972323002 .
Turns out the args were swapped, so we were writing one of our output files with the contents of the deps file. Later the script overrode that output file, so we didn't notice it.
R=zra@google.com
Review-Url: https://codereview.chromium.org/2980873003 .
This gets rid of the following messages in the build:
patched_dart2js_sdk/lib/_internal/js_runtime/lib/native_typed_data.dart: Nit: 'Symbol' is imported from both 'dart:_internal' and 'dart:core'.
patched_dart2js_sdk/lib/svg/dart2js/svg_dart2js.dart: Nit: 'Symbol' is imported from both 'dart:_internal' and 'dart:core'.
patched_dart2js_sdk/lib/web_audio/dart2js/web_audio_dart2js.dart: Nit: 'Symbol' is imported from both 'dart:_internal' and 'dart:core'.
patched_dart2js_sdk/lib/web_gl/dart2js/web_gl_dart2js.dart: Nit: 'Symbol' is imported from both 'dart:_internal' and 'dart:core'.
patched_dart2js_sdk/lib/web_sql/dart2js/web_sql_dart2js.dart: Nit: 'Symbol' is imported from both 'dart:_internal' and 'dart:core'.
BUG=
R=ahe@google.com, sigmund@google.com
Review-Url: https://codereview.chromium.org/2982503002 .
There were a couple issues found in the bots:
- dart2js unit tests I accidentally missed earlier.
- vmservice issues only show up in the debug-vm, I was testing locally with the
release vm.
- a small regression in detecting invalid .packages files. I marked the test
failing for now and plan to follow up on this on Monday.
TBR=ahe@google.com,paulberry@google.com
Review-Url: https://codereview.chromium.org/2974703002 .
* Use "|" as the separator between module path and name.
":" is already a path character in Windows. This is why the
dartdevc tests aren't working on Windows. Because they try to do:
-sC:/some/path/blah.dart:blah
And it splits at the first ":". Oops.
* Switch to "=" for separating module path from name.
It looks a little funny when used with "--summary=", but it works fine
and is very unlikely to be used for anything else on any platform
(since we already use it as the separator between arg name and value).
Original CL had a bug that wasn't visible unless you delete your
out/ReleaseX64/patched_sdk folder.
Patchset #1 is the original CL, patchset #2 shows the fix.
This reverts commit 4aadfe09df.
BUG=
Review-Url: https://codereview.chromium.org/2976543002 .
This CL tweaks the public APIs in package:front_end, and
starts using those APIs outside the package. For example, this
removes 9 uses of DillTarget, so it is not longer mentioned
outside pkg/front_end and the analyzer_target.
Actual changes:
- in package:front_end
* added kernel_generator_impl: new file contains code that
used to be in kernel_generator. Code has some modifications:
it uses a single canonical-root when loading summaries, and
it supports generating both outlines and kernel in one go.
* removed code that didn't belong here:
a. most of calculating deps for .GN moved to patch_sdk
b. vm-specific outcomes moved to kernel-service
* updated how `native` is implemented, so we can more easily
support dart2js and ddc
* updated how we check where `int`, `bool`, etc can be implemented.
* added support "hermetic mode" in modular builds
('chaseDependencies = false' option)
* moved `trim` step out of fasta, and for now call it only within
the public API. This is not yet exposed, and I stopped covering it in
most tests (now only covered in shaker tests). The plan is to add
tests for the public API covering this in the future.
* removed `uriToSource` when serializing outlines
* added unit tests for public APIs
- patch_sdk
* use the public API to craete platform.dill, outline.dill (now
500K insted of 3Mb because it excludes sources), and vmservice_io.dill
* moved here logic internal to .GN
- kernel service
* use the public API
* moved here logic that depends on VM internals (e.g. status enum,
compilation results)
- package:compiler
* use the public API in tools and unit tests
* simplified patched-sdk generation: no more extending fasta's internals
- package:kernel
* fix bug in deserialization: initializers and other lists were
overwritten accidentally with external definitions.
* updated unit tests, moved shared logic to frontend/src/fasta/testing
R=johnniwinther@google.com, paulberry@google.com
Review-Url: https://codereview.chromium.org/2953703002 .
This CL also removes some compiler flags that increase space somewhat
that help the profiler find symbols, which isn't included in a PRODUCT
build.
Before:
zra@zach:~/dart/sdk$ ls -la out/ProductX64/exe.stripped/
-rwxr-x--- 1 zra eng 9693064 Jun 29 14:52 dart
-rwxr-x--- 1 zra eng 7391080 Jun 29 14:52 dart_precompiled_runtime
R=askesc@google.com, rmacnak@google.com
After:
-rwxr-x--- 1 zra eng 6809424 Jun 29 15:11 dart
-rwxr-x--- 1 zra eng 3299120 Jun 29 15:11 dart_precompiled_runtime
Review-Url: https://codereview.chromium.org/2964133002 .
This involves a few pieces:
- Add support to DDC for specifying the module name associated with a
given summary. This lets test.dart invoke DDC using summaries in the
build directory outside of the directory containing the test itself.
- Add support to the build scripts for building the packages. This adds
a new GN target that builds everything needed to run test.dart with
dartdevc. In particular, it invokes build_pkgs.dart to compile the
relevant packages to JS+summary so that the tests can use them.
This requires some changes to build_pkgs.dart so it can output to a
given directory.
- In test.dart, when tests are compiled with dartdevc, pass in the
summaries for the packages so they don't get compiled in. Then, when
the test is run, configure require.js with the right paths to their
JS files so they can be loaded.
I also removed a bunch of unneeded buildDir parameters being passed
around the various CompilerConfiguration class methods now that they
have direct access to the configuration.
Fix#29923.
R=vsm@google.com, whesse@google.com, zra@google.com
Review-Url: https://codereview.chromium.org/2955513002 .
_ChildNodeListLazy.removeRange used to throw UnsupportedError because ListMixin.removeRange calls setRange.
Make throwing UnsupportedError explicit to avoid relying on the implementation of ListMixin.removeRange
This will unblock the '_closeGap' change.
BUG=
R=lrn@google.com
Review-Url: https://codereview.chromium.org/2955103003 .
It multiplexed a bunch of different events onto a single stream. But
every single listener on that stream immediately demuxed them and only
cared about a subset of the events.
So I made separate streams for each event. Other minor clean-ups too.
R=sigmund@google.com, whesse@google.com
Review-Url: https://codereview.chromium.org/2957703002 .
It's still big and monolithic, but it's not as big as it was before.
- Remove old unused Polymer stuff.
- Move some of the logic out into a helper function.
- Other small tweaks.
R=whesse@google.com
Review-Url: https://codereview.chromium.org/2949823003 .
- Merge CommandOutputImpl and CommandOutput. There were no classes that
implemented CommandOutput that didn't extend the Impl.
- Remove "Impl" from the other class names.
- Make stuff private when possible. Likewise final.
- Other tiny style changes.
R=whesse@google.com
Review-Url: https://codereview.chromium.org/2946783002 .
It can compile and run tests on Chrome. There are a lot of failing tests
that I (or the team) will need to triage, but I think at least basic
tests are working as expected.
There is code that could be cleaned up to more neatly factor how dart2js
and dartdevc are handled now that there are two separate compilers to
JS. There's also some redundant code between the path for testing
compile errors (enqueueStandardTest()) and the path for running a test
in the browser.
R=whesse@google.com
Review-Url: https://codereview.chromium.org/2947473002 .