blob: 5adf188087b9d3160bede4392c6ebf523665897b [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2009 IBM Corporation and others All rights reserved. This
* program and the accompanying materials are made available under the terms of
* the Eclipse Public License v1.0 which accompanies this distribution, and is
* available at http://www.eclipse.org/legal/epl-v10.html
*
* Contributors: IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.e4.languages.javascript.debug.connect.test;
import java.io.IOException;
import junit.framework.TestCase;
import org.eclipse.e4.languages.javascript.debug.connect.Connection;
import org.eclipse.e4.languages.javascript.debug.connect.PipedTransportService;
import org.eclipse.e4.languages.javascript.debug.connect.SocketTransportService;
import org.eclipse.e4.languages.javascript.debug.connect.TransportService;
import org.eclipse.e4.languages.javascript.debug.connect.TransportService.ListenerKey;
public class TransportTest extends TestCase {
public void testSocketStartStopListening() throws IOException {
TransportService service = new SocketTransportService();
ListenerKey key = service.startListening("9000");
assertNotNull(key);
service.stopListening(key);
}
public void testSocketAcceptAttach() throws IOException, InterruptedException {
final TransportService service = new SocketTransportService();
final ListenerKey key = service.startListening("9000");
Thread t = new Thread() {
public void run() {
Connection c = null;
try {
c = service.accept(key, 5000, 5000);
assertNotNull(c);
c.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
fail();
}
}
};
t.start();
Connection c = service.attach("9000", 5000, 5000);
assertNotNull(c);
c.close();
t.join(5000);
service.stopListening(key);
}
public void testPipedStartStopListening() throws IOException {
TransportService service = new PipedTransportService();
ListenerKey key = service.startListening("9000");
assertNotNull(key);
service.stopListening(key);
}
public void testPipedAcceptAttach() throws IOException, InterruptedException {
final TransportService service = new PipedTransportService();
final ListenerKey key = service.startListening("9000");
Thread t = new Thread() {
public void run() {
Connection c = null;
try {
c = service.accept(key, 5000, 5000);
assertNotNull(c);
c.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
fail();
}
}
};
t.start();
Connection c = service.attach("9000", 5000, 5000);
assertNotNull(c);
c.close();
t.join(5000);
service.stopListening(key);
}
}