Commit Graph

793 Commits

Author SHA1 Message Date
Karl Klose 29ca4e670a [infra] Remove non-essential test expectations with comments from analyzer status files
Change-Id: I43a5c85fe414c4fc9ed70b926d245c291ef0d28c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114853
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Karl Klose <karlklose@google.com>
2019-09-02 07:12:10 +00:00
Karl Klose ed55695f6b [infra] Remove non-essential test expectations with comments from kernel status files
Change-Id: I7f49b31abdf4786365ac2a1e6cedc5ddbfae2ee8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114852
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Karl Klose <karlklose@google.com>
2019-09-02 07:04:06 +00:00
Karl Klose e193f502f9 [infra] Remove non-essential test expectations with comments from devc status files
Change-Id: I7fff65b92b1890ccce80f37afe30a58a8942e956
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114854
Reviewed-by: Vijay Menon <vsm@google.com>
Commit-Queue: Karl Klose <karlklose@google.com>
2019-09-02 07:04:05 +00:00
Karl Klose 4b19400ba7 [infra] Remove non-essential test expectations from devc status files
Change-Id: If1d4550aab4465fbf2491a4411148d94f6a47273
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113987
Reviewed-by: Vijay Menon <vsm@google.com>
Commit-Queue: Karl Klose <karlklose@google.com>
2019-08-28 10:10:52 +00:00
Alexander Markov 1017a562d7 [vm/bytecode] Fix crash while querying parameter descriptors for static implicit closure
Fixes https://github.com/dart-lang/sdk/issues/38035

Change-Id: Ib060a0b43ff0ca85d984642e9faca8fd966a1e62
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114634
Reviewed-by: Régis Crelier <regis@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2019-08-28 02:26:33 +00:00
Karl Klose 1f17242a4f [infra] Remove non-essential test expectations from dart2js status files
Change-Id: Ie6ead34c5628cd63f6eeb363585932c4f15f33a9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114062
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Karl Klose <karlklose@google.com>
2019-08-26 11:55:25 +00:00
Karl Klose 5428119bee [infra] Remove non-essential test expectations from analyzer status files
Change-Id: I63fdbea8f7f800a362ee5a5ad2b708bb30e4ebf8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114060
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Karl Klose <karlklose@google.com>
2019-08-22 10:36:29 +00:00
Karl Klose b625152523 [infra] Remove non-essential test expectations from kernel status files
Change-Id: Id246d9abb338873ef5082c3c70f45f5650ad1dcf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113981
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Karl Klose <karlklose@google.com>
2019-08-21 10:37:45 +00:00
Karl Klose 095d1c2835 [infra] Clean up general status files
Change-Id: I421fca89e748474a585f052532b86ef3ddbed4ca
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113681
Commit-Queue: Karl Klose <karlklose@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2019-08-21 09:18:34 +00:00
Clement Skau de45a83755 [test] Makes spawn_function_custom_class_test more robust.
Adds exit port to spawned isolate to force main isolate and runtime
to wait until spawned isolate has completed.
This should improve potential flakiness stemming from racing.

Similar to:
- https://dart-review.googlesource.com/c/sdk/+/110913
- https://dart-review.googlesource.com/c/sdk/+/108410

Change-Id: I1055ca0e23f38bcfa67f485c5b810c39ef302dde
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113820
Commit-Queue: Clement Skau <cskau@google.com>
Reviewed-by: Daco Harkes <dacoharkes@google.com>
2019-08-20 12:16:22 +00:00
Johnni Winther d153e98447 Revert "[cfe] Gather constraints from both possibilities for FutureOr"
This reverts commit 00e9561798.

Original change's description:
> [cfe] Gather constraints from both possibilities for FutureOr
> 
> Closes #37778.
> 
> Bug: http://dartbug.com/37778
> Change-Id: Ic06da9cf4e24e397e1f2a180b743190a4165dc3e
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113033
> Commit-Queue: Johnni Winther <johnniwinther@google.com>
> Reviewed-by: Johnni Winther <johnniwinther@google.com>

