Chromium Code Reviews

Unified Diff: tests/standalone/io/echo_server_test.dart

Issue 12316036: Merge IO v2 branch to bleeding edge (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Rebased to r18818 Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
« no previous file with comments | « tests/standalone/io/echo_server_stream_test.dart ('k') | tests/standalone/io/file_fuzz_test.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tests/standalone/io/echo_server_test.dart
diff --git a/tests/standalone/io/echo_server_test.dart b/tests/standalone/io/echo_server_test.dart
deleted file mode 100644
index 4208bb8663c3f19f5ac733991256f72c40aceebd..0000000000000000000000000000000000000000
--- a/tests/standalone/io/echo_server_test.dart
+++ /dev/null
@@ -1,203 +0,0 @@
-// Copyright (c) 2012, 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.
-//
-// Echo server test program for testing sockets.
-//
-// VMOptions=
-// VMOptions=--short_socket_read
-// VMOptions=--short_socket_write
-// VMOptions=--short_socket_read --short_socket_write
-
-library ServerTest;
-import "dart:io";
-import "dart:isolate";
-part "testing_server.dart";
-
-class EchoServerTest {
-
- static void testMain() {
- EchoServerGame echoServerGame = new EchoServerGame.start();
- }
-}
-
-class EchoServerGame {
-
- static const MSGSIZE = 10;
- static const MESSAGES = 100;
- static const FIRSTCHAR = 65;
-
- EchoServerGame.start()
- : _receivePort = new ReceivePort(),
- _sendPort = null,
- _buffer = new List<int>.fixedLength(MSGSIZE),
- _messages = 0 {
- for (int i = 0; i < MSGSIZE; i++) {
- _buffer[i] = FIRSTCHAR + i;
- }
- _sendPort = spawnFunction(startEchoServer);
- initialize();
- }
-
- void sendData() {
- Socket _socket;
-
- void messageHandler() {
-
- List<int> bufferReceived = new List<int>.fixedLength(MSGSIZE);
- int bytesRead = 0;
-
- void handleRead() {
- bytesRead += _socket.readList(
- bufferReceived, bytesRead, MSGSIZE - bytesRead);
- if (bytesRead < MSGSIZE) {
- // We check every time the whole buffer to verify data integrity.
- for (int i = 0; i < bytesRead; i++) {
- Expect.equals(FIRSTCHAR + i, bufferReceived[i]);
- }
- _socket.onData = handleRead;
- } else {
- // We check every time the whole buffer to verify data integrity.
- for (int i = 0; i < MSGSIZE; i++) {
- Expect.equals(FIRSTCHAR + i, bufferReceived[i]);
- }
- _messages++;
- _socket.close();
- if (_messages < MESSAGES) {
- sendData();
- } else {
- shutdown();
- }
- }
- }
-
- handleRead();
- }
-
- void errorHandler(Exception e) {
- Expect.fail("Socket error $e");
- }
-
- void connectHandler() {
-
- void writeMessage() {
- int bytesWritten = 0;
-
- void handleWrite() {
- bytesWritten += _socket.writeList(
- _buffer, bytesWritten, MSGSIZE - bytesWritten);
- if (bytesWritten < MSGSIZE) {
- _socket.onWrite = handleWrite;
- }
- }
-
- handleWrite();
- }
-
- _socket.onData = messageHandler;
- _socket.onError = errorHandler;
- writeMessage();
- }
-
- _socket = new Socket(TestingServer.HOST, _port);
- if (_socket != null) {
- _socket.onConnect = connectHandler;
- } else {
- Expect.fail("Socket creation failed");
- }
- }
-
- void initialize() {
- _receivePort.receive((var message, SendPort replyTo) {
- _port = message;
- sendData();
- });
- _sendPort.send(TestingServer.INIT, _receivePort.toSendPort());
- }
-
- void shutdown() {
- _sendPort.send(TestingServer.SHUTDOWN, _receivePort.toSendPort());
- _receivePort.close();
- }
-
- int _port;
- ReceivePort _receivePort;
- SendPort _sendPort;
- List<int> _buffer;
- int _messages;
-}
-
-
-void startEchoServer() {
- var server = new EchoServer();
- port.receive(server.dispatch);
-}
-
-class EchoServer extends TestingServer {
-
- static const msgSize = EchoServerGame.MSGSIZE;
-
- void onConnection(Socket connection) {
-
- void messageHandler() {
-
- List<int> buffer = new List<int>.fixedLength(msgSize);
- int bytesRead = 0;
-
- void handleRead() {
- int read = connection.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]);
- }
- connection.onData = 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() {
-
- int bytesWritten = 0;
-
- void handleWrite() {
- int written = connection.writeList(
- buffer, bytesWritten, msgSize - bytesWritten);
- bytesWritten += written;
- if (bytesWritten < msgSize) {
- connection.onWrite = handleWrite;
- } else {
- connection.close(true);
- }
- }
- handleWrite();
- }
- writeMessage();
- }
- }
- }
-
- handleRead();
- }
-
- void closeHandler() {
- connection.close();
- }
-
- void errorHandler(Exception e) {
- Expect.fail("Socket error $e");
- }
-
- connection.onData = messageHandler;
- connection.onClosed = closeHandler;
- connection.onError = errorHandler;
- }
-}
-
-main() {
- EchoServerTest.testMain();
-}
« no previous file with comments | « tests/standalone/io/echo_server_stream_test.dart ('k') | tests/standalone/io/file_fuzz_test.dart » ('j') | no next file with comments »

Powered by Google App Engine