Author: maarten
Date: Mon Sep 17 06:42:50 2007
New Revision: 576431

URL: http://svn.apache.org/viewvc?rev=576431&view=rev
Log:
fixed test : avoid ConcurrentModificationException

Modified:
    
mina/trunk/core/src/test/java/org/apache/mina/filter/logging/MDCInjectionFilterTest.java

Modified: 
mina/trunk/core/src/test/java/org/apache/mina/filter/logging/MDCInjectionFilterTest.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/core/src/test/java/org/apache/mina/filter/logging/MDCInjectionFilterTest.java?rev=576431&r1=576430&r2=576431&view=diff
==============================================================================
--- 
mina/trunk/core/src/test/java/org/apache/mina/filter/logging/MDCInjectionFilterTest.java
 (original)
+++ 
mina/trunk/core/src/test/java/org/apache/mina/filter/logging/MDCInjectionFilterTest.java
 Mon Sep 17 06:42:50 2007
@@ -64,6 +64,7 @@
     }
 
     public void testSimpleChain() throws IOException, InterruptedException {
+      System.out.println("proc: " + 
Runtime.getRuntime().availableProcessors());
         DefaultIoFilterChainBuilder chain = new DefaultIoFilterChainBuilder();
         chain.addFirst("mdc-injector", new MDCInjectionFilter());
         chain.addLast("dummy", new DummyIoFilter());
@@ -145,8 +146,11 @@
         simpleIoHandler.sessionIdleLatch.await();
         simpleIoHandler.sessionClosedLatch.await();
 
+        // make a copy to prevent ConcurrentModificationException
+        List<LoggingEvent> events = new 
ArrayList<LoggingEvent>(appender.events);
+
         // verify that all logging events have correct MDC
-        for (LoggingEvent event : new 
ArrayList<LoggingEvent>(appender.events)) {
+        for (LoggingEvent event : events) {
             if (!ExecutorFilter.class.getName().equals(event.getLoggerName())) 
{
                 Object remoteAddress = event.getMDC("remoteAddress");
                 assertNotNull(
@@ -164,17 +168,17 @@
         // asert we have received all expected logging events for each client
         for (int i = 0; i < remoteAddressClients.length; i++) {
             SocketAddress remoteAddressClient = remoteAddressClients[i];
-            assertEventExists(appender.events, "sessionCreated", 
remoteAddressClient, null);
-            assertEventExists(appender.events, "sessionOpened", 
remoteAddressClient, null);
-            assertEventExists(appender.events, "decode", remoteAddressClient, 
null);
-            assertEventExists(appender.events, "messageReceived", 
remoteAddressClient, null);
-            assertEventExists(appender.events, "encode", remoteAddressClient, 
null);
-            assertEventExists(appender.events, "exceptionCaught", 
remoteAddressClient, "user-" + i);
-            assertEventExists(appender.events, "messageSent", 
remoteAddressClient, "user-" + i);
-            assertEventExists(appender.events, "sessionIdle", 
remoteAddressClient, "user-" + i);
-            assertEventExists(appender.events, "sessionClosed", 
remoteAddressClient, "user-" + i);
-            assertEventExists(appender.events, "sessionClosed", 
remoteAddressClient, "user-" + i);
-            assertEventExists(appender.events, "DummyIoFilter.sessionOpened", 
remoteAddressClient, "user-" + i);
+            assertEventExists(events, "sessionCreated", remoteAddressClient, 
null);
+            assertEventExists(events, "sessionOpened", remoteAddressClient, 
null);
+            assertEventExists(events, "decode", remoteAddressClient, null);
+            assertEventExists(events, "messageReceived", remoteAddressClient, 
null);
+            assertEventExists(events, "encode", remoteAddressClient, null);
+            assertEventExists(events, "exceptionCaught", remoteAddressClient, 
"user-" + i);
+            assertEventExists(events, "messageSent", remoteAddressClient, 
"user-" + i);
+            assertEventExists(events, "sessionIdle", remoteAddressClient, 
"user-" + i);
+            assertEventExists(events, "sessionClosed", remoteAddressClient, 
"user-" + i);
+            assertEventExists(events, "sessionClosed", remoteAddressClient, 
"user-" + i);
+            assertEventExists(events, "DummyIoFilter.sessionOpened", 
remoteAddressClient, "user-" + i);
         }
     }
 


Reply via email to