JUnit'in tüm test çalıştırması sadece birkaç saniye sürdüğünde bana 10000ms'de zaman geçirdiğini gösteren birkaç test vakası var. Çıktı İşte: Benim testler bütün test çalıştırması yalnızca 4.3s süren çalıştırılacak 10'dan fazla (veya 50) saniye alarak zaman aşımına uğramış olması pek olası değildirJUnit "Times Out" Testi Hızlı Çalışmaya Devam Ediyor mu?
Tests run: 3, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 2.528 sec <<< FAILURE!
closeTest1(com.w2ogroup.analytics.sibyl.transport.impl.http.server.HttpServerTransportTests) Time elapsed: 1.654 sec <<< ERROR!
java.lang.Exception: test timed out after 10000 milliseconds
closeTest2(com.w2ogroup.analytics.sibyl.transport.impl.http.server.HttpServerTransportTests) Time elapsed: 0.672 sec <<< ERROR!
java.lang.Exception: test timed out after 50000 milliseconds
Results :
Tests in error:
HttpServerTransportTests » test timed out after 10000 milliseconds
HttpServerTransportTests » test timed out after 50000 milliseconds
Tests run: 3, Failures: 0, Errors: 2, Skipped: 0
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4.383s
[INFO] Finished at: Sun Jun 09 19:00:09 PDT 2013
[INFO] Final Memory: 9M/129M
[INFO] ------------------------------------------------------------------------
.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire-plugin.version}</version>
<configuration>
<!--
We always want to exclude provided deps. I'm not sure why this
isn't the default.
-->
<classpathDependencyScopeExclude>provided</classpathDependencyScopeExclude>
<includes>
<include>**/*Tests.*</include>
</includes>
</configuration>
</plugin>
Herkes neden bu oluyor olabilir bir fikrin var mı: :)
Burada tahlil yapmak kullanıyorum POM'dan SureFire yapılandırma var?
EDIT: Aşağıda, aşağıda belirtildiği gibi bazı daha fazla bilgi bulabilirsiniz.
Testlerden birinin çıktısı burada. Basit bir aktarım mekanizması yapıyorum, bu yüzden akışları kapatan ve NIO iş parçacığını bırakan birim sınamaları yapıyorum, bu yüzden hepsi (beklenen) IO tipi Exception
s var.
Running com.siggroup.analytics.sibyl.transport.impl.http.server.HttpServerTransportTests
2013-06-10 08:32:53.195:INFO:oejs.Server:Thread-0: jetty-9.0.3.v20130506
Jun 10, 2013 8:32:53 AM com.sun.jersey.server.impl.application.WebApplicationImpl _initiate
INFO: Initiating Jersey application, version 'Jersey: 1.17.1 02/28/2013 12:47 PM'
2013-06-10 08:32:53.925:INFO:oejsh.ContextHandler:Thread-0: Started [email protected]{/,null,AVAILABLE}
2013-06-10 08:32:54.136:INFO:oejs.ServerConnector:Thread-0: Started [email protected]{HTTP/1.1}{0.0.0.0:8080}
org.eclipse.jetty.server.HttpConnection$Input$1: [email protected]{/127.0.0.1:58667<r-l>/127.0.0.1:8080,o=true,is=false,os=false,[email protected]$
EOF
at org.eclipse.jetty.server.HttpConnection$Input.blockForContent(HttpConnection.java:588)
at org.eclipse.jetty.server.HttpInput.read(HttpInput.java:130)
at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:283)
at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:325)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:177)
at sun.nio.cs.StreamDecoder.read0(StreamDecoder.java:126)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:112)
at java.io.InputStreamReader.read(InputStreamReader.java:168)
at com.siggroup.analytics.sibyl.transport.impl.http.server.WorkerTrackingDelegatingReader$2.work(WorkerTrackingDelegatingReader.java:64)
at com.siggroup.analytics.sibyl.transport.impl.http.server.WorkerTrackingDelegatingReader$2.work(WorkerTrackingDelegatingReader.java:1)
at com.siggroup.analytics.commons.concurrent.Scope.work(Scope.java:49)
at com.siggroup.analytics.sibyl.transport.impl.http.server.WorkerTrackingDelegatingReader.read(WorkerTrackingDelegatingReader.java:60)
at java.io.FilterReader.read(FilterReader.java:65)
at java.io.PushbackReader.read(PushbackReader.java:90)
at com.siggroup.sibyl.transport.impl.readerwriter.ReaderWriterTransportReaderThread.readPacket(ReaderWriterTransportReaderThread.java:32)
at com.siggroup.sibyl.transport.impl.queued.QueuedTransportReaderThread.run(QueuedTransportReaderThread.java:21)
Caused by: java.lang.InterruptedException
at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:996)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1303)
at java.util.concurrent.Semaphore.acquire(Semaphore.java:317)
at org.eclipse.jetty.util.BlockingCallback.block(BlockingCallback.java:96)
at org.eclipse.jetty.server.HttpConnection$Input.blockForContent(HttpConnection.java:559)
... 15 more
2013-06-10 08:32:54.958:WARN:oejs.HttpConnection:qtp557611759-26: [email protected]{FILLING_BLOCKED},g=HttpGenerator{s=END},p=HttpParser{s=CHUNKED_CONTENT,1 of$
java.lang.IllegalStateException: Already Blocked
at org.eclipse.jetty.io.AbstractConnection.block(AbstractConnection.java:233)
at org.eclipse.jetty.server.HttpConnection.access$400(HttpConnection.java:50)
at org.eclipse.jetty.server.HttpConnection$Input.blockForContent(HttpConnection.java:557)
at org.eclipse.jetty.server.HttpInput.consumeAll(HttpInput.java:282)
at org.eclipse.jetty.server.HttpConnection.completed(HttpConnection.java:460)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:225)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.run(AbstractConnection.java:358)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:596)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:527)
at java.lang.Thread.run(Thread.java:722)
java.io.EOFException
at com.siggroup.sibyl.transport.impl.readerwriter.ReaderWriterTransportReaderThread.readPacket(ReaderWriterTransportReaderThread.java:36)
at com.siggroup.sibyl.transport.impl.queued.QueuedTransportReaderThread.run(QueuedTransportReaderThread.java:21)
testler @Test(timeout=/* number */)
ile çalıştırılır.
@Test(timeout = 10000)
public void closeTest1() throws IOException, InterruptedException {
/* Test goes here */
}
DÜZENLEME: İşte test durumlarda birinin imzası
-------------------------------------------------------------------------------
Test set: com.w2ogroup.analytics.sibyl.transport.impl.http.server.HttpServerTransportTests
-------------------------------------------------------------------------------
Tests run: 3, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 3.136 sec <<< FAILURE!
closeTest1(com.w2ogroup.analytics.sibyl.transport.impl.http.server.HttpServerTransportTests) Time elapsed: 2.218 sec <<< ERROR!
java.lang.Exception: test timed out after 10000 milliseconds
closeTest2(com.w2ogroup.analytics.sibyl.transport.impl.http.server.HttpServerTransportTests) Time elapsed: 0.661 sec <<< ERROR!
java.lang.Exception: test timed out after 50000 milliseconds
DÜZENLEME: İşte SureFire günlüğüne tüm içeriği olan kuşaklar için, MatthewFarwell cevabı aşağıdadır @ Belirtildiği gibi düzeltin. JUnit 4.12-SNAPSHOT'un Maven Central'da mevcut olmadığını, bu yüzden daha fazla depo kurmak yerine ve bir SNAPSHOT artefaktına sahip olmak yerine, test vakamı InterruptedException
s için try
/catch
s test paketine sardım. Bu sorunu gideren InterruptedException
yayılıyor.
Bize yığın sayısını göster ... –
@StephenC soruyu şimdi yanıtladı. – sigpwned
İlginç ... ama ben java.lang.Exception'ı içeren stacktrace'i kastettim. Kesin raporlarda olmalı. –