7911fb2683
Change-Id: Ib2d7738c84cd1258dcad46e8e2c8da8105efea60 Reviewed-on: https://dart-review.googlesource.com/59100 Reviewed-by: Kevin Moore <kevmoo@google.com> Reviewed-by: Ryan Macnak <rmacnak@google.com> Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
33 lines
926 B
Dart
33 lines
926 B
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.
|
|
|
|
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);
|
|
}
|