TBR=dmitryas@google.com,johnniwinther@google.com

Change-Id: I64677971c865180334958de13d2d82fec3daec85
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: http://dartbug.com/37778
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113821
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2019-08-20 10:57:52 +00:00
Johnni Winther 00e9561798 [cfe] Gather constraints from both possibilities for FutureOr
Closes #37778.

Bug: http://dartbug.com/37778
Change-Id: Ic06da9cf4e24e397e1f2a180b743190a4165dc3e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113033
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-08-20 08:43:22 +00:00
William Hesse 2706114f4d Revert "[infra] Remove non-essential test expectations from kernel status files"
This reverts commit c010458732.

Reason for revert: We believed that the Crash marker had no effect in the -kernel status files, but some of these crashes were vm crashes, so they were suppressing upload of core dumps.  These uploads are failing on Windows builders.

Original change's description:
> [infra] Remove non-essential test expectations from kernel status files
> 
> Change-Id: I959b7847e93c221d77c94bd25f95e913a25e91cd
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113685
> Reviewed-by: Jens Johansen <jensj@google.com>
> Commit-Queue: Karl Klose <karlklose@google.com>

TBR=karlklose@google.com,jensj@google.com

Change-Id: I57978d9253a5889c58444fce3ce6c30b79ab4040
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113691
Reviewed-by: William Hesse <whesse@google.com>
2019-08-19 14:29:45 +00:00
William Hesse a04a567801 Restore "Crash" status to test in status file, accidentally removed.
Change-Id: I9957d129f304f992fca4d56b92d82c6d586194b8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113690
Reviewed-by: Alexander Thomas <athom@google.com>
2019-08-19 14:10:59 +00:00
Karl Klose c010458732 [infra] Remove non-essential test expectations from kernel status files
Change-Id: I959b7847e93c221d77c94bd25f95e913a25e91cd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113685
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Karl Klose <karlklose@google.com>
2019-08-19 12:01:01 +00:00
Martin Kustermann a3f5dfc5ec [vm/gardening] Disable isolate/ping_pause_test
Issue https://github.com/dart-lang/sdk/issues/37787

Change-Id: I2fb6c329ab4ba06136e2b8564440c4dcbb0045ef
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112348
Reviewed-by: Martin Kustermann <kustermann@google.com>
Auto-Submit: Martin Kustermann <kustermann@google.com>
2019-08-08 15:36:43 +00:00
Ryan Macnak d08c203e30 Add various missing argument checks to dart:io natives.
Avoid reflective access to mirrors creating invalid reflectees.

Change type checks in embedding API functions to return UnhandledExceptionErrors instead of APIErrors so they are catchable by Dart.

Fixes invocation_fuzz_test.

Bug: https://github.com/dart-lang/sdk/issues/15274
Bug: https://github.com/dart-lang/sdk/issues/23869
Bug: https://github.com/dart-lang/sdk/issues/37680
Change-Id: Ife3e3cb894c59620b0318e4e08947a3d1d45bab9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110620
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2019-08-01 23:32:40 +00:00
Clement Skau 50c68d1f30 [Test] Fixes flaky racing in lib_2/isolate/spawn_uri_test.
This is similar to https://dart-review.googlesource.com/c/sdk/+/108410.

Prior to this fix, the test was running at ~3% flaky locally:
  ~> tools/test.py -n dartk-optcounter-linux-release-x64 lib_2/isolate/spawn_uri_test --repeat=100

Change-Id: I7d6422eaf5e56ec8fbe0c287da12b19bf13716db
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110913
Commit-Queue: Clement Skau <cskau@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-07-30 10:26:46 +00:00
Clement Skau bdec682558 [Test] Fixes flakiness in spawn_function_test caused by racing.
Previously the test would create and run an isolate, then checking the debugName of the isolate.
However, if the isolate ran to completion and got collected before the check happened, the debugName would be null, causing the test to fail.

