Files
sdk/runtime/tests/vm/dart/deferred_isolate_test.dart
T
Alexander Aprelev 26c0de0acf [vm/deferred] Keep deferred library prefix status on isolate.
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>
2021-02-11 18:00:59 +00:00

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();
}