blob: ba704e871fe78d49dba790ba98373011bdd1bdb7 [file] [log] [blame]
// Copyright (c) 2013, 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.
// @dart = 2.9
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
// VMOptions=--no-enable-isolate-groups
import "dart:async";
import "dart:isolate";
import "package:expect/expect.dart";
main() {
print("Spawning isolate.");
var t = new Timer(new Duration(seconds: 30), () {
// it might take some time for new isolate to get spawned from source since
// it needs to be compiled first.
Expect.fail("Isolate was not spawned successfully.");
});
var rp = new RawReceivePort();
rp.handler = (msg) {
print("Spawned main called.");
Expect.equals(msg, 50);
rp.close();
};
Isolate
.spawnUri(Uri.parse("spawn_uri_exported_main.dart"), null, rp.sendPort)
.then((_) {
print("Loaded");
t.cancel();
});
}