| Index: tests/standalone/src/ProcessStderrTest.dart
|
| diff --git a/tests/standalone/src/ProcessStderrTest.dart b/tests/standalone/src/ProcessStderrTest.dart
|
| index 86161b707f5e87919e0fd54e14f5037415af863a..ae6d2670f3c4efdfa23e76bf7562db33180c1e52 100644
|
| --- a/tests/standalone/src/ProcessStderrTest.dart
|
| +++ b/tests/standalone/src/ProcessStderrTest.dart
|
| @@ -16,33 +16,35 @@ class ProcessStderrTest {
|
| const ["1", "1", "99", "0"]);
|
| final int BUFFERSIZE = 10;
|
| final int STARTCHAR = 65;
|
| - List<int> buffer = new List<int>(BUFFERSIZE);
|
| + List<int> data = new List<int>(BUFFERSIZE);
|
| for (int i = 0; (i < BUFFERSIZE - 1); i++) {
|
| - buffer[i] = STARTCHAR + i;
|
| + data[i] = STARTCHAR + i;
|
| }
|
| - buffer[BUFFERSIZE - 1] = 10;
|
| + data[BUFFERSIZE - 1] = 10;
|
|
|
| InputStream input = process.stderr;
|
| OutputStream output = process.stdin;
|
|
|
| process.start();
|
|
|
| - List<int> readBuffer = new List<int>(BUFFERSIZE);
|
| + int received = 0;
|
|
|
| void dataWritten() {
|
| void readData() {
|
| - for (int i = 0; i < BUFFERSIZE; i++) {
|
| - Expect.equals(buffer[i], readBuffer[i]);
|
| + List<int> buffer = input.read();
|
| + for (int i = 0; i < buffer.length; i++) {
|
| + Expect.equals(data[received + i], buffer[i]);
|
| + }
|
| + received += buffer.length;
|
| + if (received == BUFFERSIZE) {
|
| + process.close();
|
| }
|
| - process.close();
|
| }
|
|
|
| - bool read = input.read(readBuffer, 0, BUFFERSIZE, readData);
|
| - if (read) {
|
| - readData();
|
| - }
|
| + input.dataHandler = readData;
|
| }
|
| - bool written = output.write(buffer, 0, BUFFERSIZE, dataWritten);
|
| +
|
| + bool written = output.write(data, 0, BUFFERSIZE, dataWritten);
|
| if (written) {
|
| dataWritten();
|
| }
|
|
|