6b3abe0a98
Issue b/177800357. TEST=existing test suite Change-Id: Id6b113932ab7014b8fa6c105845c5c490b60f5e8 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/181320 Commit-Queue: Alexander Aprelev <aam@google.com> Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
36 lines
1.0 KiB
Dart
36 lines
1.0 KiB
Dart
// Copyright (c) 2015, 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.
|
|
|
|
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
|
// VMOptions=--no-enable-isolate-groups
|
|
|
|
import 'dart:io';
|
|
import 'dart:isolate';
|
|
|
|
final SPAWN_PACKAGE_ROOT = "file:///no/such/file/";
|
|
|
|
main([args, port]) async {
|
|
if (port != null) {
|
|
testPackageRoot(port);
|
|
return;
|
|
}
|
|
var p = new RawReceivePort();
|
|
Isolate.spawnUri(Platform.script, [], p.sendPort,
|
|
packageRoot: Uri.parse(SPAWN_PACKAGE_ROOT));
|
|
p.handler = (msg) {
|
|
p.close();
|
|
if (msg != null) {
|
|
throw "Bad package root in child isolate: $msg";
|
|
}
|
|
print("SUCCESS");
|
|
};
|
|
print("Spawning isolate's package root: ${await Isolate.packageRoot}");
|
|
}
|
|
|
|
testPackageRoot(port) async {
|
|
var packageRoot = await Isolate.packageRoot;
|
|
print("Spawned isolate's package root: $packageRoot");
|
|
port.send(packageRoot);
|
|
}
|