26c0de0acf
This is to ensure that deferred library status is per isolate, rather than per isolate-group. TEST=deferred_isolate_test.dart Issue dartbug.com/36097 Change-Id: I1fb8b8f1830aac688a078fe0a82b06c7daa856fa Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/184040 Commit-Queue: Alexander Aprelev <aam@google.com> Reviewed-by: Ryan Macnak <rmacnak@google.com>
29 lines
870 B
Dart
29 lines
870 B
Dart
// Copyright (c) 2020, 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.
|
|
|
|
// Verify deferred library status is per-isolate, not per-isolate-group.
|
|
|
|
// VMOptions=--enable_isolate_groups --experimental_enable_isolate_groups_jit
|
|
|
|
import 'dart:async';
|
|
import 'dart:isolate';
|
|
import 'package:expect/expect.dart';
|
|
|
|
import "splay_test.dart" deferred as splay;
|
|
|
|
worker(SendPort sendPort) {
|
|
Expect.throws(() => splay.main(),
|
|
(e) => e.toString() == "Deferred library splay was not loaded.");
|
|
sendPort.send(true);
|
|
}
|
|
|
|
main() async {
|
|
await splay.loadLibrary();
|
|
splay.main();
|
|
final receivePort = ReceivePort();
|
|
Isolate.spawn(worker, receivePort.sendPort);
|
|
Expect.isTrue(await receivePort.first);
|
|
receivePort.close();
|
|
}
|