Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(184)

Side by Side Diff: tests/standalone/typed_array_int64_uint64_test.dart

Issue 1477043002: Fix tests that don't catch asynchronous errors from isolate spawning. Update co19 status. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « tests/language/issue23244_test.dart ('k') | tests/standalone/typed_array_test.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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 // Dart test program for testing native typed arrays, int64 and uint64 only. 5 // Dart test program for testing native typed arrays, int64 and uint64 only.
6 6
7 // Library tag to be able to run in html test framework. 7 // Library tag to be able to run in html test framework.
8 library TypedArray; 8 library TypedArray;
9 import "package:expect/expect.dart"; 9 import "package:expect/expect.dart";
10 import 'package:async_helper/async_helper.dart';
11 import 'dart:async';
10 import 'dart:isolate'; 12 import 'dart:isolate';
11 import 'dart:typed_data'; 13 import 'dart:typed_data';
12 14
13 void main() { 15 main() {
14 int64_receiver(); 16 test(int64_receiver);
15 uint64_receiver(); 17 test(uint64_receiver);
18 }
19
20 test(f) {
21 asyncStart();
22 return f().whenComplete(asyncEnd);
16 } 23 }
17 24
18 // Int64 array. 25 // Int64 array.
19 Int64List initInt64() { 26 Int64List initInt64() {
20 var int64 = new Int64List(2); 27 var int64 = new Int64List(2);
21 int64[0] = 10000000; 28 int64[0] = 10000000;
22 int64[1] = 100000000; 29 int64[1] = 100000000;
23 return int64; 30 return int64;
24 } 31 }
25 Int64List int64 = initInt64(); 32 Int64List int64 = initInt64();
26 33
27 void int64_receiver() { 34 int64_receiver() {
28 var response = new ReceivePort(); 35 var response = new ReceivePort();
29 var remote = Isolate.spawn(int64_sender, [int64.length, response.sendPort]); 36 var remote = Isolate.spawn(int64_sender, [int64.length, response.sendPort]);
30 response.first.then((a) { 37 asyncStart();
38 return response.first.then((a) {
31 Expect.equals(int64.length, a.length); 39 Expect.equals(int64.length, a.length);
32 for (int i = 0; i < a.length; i++) { 40 for (int i = 0; i < a.length; i++) {
33 Expect.equals(int64[i], a[i]); 41 Expect.equals(int64[i], a[i]);
34 } 42 }
35 print("int64_receiver"); 43 print("int64_receiver");
44 asyncEnd();
36 }); 45 });
37 } 46 }
38 47
39 int64_sender(message) { 48 int64_sender(message) {
40 var len = message[0]; 49 var len = message[0];
41 var r = message[1]; 50 var r = message[1];
42 Expect.equals(int64.length, len); 51 Expect.equals(int64.length, len);
43 var a = new Int64List(len); 52 var a = new Int64List(len);
44 for (int i = 0; i < len; i++) { 53 for (int i = 0; i < len; i++) {
45 a[i] = int64[i]; 54 a[i] = int64[i];
46 } 55 }
47 r.send(a); 56 r.send(a);
48 } 57 }
49 58
50 59
51 // Uint64 array. 60 // Uint64 array.
52 Uint64List initUint64() { 61 Uint64List initUint64() {
53 var uint64 = new Uint64List(2); 62 var uint64 = new Uint64List(2);
54 uint64[0] = 0xffffffffffffffff; 63 uint64[0] = 0xffffffffffffffff;
55 uint64[1] = 0x7fffffffffffffff; 64 uint64[1] = 0x7fffffffffffffff;
56 return uint64; 65 return uint64;
57 } 66 }
58 Uint64List uint64 = initUint64(); 67 Uint64List uint64 = initUint64();
59 68
60 void uint64_receiver() { 69 uint64_receiver() {
61 var response = new ReceivePort(); 70 var response = new ReceivePort();
62 var remote = Isolate.spawn(uint64_sender, [uint64.length, response.sendPort]); 71 var remote = Isolate.spawn(uint64_sender, [uint64.length, response.sendPort]);
63 response.first.then((a) { 72 asyncStart();
73 return response.first.then((a) {
64 Expect.equals(uint64.length, a.length); 74 Expect.equals(uint64.length, a.length);
65 for (int i = 0; i < a.length; i++) { 75 for (int i = 0; i < a.length; i++) {
66 Expect.equals(uint64[i], a[i]); 76 Expect.equals(uint64[i], a[i]);
67 } 77 }
68 print("uint64_receiver"); 78 print("uint64_receiver");
79 asyncEnd();
69 }); 80 });
70 } 81 }
71 82
72 uint64_sender(message) { 83 uint64_sender(message) {
73 var len = message[0]; 84 var len = message[0];
74 var r = message[1]; 85 var r = message[1];
75 Expect.equals(uint64.length, len); 86 Expect.equals(uint64.length, len);
76 var a = new Uint64List(len); 87 var a = new Uint64List(len);
77 for (int i = 0; i < len; i++) { 88 for (int i = 0; i < len; i++) {
78 a[i] = uint64[i]; 89 a[i] = uint64[i];
79 } 90 }
80 r.send(a); 91 r.send(a);
81 } 92 }
OLDNEW
« no previous file with comments | « tests/language/issue23244_test.dart ('k') | tests/standalone/typed_array_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698