The test was running at about 1.5% flakiness when run locally before.
With the change no flakiness was observed across several couple hundred runs.

Tested:
    tools/test.py -n dartk-optcounter-linux-release-x64 \
        lib_2/isolate/spawn_function_test --repeat=1000
Change-Id: I0aea6bbae08fbe321e1bea7301655ad06ec3dcd2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/108410
Reviewed-by: Ben Konyi <bkonyi@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Clement Skau <cskau@google.com>
2019-07-29 10:24:58 +00:00
Ryan Macnak 938d3be958 Revert "Add various missing argument checks to dart:io natives."
This reverts commit ba72890aa7.

Reason for revert: Crash in bytecode modes

Original change's description:
> Add various missing argument checks to dart:io natives.
> 
> Change type checks in embedding API functions to return UnhandledExceptionErrors instead of APIErrors so they are catchable by Dart.
> 
> Fixes invocation_fuzz_test.
> 
> Bug: https://github.com/dart-lang/sdk/issues/15274
> Bug: https://github.com/dart-lang/sdk/issues/23869
> Change-Id: Ia6103e7ffceda897e475c1a3ba534c2f4b910475
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110020
> Commit-Queue: Ryan Macnak <rmacnak@google.com>
> Reviewed-by: Siva Annamalai <asiva@google.com>

TBR=sortie@google.com,rmacnak@google.com,asiva@google.com

Change-Id: Ib52ec03caf4b177cd91bb1d366df51588bf23177
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: https://github.com/dart-lang/sdk/issues/15274, https://github.com/dart-lang/sdk/issues/23869
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110580
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2019-07-25 19:18:23 +00:00
Ryan Macnak ba72890aa7 Add various missing argument checks to dart:io natives.
Change type checks in embedding API functions to return UnhandledExceptionErrors instead of APIErrors so they are catchable by Dart.

Fixes invocation_fuzz_test.

Bug: https://github.com/dart-lang/sdk/issues/15274
Bug: https://github.com/dart-lang/sdk/issues/23869
Change-Id: Ia6103e7ffceda897e475c1a3ba534c2f4b910475
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110020
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2019-07-25 16:40:04 +00:00
Ryan Macnak 9fe8865f4a [vm, bytecode] Implement ParameterMirror and enable mirror tests.
In particular, mirrors_reader_test no longer crashes.

Change-Id: I602e7d85755dafd943fe84d20831f0f35484b387
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/108968
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2019-07-25 00:04:02 +00:00
Lasse R.H. Nielsen aee65636ba Add constructors to Stream which creates single data or error event streams.
Change-Id: I3f570b15d29601a488dc634ab3cc563783868ac2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/108102
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Jonas Jensen <jonasfj@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
2019-07-08 13:38:54 +00:00
Stephen Adams 0a538a4e62 Avoid truncating shift in lib_2/math/low_test
Change-Id: I7902c0839663775abb94c3e2dcfee14ac8e4beb3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/108281
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2019-07-05 19:47:47 +00:00
asiva 585794ab75 Fix status file line.
Change-Id: Idf62118cda425ea0e56439dd78515a1e9de4d2bb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/107940
Auto-Submit: Siva Annamalai <asiva@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
2019-07-02 15:49:15 +00:00
asiva 4a69ef4a50 Skip all spawnURI tests for the simulator architectures as these tests involve invoking the front end for compilation which would mean the front end has to run in simulated mode.
Change-Id: Idce29ff924fb88c909e0faf2dc1107506659dc6b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/107832
Reviewed-by: Alexander Aprelev <aam@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
2019-07-02 15:06:37 +00:00
Nate Bosch cf03e96b90 Remove appJit and precompiled compiler options
Towards #37318

