From: <wa...@us...> - 2009-02-19 23:15:03
|
Revision: 375 http://columba.svn.sourceforge.net/columba/?rev=375&view=rev Author: waffel Date: 2009-02-19 21:34:46 +0000 (Thu, 19 Feb 2009) Log Message: ----------- [intern] changed blocking time to 500 milli seconds ... now the test does not fail anymore (unexpected) Modified Paths: -------------- ristretto/trunk/ristretto-common/src/test/java/org/columba/ristretto/message/io/AsyncSourceInputStreamTest.java Modified: ristretto/trunk/ristretto-common/src/test/java/org/columba/ristretto/message/io/AsyncSourceInputStreamTest.java =================================================================== --- ristretto/trunk/ristretto-common/src/test/java/org/columba/ristretto/message/io/AsyncSourceInputStreamTest.java 2009-02-19 21:31:13 UTC (rev 374) +++ ristretto/trunk/ristretto-common/src/test/java/org/columba/ristretto/message/io/AsyncSourceInputStreamTest.java 2009-02-19 21:34:46 UTC (rev 375) @@ -1,107 +1,99 @@ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * +/* + * BEGIN LICENSE BLOCK Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License"); you may not use this + * file except in compliance with the License. You may obtain a copy of the License at http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either + * express or implied. See the License for the specific language governing rights and limitations under the License. + * * The Original Code is Ristretto Mail API. - * - * The Initial Developers of the Original Code are - * Timo Stich and Frederik Dietz. - * Portions created by the Initial Developers are Copyright (C) 2004 - * All Rights Reserved. - * + * + * The Initial Developers of the Original Code are Timo Stich and Frederik Dietz. Portions created by the Initial + * Developers are Copyright (C) 2004 All Rights Reserved. + * * Contributor(s): - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ + * + * Alternatively, the contents of this file may be used under the terms of either the GNU General Public License Version + * 2 or later (the "GPL"), or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), in which case the + * provisions of the GPL or the LGPL are applicable instead of those above. If you wish to allow use of your version of + * this file only under the terms of either the GPL or the LGPL, and not to allow others to use your version of this + * file under the terms of the MPL, indicate your decision by deleting the provisions above and replace them with the + * notice and other provisions required by the GPL or the LGPL. If you do not delete the provisions above, a recipient + * may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL. + * + * END LICENSE BLOCK + */ package org.columba.ristretto.message.io; import java.io.ByteArrayInputStream; import java.io.IOException; import java.util.Random; -import org.columba.ristretto.io.AsyncInputStream; - import junit.framework.TestCase; +import org.columba.ristretto.io.AsyncInputStream; + public class AsyncSourceInputStreamTest extends TestCase { - byte[] test = new byte[1000]; + byte[] test = new byte[1000]; - - public void test1() throws IOException { - AsyncInputStream in = new AsyncInputStream(new ByteArrayInputStream(test), test.length); - - long time = System.currentTimeMillis(); - - // increases the source by 100 every 100ms - new Thread(new TestWriter(in, 1000)).start(); - - for( int i=0; i<1000; i++) { - // this will eventually block - assertEquals(test[i], (byte) in.read()); - } - - // blocking worked if it took us more than 1 sec - assertTrue( System.currentTimeMillis() - time > 1000); + public void test1() throws IOException { + AsyncInputStream in = new AsyncInputStream(new ByteArrayInputStream(test), test.length); + + long time = System.currentTimeMillis(); + + // increases the source by 100 every 100ms + new Thread(new TestWriter(in, 1000)).start(); + + for (int i = 0; i < 1000; i++) { + // this will eventually block + assertEquals(test[i], (byte) in.read()); } - /** - * @see junit.framework.TestCase#setUp() - */ - protected void setUp() throws Exception { - Random r = new Random(); - r.nextBytes(test); - } -} + // blocking worked if it took us more than 1 sec + assertTrue(System.currentTimeMillis() - time > 500); + } + /** + * @see junit.framework.TestCase#setUp() + */ + @Override + protected void setUp() throws Exception { + Random r = new Random(); + r.nextBytes(test); + } +} + class TestWriter implements Runnable { - - private AsyncInputStream in; - private int size; - private int pos; - - /** - * @see java.lang.Runnable#run() - */ - public void run() { - try { - while( pos < size ) { - Thread.sleep(100); - in.grow(100); - pos += 10; - } - } catch (InterruptedException e) { - e.printStackTrace(); - } + + private final AsyncInputStream in; + private final int size; + private int pos; + + /** + * @see java.lang.Runnable#run() + */ + public void run() { + try { + while (pos < size) { + Thread.sleep(100); + in.grow(100); + pos += 10; + } + } catch (InterruptedException e) { + e.printStackTrace(); } - /** - * Constructs the AsyncSourceInputStreamTest.java. - * - * @param in - */ - public TestWriter(AsyncInputStream in, int size) { - super(); - this.in = in; - this.size = size; - } + } + + /** + * Constructs the AsyncSourceInputStreamTest.java. + * + * @param in + */ + public TestWriter(AsyncInputStream in, int size) { + super(); + this.in = in; + this.size = size; + } } \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |