| Index: tests/standalone/src/EchoServerTest.dart
|
| diff --git a/tests/standalone/src/EchoServerTest.dart b/tests/standalone/src/EchoServerTest.dart
|
| index 4e53729815f8810919a647ca154db00cd5c9636c..09bb016e04f1e36d6ab3192b188f6539fd66c761 100644
|
| --- a/tests/standalone/src/EchoServerTest.dart
|
| +++ b/tests/standalone/src/EchoServerTest.dart
|
| @@ -9,7 +9,7 @@
|
| // VMOptions=--short_socket_write
|
| // VMOptions=--short_socket_read --short_socket_write
|
|
|
| -#library("EchoServerTest.dart");
|
| +#source("TestingServer.dart");
|
|
|
| class EchoServerTest {
|
|
|
| @@ -21,8 +21,6 @@ class EchoServerTest {
|
| class EchoServerGame {
|
|
|
| static final MSGSIZE = 10;
|
| - static final SERVERINIT = 0;
|
| - static final SERVERSHUTDOWN = -1;
|
| static final MESSAGES = 100;
|
| static final FIRSTCHAR = 65;
|
|
|
| @@ -100,7 +98,7 @@ class EchoServerGame {
|
| writeMessage();
|
| }
|
|
|
| - _socket = new Socket(EchoServer.HOST, _port);
|
| + _socket = new Socket(TestingServer.HOST, _port);
|
| if (_socket !== null) {
|
| _socket.connectHandler = connectHandler;
|
| } else {
|
| @@ -113,11 +111,11 @@ class EchoServerGame {
|
| _port = message;
|
| sendData();
|
| });
|
| - _sendPort.send(SERVERINIT, _receivePort.toSendPort());
|
| + _sendPort.send(TestingServer.INIT, _receivePort.toSendPort());
|
| }
|
|
|
| void shutdown() {
|
| - _sendPort.send(SERVERSHUTDOWN, _receivePort.toSendPort());
|
| + _sendPort.send(TestingServer.SHUTDOWN, _receivePort.toSendPort());
|
| _receivePort.close();
|
| }
|
|
|
| @@ -128,95 +126,71 @@ class EchoServerGame {
|
| int _messages;
|
| }
|
|
|
| -class EchoServer extends Isolate {
|
| +class EchoServer extends TestingServer {
|
|
|
| - static final HOST = "127.0.0.1";
|
| static final msgSize = EchoServerGame.MSGSIZE;
|
|
|
| + void connectionHandler() {
|
| + Socket _client;
|
|
|
| - void main() {
|
| -
|
| - void connectionHandler() {
|
| - Socket _client;
|
| -
|
| - void messageHandler() {
|
| + void messageHandler() {
|
|
|
| - List<int> buffer = new List<int>(msgSize);
|
| - int bytesRead = 0;
|
| + List<int> buffer = new List<int>(msgSize);
|
| + int bytesRead = 0;
|
|
|
| - void handleRead() {
|
| - int read = _client.readList(buffer, bytesRead, msgSize - bytesRead);
|
| - if (read > 0) {
|
| - bytesRead += read;
|
| - if (bytesRead < msgSize) {
|
| - // We check every time the whole buffer to verify data integrity.
|
| - for (int i = 0; i < bytesRead; i++) {
|
| - Expect.equals(EchoServerGame.FIRSTCHAR + i, buffer[i]);
|
| - }
|
| - _client.dataHandler = handleRead;
|
| - } else {
|
| - // We check every time the whole buffer to verify data integrity.
|
| - for (int i = 0; i < msgSize; i++) {
|
| - Expect.equals(EchoServerGame.FIRSTCHAR + i, buffer[i]);
|
| - }
|
| + void handleRead() {
|
| + int read = _client.readList(buffer, bytesRead, msgSize - bytesRead);
|
| + if (read > 0) {
|
| + bytesRead += read;
|
| + if (bytesRead < msgSize) {
|
| + // We check every time the whole buffer to verify data integrity.
|
| + for (int i = 0; i < bytesRead; i++) {
|
| + Expect.equals(EchoServerGame.FIRSTCHAR + i, buffer[i]);
|
| + }
|
| + _client.dataHandler = handleRead;
|
| + } else {
|
| + // We check every time the whole buffer to verify data integrity.
|
| + for (int i = 0; i < msgSize; i++) {
|
| + Expect.equals(EchoServerGame.FIRSTCHAR + i, buffer[i]);
|
| + }
|
|
|
| - void writeMessage() {
|
| + void writeMessage() {
|
|
|
| - int bytesWritten = 0;
|
| + int bytesWritten = 0;
|
|
|
| - void handleWrite() {
|
| - int written = _client.writeList(
|
| - buffer, bytesWritten, msgSize - bytesWritten);
|
| - bytesWritten += written;
|
| - if (bytesWritten < msgSize) {
|
| - _client.writeHandler = handleWrite;
|
| - } else {
|
| - _client.close(true);
|
| - }
|
| + void handleWrite() {
|
| + int written = _client.writeList(
|
| + buffer, bytesWritten, msgSize - bytesWritten);
|
| + bytesWritten += written;
|
| + if (bytesWritten < msgSize) {
|
| + _client.writeHandler = handleWrite;
|
| + } else {
|
| + _client.close(true);
|
| }
|
| - handleWrite();
|
| }
|
| - writeMessage();
|
| + handleWrite();
|
| }
|
| + writeMessage();
|
| }
|
| }
|
| -
|
| - handleRead();
|
| }
|
|
|
| - void closeHandler() {
|
| - _client.close();
|
| - }
|
| -
|
| - void errorHandler() {
|
| - Expect.fail("Socket error");
|
| - }
|
| + handleRead();
|
| + }
|
|
|
| - _client = _server.accept();
|
| - _client.dataHandler = messageHandler;
|
| - _client.closeHandler = closeHandler;
|
| - _client.errorHandler = errorHandler;
|
| + void closeHandler() {
|
| + _client.close();
|
| }
|
|
|
| - void errorHandlerServer() {
|
| - Expect.fail("Server socket error");
|
| + void errorHandler() {
|
| + Expect.fail("Socket error");
|
| }
|
|
|
| - this.port.receive((message, SendPort replyTo) {
|
| - if (message == EchoServerGame.SERVERINIT) {
|
| - _server = new ServerSocket(HOST, 0, 10);
|
| - Expect.equals(true, _server !== null);
|
| - _server.connectionHandler = connectionHandler;
|
| - _server.errorHandler = errorHandlerServer;
|
| - replyTo.send(_server.port, null);
|
| - } else if (message == EchoServerGame.SERVERSHUTDOWN) {
|
| - _server.close();
|
| - this.port.close();
|
| - }
|
| - });
|
| + _client = _server.accept();
|
| + _client.dataHandler = messageHandler;
|
| + _client.closeHandler = closeHandler;
|
| + _client.errorHandler = errorHandler;
|
| }
|
| -
|
| - ServerSocket _server;
|
| }
|
|
|
| main() {
|
|
|