Files
sdk/tests/lib/isolate/stacktrace_message_test.dart
T
asiva a980fb1849 [Tests/NNBD] - Migrate initial set of isolate tests for NNBD.
Fix all warnings/errors when running with --enable-experiment=non-nullable flag

Change-Id: I7673aa34466273d623f7a429d96b0ccd6b612dae
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/139980
Commit-Queue: Siva Annamalai <asiva@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
2020-03-19 20:07:58 +00:00

43 lines
1.1 KiB
Dart

// 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.
import 'dart:isolate';
import "package:expect/expect.dart";
import "package:async_helper/async_helper.dart";
// Test that StackTrace objects can be sent between isolates spawned from
// the same isolate using Isolate.spawn.
void main() {
asyncStart();
ReceivePort reply = new ReceivePort();
Isolate.spawn(runTest, reply.sendPort);
reply.first.then((pair) {
StackTrace stack = pair[0];
String stackString = pair[1];
if (stack == null) {
print("Failed to send stack-trace");
print(stackString);
Expect.fail("Sending stack-trace");
}
Expect.equals(stackString, "!$stack");
print(stack);
asyncEnd();
});
}
runTest(SendPort sendport) {
try {
throw 'sorry';
} catch (e, stack) {
try {
sendport.send([stack, "$stack"]);
print("Stacktrace sent");
} catch (e, s) {
print("Stacktrace not sent");
sendport.send([null, "$e\n$s"]);
}
}
}