- appJit has been replaced by appJitk and is no longer.
- precompiled has been replaced by dartkp and is no longer used.
- For the precompiled runtime, default to dartkp.
- Remove status file references to these compiler options and normalize
  status files.

Change-Id: I48728db13dc84737092a92314e2f474a9309f4d9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106942
Reviewed-by: Alexander Thomas <athom@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-06-24 16:07:27 +00:00
Nate Bosch 2b56c2c58a Normalize status files
Run `pkg/status_file/bin/normalize.dart` across all status files.

This should solve most presubmit warnings about "existing and possibly
new status file issues".

There are remaining issues in pkg/front_end/testcases/strong.status and
pkg/front_end/testcases/text_serialization.status which will need to be
fixed manually.

Change-Id: Iceae8992c4907442481590d75c1b0a84ce29521b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106726
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Auto-Submit: Nate Bosch <nbosch@google.com>
2019-06-19 23:04:01 +00:00
Nicholas Shahan 939597863b [dartdevc] Move html/debugger_test.dart to compiler/dartdevc_native
Allows the dart:_debugger import to work as it is white-listed in this
directory.

Reveals that DDK is not passing this test. The status changes from a
compile-time to a run-time error.

Change-Id: I3703496a4ede7d155a4d82286040f1a73be677ce
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106360
Reviewed-by: Vijay Menon <vsm@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
2019-06-19 17:48:56 +00:00
Robert Nystrom 99e8a9fba5 Move the test runner (i.e. "test.dart"/"test.py") to pkg/.
This makes it an actual Pub package like most other code inside the SDK
repo. The main goal is to make it easier to write tests for the test
runner itself.

This change:

- Moves all of the code from tools/testing/dart/ over to
  pkg/test_runner. Most of it ends up under test_runner/lib/src.

- Move tools/testing/dart/main.dart to
  pkg/test_runner/bin/test_runner.dart.

- Move standalone_2/io/test_runner_test.dart to
  pkg/test_runner/test/test_runner_test.dart. I don't think it currently
  works, but it wasn't being run in its old location either.

- Add test_runner to the analysis-server bot. This ensures the
  test_runner package is static error clean.

- Remove standalone_2/io/test_runner_analyze_test.dart which used to
  attempt to do the above and is no longer needed.

- Update test.py to look for the test runner at its new location.

