// 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. // 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"), [], rp.sendPort) .then((_) { print("Loaded"); t.cancel(); }); }