| OLD | NEW |
| 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 @TestOn("vm") | 5 @TestOn("vm") |
| 6 | 6 |
| 7 import 'dart:async'; | 7 import 'dart:async'; |
| 8 import 'dart:isolate'; | 8 import 'dart:isolate'; |
| 9 | 9 |
| 10 import 'package:test/src/backend/invoker.dart'; | 10 import 'package:test/src/backend/invoker.dart'; |
| (...skipping 287 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 298 Future<ReceivePort> _spawnIsolate(void entryPoint(SendPort sendPort)) { | 298 Future<ReceivePort> _spawnIsolate(void entryPoint(SendPort sendPort)) { |
| 299 var receivePort = new ReceivePort(); | 299 var receivePort = new ReceivePort(); |
| 300 return Isolate.spawn(entryPoint, receivePort.sendPort).then((isolate) { | 300 return Isolate.spawn(entryPoint, receivePort.sendPort).then((isolate) { |
| 301 _isolate = isolate; | 301 _isolate = isolate; |
| 302 return receivePort; | 302 return receivePort; |
| 303 }); | 303 }); |
| 304 } | 304 } |
| 305 | 305 |
| 306 /// An isolate entrypoint that throws immediately. | 306 /// An isolate entrypoint that throws immediately. |
| 307 void _loadError(SendPort sendPort) => | 307 void _loadError(SendPort sendPort) => |
| 308 IsolateListener.start(sendPort, () => () => throw 'oh no'); | 308 IsolateListener.start(sendPort, new Metadata(), () => () => throw 'oh no'); |
| 309 | 309 |
| 310 /// An isolate entrypoint that throws a NoSuchMethodError. | 310 /// An isolate entrypoint that throws a NoSuchMethodError. |
| 311 void _noSuchMethodError(SendPort sendPort) { | 311 void _noSuchMethodError(SendPort sendPort) { |
| 312 return IsolateListener.start(sendPort, () => | 312 return IsolateListener.start(sendPort, new Metadata(), () => |
| 313 throw new NoSuchMethodError(null, #main, [], {})); | 313 throw new NoSuchMethodError(null, #main, [], {})); |
| 314 } | 314 } |
| 315 | 315 |
| 316 /// An isolate entrypoint that returns a non-function. | 316 /// An isolate entrypoint that returns a non-function. |
| 317 void _nonFunction(SendPort sendPort) => | 317 void _nonFunction(SendPort sendPort) => |
| 318 IsolateListener.start(sendPort, () => null); | 318 IsolateListener.start(sendPort, new Metadata(), () => null); |
| 319 | 319 |
| 320 /// An isolate entrypoint that returns a function with the wrong arity. | 320 /// An isolate entrypoint that returns a function with the wrong arity. |
| 321 void _wrongArity(SendPort sendPort) => | 321 void _wrongArity(SendPort sendPort) => |
| 322 IsolateListener.start(sendPort, () => (_) {}); | 322 IsolateListener.start(sendPort, new Metadata(), () => (_) {}); |
| 323 | 323 |
| 324 /// An isolate entrypoint that defines three tests that succeed. | 324 /// An isolate entrypoint that defines three tests that succeed. |
| 325 void _successfulTests(SendPort sendPort) { | 325 void _successfulTests(SendPort sendPort) { |
| 326 IsolateListener.start(sendPort, () => () { | 326 IsolateListener.start(sendPort, new Metadata(), () => () { |
| 327 test("successful 1", () {}); | 327 test("successful 1", () {}); |
| 328 test("successful 2", () {}); | 328 test("successful 2", () {}); |
| 329 test("successful 3", () {}); | 329 test("successful 3", () {}); |
| 330 }); | 330 }); |
| 331 } | 331 } |
| 332 | 332 |
| 333 /// An isolate entrypoint that defines a test that fails. | 333 /// An isolate entrypoint that defines a test that fails. |
| 334 void _failingTest(SendPort sendPort) { | 334 void _failingTest(SendPort sendPort) { |
| 335 IsolateListener.start(sendPort, () => () { | 335 IsolateListener.start(sendPort, new Metadata(), () => () { |
| 336 test("failure", () => throw new TestFailure('oh no')); | 336 test("failure", () => throw new TestFailure('oh no')); |
| 337 }); | 337 }); |
| 338 } | 338 } |
| 339 | 339 |
| 340 /// An isolate entrypoint that defines a test that fails after succeeding. | 340 /// An isolate entrypoint that defines a test that fails after succeeding. |
| 341 void _failAfterSucceedTest(SendPort sendPort) { | 341 void _failAfterSucceedTest(SendPort sendPort) { |
| 342 IsolateListener.start(sendPort, () => () { | 342 IsolateListener.start(sendPort, new Metadata(), () => () { |
| 343 test("fail after succeed", () { | 343 test("fail after succeed", () { |
| 344 pumpEventQueue().then((_) { | 344 pumpEventQueue().then((_) { |
| 345 throw new TestFailure('oh no'); | 345 throw new TestFailure('oh no'); |
| 346 }); | 346 }); |
| 347 }); | 347 }); |
| 348 }); | 348 }); |
| 349 } | 349 } |
| 350 | 350 |
| 351 /// An isolate entrypoint that defines a test that fails multiple times. | 351 /// An isolate entrypoint that defines a test that fails multiple times. |
| 352 void _multiFailTest(SendPort sendPort) { | 352 void _multiFailTest(SendPort sendPort) { |
| 353 IsolateListener.start(sendPort, () => () { | 353 IsolateListener.start(sendPort, new Metadata(), () => () { |
| 354 test("multiple failures", () { | 354 test("multiple failures", () { |
| 355 Invoker.current.addOutstandingCallback(); | 355 Invoker.current.addOutstandingCallback(); |
| 356 new Future(() => throw new TestFailure("one")); | 356 new Future(() => throw new TestFailure("one")); |
| 357 new Future(() => throw new TestFailure("two")); | 357 new Future(() => throw new TestFailure("two")); |
| 358 new Future(() => throw new TestFailure("three")); | 358 new Future(() => throw new TestFailure("three")); |
| 359 new Future(() => throw new TestFailure("four")); | 359 new Future(() => throw new TestFailure("four")); |
| 360 }); | 360 }); |
| 361 }); | 361 }); |
| 362 } | 362 } |
| 363 | 363 |
| 364 /// An isolate entrypoint that defines a test that errors. | 364 /// An isolate entrypoint that defines a test that errors. |
| 365 void _errorTest(SendPort sendPort) { | 365 void _errorTest(SendPort sendPort) { |
| 366 IsolateListener.start(sendPort, () => () { | 366 IsolateListener.start(sendPort, new Metadata(), () => () { |
| 367 test("error", () => throw 'oh no'); | 367 test("error", () => throw 'oh no'); |
| 368 }); | 368 }); |
| 369 } | 369 } |
| 370 | 370 |
| 371 /// An isolate entrypoint that defines a test that errors after succeeding. | 371 /// An isolate entrypoint that defines a test that errors after succeeding. |
| 372 void _errorAfterSucceedTest(SendPort sendPort) { | 372 void _errorAfterSucceedTest(SendPort sendPort) { |
| 373 IsolateListener.start(sendPort, () => () { | 373 IsolateListener.start(sendPort, new Metadata(), () => () { |
| 374 test("error after succeed", () { | 374 test("error after succeed", () { |
| 375 pumpEventQueue().then((_) => throw 'oh no'); | 375 pumpEventQueue().then((_) => throw 'oh no'); |
| 376 }); | 376 }); |
| 377 }); | 377 }); |
| 378 } | 378 } |
| 379 | 379 |
| 380 /// An isolate entrypoint that defines a test that errors multiple times. | 380 /// An isolate entrypoint that defines a test that errors multiple times. |
| 381 void _multiErrorTest(SendPort sendPort) { | 381 void _multiErrorTest(SendPort sendPort) { |
| 382 IsolateListener.start(sendPort, () => () { | 382 IsolateListener.start(sendPort, new Metadata(), () => () { |
| 383 test("multiple errors", () { | 383 test("multiple errors", () { |
| 384 Invoker.current.addOutstandingCallback(); | 384 Invoker.current.addOutstandingCallback(); |
| 385 new Future(() => throw "one"); | 385 new Future(() => throw "one"); |
| 386 new Future(() => throw "two"); | 386 new Future(() => throw "two"); |
| 387 new Future(() => throw "three"); | 387 new Future(() => throw "three"); |
| 388 new Future(() => throw "four"); | 388 new Future(() => throw "four"); |
| 389 }); | 389 }); |
| 390 }); | 390 }); |
| 391 } | 391 } |
| 392 | 392 |
| 393 /// An isolate entrypoint that defines a test that prints twice. | 393 /// An isolate entrypoint that defines a test that prints twice. |
| 394 void _printTest(SendPort sendPort) { | 394 void _printTest(SendPort sendPort) { |
| 395 IsolateListener.start(sendPort, () => () { | 395 IsolateListener.start(sendPort, new Metadata(), () => () { |
| 396 test("prints", () { | 396 test("prints", () { |
| 397 print("Hello,"); | 397 print("Hello,"); |
| 398 return new Future(() => print("world!")); | 398 return new Future(() => print("world!")); |
| 399 }); | 399 }); |
| 400 }); | 400 }); |
| 401 } | 401 } |
| 402 | 402 |
| OLD | NEW |