- Add test_runner to the repo .packages file and remove the weird
  test_dart pseudo-package. (I think this fixes #35279.)

- Remove status file entries for the removed standalone_2 tests.

There are no code changes to the test runner itself aside from fixing
up import paths.

Change-Id: I3d05d50d222b291848fa5a30de2846e803bc81e6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/105821
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Jonas Termansen <sortie@google.com>
2019-06-14 23:35:10 +00:00
Nate Bosch 8614f86c9b Remove remaining support for dart:isolate on web
Closes #37153

Isolate.resolvePackageUri was the only API which had an implementation
across DDC and dart2js. The implementation in dart2js has been broken by
default since Dart 2.0.0 without a user implemented hook that is not
used on any public repo on github. Our current supported path for
invoking the compilers on projects disallows the import altogether on
the web and it is only usable with an older version of the
`build_web_compilers` package, or by invoking the compiler manually
outside of the build system. This CL does not break the ability to have
the import when invoking outside of the build system.

- Drop implementation for `Isolate.resolvePackageUri` from the dart2js
  and DDC patch files.
- Drop all references to `defaultPackagesBase` since it is not used.
- Drop all tests under `isolate/browser` since we do not expect any
  support on the web. Most of these tests would have already been
  failing. Remove status file entries that refer to the deleted tests.

Change-Id: I4a19213b0946d835c00e9c107a714f3bc5672f86
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/105080
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Nate Bosch <nbosch@google.com>
2019-06-07 21:13:06 +00:00
Alexander Aprelev 4ccae238ea [vm/isolate] Add TransferableTypedData class that allows low-cost passing of Uint8List between isolates.
TransferableTypedData instances are one-use kind of thing: once receiver materializes it, it can't be used
again, once sender sends it out to an isolate, sender can't send it to different isolate.

Example of use:

sender isolate:

```
Future<TransferableTypedData> consolidateHttpClientResponseBytes(HttpClientResponse response) {
  final completer = Completer<TransferableTypedData>();
  final chunks = <Uint8List>[];
  response.listen((List<int> chunk) {
    chunks.add(chunk);
  }, onDone: () {
    completer.complete(TransferableTypedData.fromList(chunks));
  });
  return completer.future;
}
...
sendPort.send(await consolidateHttpClientResponseBytes(response));
```

receiver isolate:
```
    RawReceivePort port = RawReceivePort((TransferableTypedData transferable) {
      Uint8List content = transferable.materialize().asUint8List();
      ...
    });
```

31959[tr] and 31960[tr] tests were inspired by dartbug.com/31959, dartbug.com/31960 that this CL attempts to address:
```
╰─➤  out/ReleaseX64/dart 31960.dart
sending...
163ms for round-trip
sending...
81ms for round-trip
sending...
20ms for round-trip
sending...
14ms for round-trip
sending...
20ms for round-trip
sending...
14ms for round-trip
```

(notice no "since last checking" pauses") vs

```
╰─➤  out/ReleaseX64/dart 31960.dart
sending...
154ms since last checkin
174ms for round-trip
sending...
68ms since last checkin
9ms since last checkin
171ms for round-trip
sending...
13ms since last checkin
108ms for round-trip
sending...
14ms since last checkin
108ms for round-trip
sending...
14ms since last checkin
107ms for round-trip
```

Change-Id: I0fcb5ce285394f498c3f1db4414204531f98199d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99623
Commit-Queue: Alexander Aprelev <aam@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-06-06 19:49:07 +00:00
Alexander Thomas 182d55dfda [dart2js] Add support for BabelJS to test.py
This adds support for BabelJS to test.py's dart2js compiler
configuration. When --babel is specified directly or through a named
configuration, test.py will run an additional step after dart2js that
post-processes the javascript output by running it through BabelJS with
the specified Babel configuration. BabelJS is added to the DEPS in its
standalone form. d8 is used to run BabelJS standalone to avoid adding
a dependency on NodeJS. d8 can only write to stdout but not to files or
stderr, which makes it necessary to change the test_runner to handle
commands that expect their output to be piped to a file.

Changes:
* Add --babel option to test.py.
* Add babel option to pkg/smith.
* Switch IE11 builder to use babel transformation.
* Fix option list comparison bugs in pkg/smith.
* Change dart2js compiler configuration to generate files using the
  test name rather than just "out.js" (update test that relied on this).
* Remove runtime_configuration dependency on test_suite.
* Remove obsolete blocks adding --preview-dart-2 dart2js arguments.
* Make dart2js' compiler configuration more like DDC's.
* Remove createCommand method that is no longer used.
* Remove support for "OtherResources" which was only used for
  dart:isolate tests on dart2js and DDC.
* Skip co19_2 tests that are slow to transform with babel.
* Simplify the timeout handling in the test runner with Future.timeout.

Change-Id: I32e4917b2a57ecbe684538e40d744f0101c552a0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/90402
Commit-Queue: Alexander Thomas <athom@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2019-05-29 08:39:44 +00:00
Lasse R.H. Nielsen 82c8c78739 Make StreamTransformer(..) transformed stream mimic original's isBroadcast.
BUG= http://dartbug.com/36965

Change-Id: I5dd156a635c1750d136206b030ee71a78b0e2ad3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102369
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-05-20 12:44:05 +00:00
Nicholas Shahan 86c7165969 [tests] Avoid use of $strong because it is always true now
* Remove all `&&  $strong` clauses.
* Delete all sections that include a `&& !$strong` clause.

Change-Id: Idd32cf5623793e3f98e3e998025bac079d88e2f1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102223
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2019-05-16 17:41:27 +00:00
Sigmund Cherem fb29d0e96d Move async_minitest to package:async_helper.
This allows to break a circular dependency between package:expect and

package:async_helper, which will simplify the support for modular tests using
package:modular_test.
Change-Id: Ie48723d3f35d51a8fbe622e0158450e8104fe3f5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102140
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-05-10 19:43:58 +00:00
Alexander Markov 0b9060ec1d [vm] Fixes for flaky crashes when querying source or source location
There were no checks for missing source or source position, which
caused flaky crashes while running test mirrors/mirrors_reader_test.

Change-Id: I73497414ebe7b030ba308851038e0ef9e133aa48
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/100781
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2019-04-29 22:10:38 +00:00
Alan Knight f3bd910e10 Only use MapFormatter for SDK maps (HashMap and LinkedHashMap)
For classes that implement Map, using MapFormatter can result in many,
many custom format operations. Also, the presentation is not that
useful. We get e.g. a list of indices that then have a name and value
beside them, so it just duplicates the Object view, but with extra
non-useful data.

Change-Id: I74ed34521778bddae9cdad975339925d7c181bf3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/100282
Commit-Queue: Alan Knight <alanknight@google.com>
Reviewed-by: Jacob Richman <jacobr@google.com>
2019-04-24 22:08:45 +00:00
Jenny Messerly 2c304d997f [dartdevc] fix #36372, make JS Array constructor property usable from JS
The `new array.constructor()` pattern is occasionally used in JS
(presumably, to get the array subtype if one is available). GopherJS in
particular does this. This fixes DDC's generic `JSArray<T>` to support
this pattern, for all values of T. This also makes JSArray work like
all other "native" types in DDC, where the "constructor" property
is the JS constructor for that native type.

Change-Id: I5270bd648d3d60cf07b8548fcd8c9b9d1a3018d4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99940
Auto-Submit: Jenny Messerly <jmesserly@google.com>
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Commit-Queue: Jenny Messerly <jmesserly@google.com>
2019-04-22 22:43:14 +00:00
Sigmund Cherem 4b7d256a06 Revert "Enable constant-update-2018 by default." and "Update .expect files in pkg/front_end after e9ca6a53"
This reverts commit e9ca6a5335 and d3e00fd35e.

Change-Id: I346d6156be19c4fceffa202a7ce9bfa931c7c14b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99560
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2019-04-16 20:20:12 +00:00
Aske Simon Christensen e9ca6a5335 Enable constant-update-2018 by default.
Fixes https://github.com/dart-lang/sdk/issues/32517
Fixes https://github.com/dart-lang/sdk/issues/34189
Fixes https://github.com/dart-lang/sdk/issues/34192
Fixes https://github.com/dart-lang/sdk/issues/34205

Unskipping the skipped tests is tracked by
https://github.com/dart-lang/sdk/issues/36433 and
https://github.com/dart-lang/sdk/issues/36595.

Expectation files for front-end tests will need to be updated to make
front-end builders green. They are part of unapprovable suites.

Change-Id: I311f449af6feff5bf40740227a95aa06e0a9d84f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99169
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2019-04-12 13:30:15 +00:00
Alexander Markov 07482eeb5e [bots] Run all tests on vm-dartkb-* bots
Bytecode configurations should have the same test coverage as default mode.

The following tests are excluded in dartkb mode as there are too many crashes:
 - service/* (debugging capabilities are not supported);
 - lib_2/mirrors/* (mirrors are not supported);
 - vm/cc/* (bytecode modes are not wired up in run_vm_tests).

Change-Id: I11eead94b96f43ab454acd6e6f6861af943c0488
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97847
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2019-04-05 18:25:34 +00:00
Ben Konyi ac2c934563 Reland "[ VM / dart:isolate ] Added ability to set names for spawned isolates."
This reverts commit 638f13ff3d.

Change-Id: Ib5015539b1c93791c2469be6995789f8f0362806
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97845
Commit-Queue: Ben Konyi <bkonyi@google.com>
Auto-Submit: Ben Konyi <bkonyi@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2019-03-28 16:39:50 +00:00
Stephen Adams 9b185051a9 Don't use lazy static initializer in Random.secure()
The lazy static initializer returns null after throwing on the first use.

Change-Id: I44fbb6f8af263dc5c813ed5dff2291fb27e48b4e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96984
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2019-03-15 17:45:06 +00:00
Daco Harkes 638f13ff3d Revert "[ VM / dart:isolate ] Added ability to set names for spawned isolates."
This reverts commit 59525264e8.

Reason for revert: causes Flutter test observatory and protocol to deadlock.
Issue: https://github.com/dart-lang/sdk/issues/36232

Original change's description:
> [ VM / dart:isolate ] Added ability to set names for spawned isolates.
> 
> Fixes issue #34059
> 
> Change-Id: I315498b02edc184e9e408c93eddb78aa1a5a8a1d
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/90341
> Commit-Queue: Ben Konyi <bkonyi@google.com>
> Reviewed-by: Sigmund Cherem <sigmund@google.com>
> Reviewed-by: Ryan Macnak <rmacnak@google.com>

TBR=bkonyi@google.com,rmacnak@google.com,asiva@google.com,sigmund@google.com

Change-Id: I5f2115a2ac394a8d4c7c175bc97f2b88b65fcb49
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97107
Reviewed-by: Daco Harkes <dacoharkes@google.com>
Commit-Queue: Daco Harkes <dacoharkes@google.com>
2019-03-15 14:40:37 +00:00
Ben Konyi 59525264e8 [ VM / dart:isolate ] Added ability to set names for spawned isolates.
Fixes issue #34059

Change-Id: I315498b02edc184e9e408c93eddb78aa1a5a8a1d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/90341
Commit-Queue: Ben Konyi <bkonyi@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2019-03-14 22:23:09 +00:00
Ryan Macnak 975cc65c17 [vm, interpreter] Implement interpreter stubs for IA32.
Change-Id: I7bb7e51cb46868abcc10c7dcc7cbf1db1ccdc35c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/95264
Reviewed-by: Régis Crelier <regis@google.com>
2019-03-06 21:09:30 +00:00
Johnni Winther 204651f3ab Replace package:expect annotations with @pragma
Change-Id: Ib43d0d71a3ee8b0f0e6d676e6a3e448a107b7ca5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/95180
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2019-03-05 11:00:17 +00:00
Aske Simon Christensen 99093c0610 [fasta] Required but not inferred constant context.
Add a new kind of constant context in the body builder for expressions
that must be constant but where constness is not inferred.

This context is used for parameter default values and initializing
expressions for non-final fields in classes containing at least one
const constructor.

Fixes https://github.com/dart-lang/sdk/issues/34191

Change-Id: I200ca88586b19335b185dad0839dfad4eef1f75f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/93520
Commit-Queue: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2019-03-05 09:23:57 +00:00
Ryan Macnak d253642f25 [standalone] Fix isolate messages for processes that a creating an AppJIT snapshot.
The standalone embedder was sorting classes in the main isolate, but not child isolates, causing the CIDs to diverge.

Also fix a few isolate tests.

Bug: https://github.com/dart-lang/sdk/issues/33128
Bug: https://github.com/dart-lang/sdk/issues/36000
Change-Id: Ic21acb02eb623ae177ed242aa21b0e243775e369
Reviewed-on: https://dart-review.googlesource.com/c/93923
Reviewed-by: Régis Crelier <regis@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2019-02-21 22:39:39 +00:00