You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by gn...@apache.org on 2009/11/16 21:19:59 UTC
svn commit: r880943 - in /mina/sshd/trunk/sshd-core/src/test:
java/org/apache/sshd/PortForwardingTest.java resources/log4j.properties
Author: gnodet
Date: Mon Nov 16 20:19:59 2009
New Revision: 880943
URL: http://svn.apache.org/viewvc?rev=880943&view=rev
Log:
Allow the use of a fake local http server for the load test of tcpip forwarding
Modified:
mina/sshd/trunk/sshd-core/src/test/java/org/apache/sshd/PortForwardingTest.java
mina/sshd/trunk/sshd-core/src/test/resources/log4j.properties
Modified: mina/sshd/trunk/sshd-core/src/test/java/org/apache/sshd/PortForwardingTest.java
URL: http://svn.apache.org/viewvc/mina/sshd/trunk/sshd-core/src/test/java/org/apache/sshd/PortForwardingTest.java?rev=880943&r1=880942&r2=880943&view=diff
==============================================================================
--- mina/sshd/trunk/sshd-core/src/test/java/org/apache/sshd/PortForwardingTest.java (original)
+++ mina/sshd/trunk/sshd-core/src/test/java/org/apache/sshd/PortForwardingTest.java Mon Nov 16 20:19:59 2009
@@ -186,35 +186,73 @@
@Test
@Ignore
public void testForwardingOnLoad() throws Exception {
+// final String path = "/history/recent/troubles/";
+// final String host = "www.bbc.co.uk";
+// final String path = "";
+// final String host = "www.bahn.de";
+ final String path = "";
+ final String host = "localhost";
+ final int nbThread = 2;
+ final int nbDownloads = 2;
+ final int nbLoops = 2;
+
+ final int port = getFreePort();
+ StringBuilder resp = new StringBuilder();
+ resp.append("<html><body>\n");
+ for (int i = 0; i < 1000; i++) {
+ resp.append("0123456789\n");
+ }
+ resp.append("</body></html>\n");
+ final StringBuilder sb = new StringBuilder();
+ sb.append("HTTP/1.1 200 OK").append('\n');
+ sb.append("Content-Type: text/HTML").append('\n');
+ sb.append("Content-Length: ").append(resp.length()).append('\n');
+ sb.append('\n');
+ sb.append(resp);
+ NioSocketAcceptor acceptor = new NioSocketAcceptor();
+ acceptor.setHandler(new IoHandlerAdapter() {
+ @Override
+ public void messageReceived(IoSession session, Object message) throws Exception {
+ session.write(IoBuffer.wrap(sb.toString().getBytes()));
+ }
+ });
+ acceptor.setReuseAddress(true);
+ acceptor.bind(new InetSocketAddress(port));
+
+
Session session = createSession();
final int forwardedPort1 = getFreePort();
final int forwardedPort2 = getFreePort();
- session.setPortForwardingL(forwardedPort1, "www.microsoft.com", 80);
+ System.err.println("URL: http://localhost:" + forwardedPort2);
+
+ session.setPortForwardingL(forwardedPort1, host, port);
session.setPortForwardingR(forwardedPort2, "localhost", forwardedPort1);
- final int nbThread = 20;
- final int nbDownloads = 20;
- final CountDownLatch latch = new CountDownLatch(nbThread * nbDownloads);
+ final CountDownLatch latch = new CountDownLatch(nbThread * nbDownloads * nbLoops);
final Thread[] threads = new Thread[nbThread];
final List<Throwable> errors = new CopyOnWriteArrayList<Throwable>();
- final HttpClient client = new HttpClient(new MultiThreadedHttpConnectionManager());
- client.getHttpConnectionManager().getParams().setDefaultMaxConnectionsPerHost(100);
- client.getHttpConnectionManager().getParams().setMaxTotalConnections(1000);
for (int i = 0; i < threads.length; i++) {
threads[i] = new Thread() {
public void run() {
- for (int i = 0; i < nbDownloads; i++) {
- try {
- checkHtmlPage(client, new URL("http://localhost:" + forwardedPort2));
- } catch (Throwable e) {
- errors.add(e);
- } finally {
- latch.countDown();
- System.err.println("Remaining: " + latch.getCount());
+ for (int j = 0; j < nbLoops; j++) {
+ final MultiThreadedHttpConnectionManager mgr = new MultiThreadedHttpConnectionManager();
+ final HttpClient client = new HttpClient(mgr);
+ client.getHttpConnectionManager().getParams().setDefaultMaxConnectionsPerHost(100);
+ client.getHttpConnectionManager().getParams().setMaxTotalConnections(1000);
+ for (int i = 0; i < nbDownloads; i++) {
+ try {
+ checkHtmlPage(client, new URL("http://localhost:" + forwardedPort2 + path));
+ } catch (Throwable e) {
+ errors.add(e);
+ } finally {
+ latch.countDown();
+ System.err.println("Remaining: " + latch.getCount());
+ }
}
+ mgr.shutdown();
}
}
};
Modified: mina/sshd/trunk/sshd-core/src/test/resources/log4j.properties
URL: http://svn.apache.org/viewvc/mina/sshd/trunk/sshd-core/src/test/resources/log4j.properties?rev=880943&r1=880942&r2=880943&view=diff
==============================================================================
--- mina/sshd/trunk/sshd-core/src/test/resources/log4j.properties (original)
+++ mina/sshd/trunk/sshd-core/src/test/resources/log4j.properties Mon Nov 16 20:19:59 2009
@@ -21,7 +21,7 @@
#
# The logging properties used during tests..
#
-log4j.rootLogger=TRACE, stdout
+log4j.rootLogger=INFO, stdout
#log4j.logger.org.apache.mina=TRACE
#log4j.logger.org.apache.sshd.common.channel.Window=DEBUG