diff --git a/LibTest/isolate/Isolate/ping_A03_t01.dart b/LibTest/isolate/Isolate/ping_A03_t01.dart index 2ea39eb8d1..ba8d6540f7 100644 --- a/LibTest/isolate/Isolate/ping_A03_t01.dart +++ b/LibTest/isolate/Isolate/ping_A03_t01.dart @@ -35,7 +35,8 @@ import "dart:async"; import "../../../Utils/expect.dart"; import "IsolateUtil.dart"; -entryPoint(message){ +entryPoint(message) { + message.send("Started"); Random random = new Random(); int s = 0; while (true){ @@ -44,14 +45,15 @@ entryPoint(message){ } test() async { + ReceivePort port = new ReceivePort(); ReceivePort onExit = new ReceivePort(); Isolate isolate = await Isolate.spawn( entryPoint, - null, // message + port.sendPort, onExit:onExit.sendPort, errorsAreFatal:true ); - // check + await port.first; ReceivePort pingPort = new ReceivePort(); isolate.ping(pingPort.sendPort, priority:Isolate.beforeNextEvent); Future pingResponse = pingPort.first.timeout(TWO_SECONDS, onTimeout: () { @@ -59,7 +61,7 @@ test() async { return "timeout"; }); Expect.equals("timeout", await pingResponse); - // clean up + isolate.kill(priority:Isolate.immediate); await onExit.first; asyncEnd(); diff --git a/LibTest/isolate/Isolate/ping_A03_t02.dart b/LibTest/isolate/Isolate/ping_A03_t02.dart index 04e53c42ae..3c3d978b00 100644 --- a/LibTest/isolate/Isolate/ping_A03_t02.dart +++ b/LibTest/isolate/Isolate/ping_A03_t02.dart @@ -35,42 +35,36 @@ import "dart:async"; import "../../../Utils/expect.dart"; import "IsolateUtil.dart"; -entryPoint(message){ +entryPoint(SendPort message) { + message.send("Started"); Random random = new Random(); int s = 0; - while (true){ + while (true) { s = -s + random.nextInt(100); } } Future test(List values) async { + ReceivePort port = new ReceivePort(); ReceivePort onExit = new ReceivePort(); - Isolate isolate = await Isolate.spawn( - entryPoint, - null, // message - onExit:onExit.sendPort, - errorsAreFatal:true - ); - // check + Isolate isolate = await Isolate.spawn(entryPoint, port.sendPort, + onExit: onExit.sendPort, errorsAreFatal: true); + await port.first; List pingResponses = []; for (Object value in values) { ReceivePort pingPort = new ReceivePort(); - isolate.ping( - pingPort.sendPort, - response:value, - priority:Isolate.beforeNextEvent - ); + isolate.ping(pingPort.sendPort, + response: value, priority: Isolate.beforeNextEvent); Future pingResponse = pingPort.first.timeout(TWO_SECONDS, onTimeout: () { pingPort.close(); return "timeout"; }); pingResponses.add(pingResponse); } - for (Object response in await Future.wait(pingResponses)){ - Expect.equals("timeout",response); + for (Object response in await Future.wait(pingResponses)) { + Expect.equals("timeout", response); } - // clean up - isolate.kill(priority:Isolate.immediate); + isolate.kill(priority: Isolate.immediate); await onExit.first; asyncEnd(); } @@ -79,9 +73,16 @@ main() { asyncStart(); test([ null, - 0, 1, -1, - true, false, - "", "string", - 1.1, double.nan, double.infinity, 0.0 + 0, + 1, + -1, + true, + false, + "", + "string", + 1.1, + double.nan, + double.infinity, + 0.0 ]); }