Yes, dead on -- worked for single threaded tests - however, should testOne()
and testTwo() affect each other if executed on separate threads?

I.e., in this configuration in my pom.xml

(...)
                        <plugin>
                                <groupId>org.apache.maven.plugins</groupId>
                                <artifactId>maven-surefire-plugin</artifactId>
                                <configuration>
                                        <groups>unit,performance</groups>
                                        <parallel>methods</parallel>
                                        <threadCount>1</threadCount>
                                </configuration>
                        </plugin>
(...)

succeeds -- for threadCount > 1 however, fails.. 

Let me know if that is the intended behavior (thread-safety of CamelContext
/ or endpoints), a limitation or this is an uncovered bug.

Thanks !





James.Strachan wrote:
> 
> 2008/6/16 James Strachan <[EMAIL PROTECTED]>:
>> I wonder if using an AtomicInteger inside your ExceptionThrower might
>> help?
> 
> BTW I mean change the type of 'i' from int to AtomicInteger then
> change the code to something like this...
> 
>                               switch (i.incrementAndGet()) {
>                               case 1:
>                                       System.out.println("throwing null");
>                                       throw new NullPointerException();
>                               case 2:
>                                       System.out.println("throwing 
> exception");
>                                       throw new Exception();
>                               default:
>                                       System.out.println("throwing nothing");
>                                       ; // nop
>                               }
> 
> 
> 
>>
>> 2008/6/16 jmfj <[EMAIL PROTECTED]>:
>>>
>>> The results of this unit test are not the same everytime - it should
>>> (right?)
>>> -
>>>
>>> ** FIRST RUN (maven)
>>> -------------------------------------------------------------------------------
>>> Test set: TestSuite
>>> -------------------------------------------------------------------------------
>>> Tests run: 2, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 20.743
>>> sec
>>> <<< FAILURE!
>>>
>>> testExceptionHandlerOne(net.quantlet.box.mediation.CamelTest)  Time
>>> elapsed:
>>> 20.079 sec  <<< FAILURE!
>>> java.lang.AssertionError: mock:null-pointer Received message count.
>>> Expected: <1> but was: <0>
>>>        at
>>> org.apache.camel.component.mock.MockEndpoint.fail(MockEndpoint.java:658)
>>>        at
>>> org.apache.camel.component.mock.MockEndpoint.assertEquals(MockEndpoint.java:640)
>>>        at
>>> org.apache.camel.component.mock.MockEndpoint.assertIsSatisfied(MockEndpoint.java:217)
>>>        at
>>> org.apache.camel.component.mock.MockEndpoint.assertIsSatisfied(MockEndpoint.java:193)
>>>        at
>>> net.quantlet.box.mediation.CamelTest.testExceptionHandlerOne(CamelTest.java:82)
>>>
>>> TestExceptionHandlerOne was successful
>>>
>>> ** SECOND RUN (eclipse)
>>>
>>> java.lang.AssertionError: mock:null-pointer Received message count.
>>> Expected: <1> but was: <0>
>>>        at
>>> org.apache.camel.component.mock.MockEndpoint.fail(MockEndpoint.java:658)
>>>        at
>>> org.apache.camel.component.mock.MockEndpoint.assertEquals(MockEndpoint.java:640)
>>>        at
>>> org.apache.camel.component.mock.MockEndpoint.assertIsSatisfied(MockEndpoint.java:217)
>>>        at
>>> org.apache.camel.component.mock.MockEndpoint.assertIsSatisfied(MockEndpoint.java:193)
>>>        at
>>> net.quantlet.box.mediation.CamelTest.testExceptionHandlerTwo(CamelTest.java:123)
>>>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>        at
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>        at
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>        at java.lang.reflect.Method.invoke(Method.java:585)
>>>        at
>>> org.testng.internal.MethodHelper.invokeMethod(MethodHelper.java:580)
>>>        at org.testng.internal.Invoker.invokeMethod(Invoker.java:478)
>>>        at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:617)
>>>        at
>>> org.testng.internal.Invoker.invokeTestMethods(Invoker.java:885)
>>>        at
>>> org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:126)
>>>        at
>>> org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:110)
>>>        at org.testng.TestRunner.runWorkers(TestRunner.java:712)
>>>        at org.testng.TestRunner.privateRun(TestRunner.java:582)
>>>        at org.testng.TestRunner.run(TestRunner.java:477)
>>>        at org.testng.SuiteRunner.runTest(SuiteRunner.java:324)
>>>        at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:319)
>>>        at org.testng.SuiteRunner.privateRun(SuiteRunner.java:292)
>>>        at org.testng.SuiteRunner.run(SuiteRunner.java:198)
>>>        at org.testng.TestNG.createAndRunSuiteRunners(TestNG.java:823)
>>>        at org.testng.TestNG.runSuitesLocally(TestNG.java:790)
>>>        at org.testng.TestNG.run(TestNG.java:708)
>>>        at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:73)
>>>        at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:124)
>>>
>>> TestExceptionHandlerOne was successful
>>>
>>> ** THIRD RUN (eclipse again)
>>>
>>> java.lang.AssertionError: mock:null-pointer Received message count.
>>> Expected: <1> but was: <0>
>>>        at
>>> org.apache.camel.component.mock.MockEndpoint.fail(MockEndpoint.java:658)
>>>        at
>>> org.apache.camel.component.mock.MockEndpoint.assertEquals(MockEndpoint.java:640)
>>>        at
>>> org.apache.camel.component.mock.MockEndpoint.assertIsSatisfied(MockEndpoint.java:217)
>>>        at
>>> org.apache.camel.component.mock.MockEndpoint.assertIsSatisfied(MockEndpoint.java:193)
>>>        at
>>> net.quantlet.box.mediation.CamelTest.testExceptionHandlerTwo(CamelTest.java:123)
>>>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>        at
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>        at
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>        at java.lang.reflect.Method.invoke(Method.java:585)
>>>        at
>>> org.testng.internal.MethodHelper.invokeMethod(MethodHelper.java:580)
>>>        at org.testng.internal.Invoker.invokeMethod(Invoker.java:478)
>>>        at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:617)
>>>        at
>>> org.testng.internal.Invoker.invokeTestMethods(Invoker.java:885)
>>>        at
>>> org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:126)
>>>        at
>>> org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:110)
>>>        at org.testng.TestRunner.runWorkers(TestRunner.java:712)
>>>        at org.testng.TestRunner.privateRun(TestRunner.java:582)
>>>        at org.testng.TestRunner.run(TestRunner.java:477)
>>>        at org.testng.SuiteRunner.runTest(SuiteRunner.java:324)
>>>        at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:319)
>>>        at org.testng.SuiteRunner.privateRun(SuiteRunner.java:292)
>>>        at org.testng.SuiteRunner.run(SuiteRunner.java:198)
>>>        at org.testng.TestNG.createAndRunSuiteRunners(TestNG.java:823)
>>>        at org.testng.TestNG.runSuitesLocally(TestNG.java:790)
>>>        at org.testng.TestNG.run(TestNG.java:708)
>>>        at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:73)
>>>        at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:124)
>>>
>>> and
>>>
>>> java.lang.AssertionError: mock:null-pointer Received message count.
>>> Expected: <1> but was: <0>
>>>        at
>>> org.apache.camel.component.mock.MockEndpoint.fail(MockEndpoint.java:658)
>>>        at
>>> org.apache.camel.component.mock.MockEndpoint.assertEquals(MockEndpoint.java:640)
>>>        at
>>> org.apache.camel.component.mock.MockEndpoint.assertIsSatisfied(MockEndpoint.java:217)
>>>        at
>>> org.apache.camel.component.mock.MockEndpoint.assertIsSatisfied(MockEndpoint.java:193)
>>>        at
>>> net.quantlet.box.mediation.CamelTest.testExceptionHandlerOne(CamelTest.java:82)
>>>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>        at
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>        at
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>        at java.lang.reflect.Method.invoke(Method.java:585)
>>>        at
>>> org.testng.internal.MethodHelper.invokeMethod(MethodHelper.java:580)
>>>        at org.testng.internal.Invoker.invokeMethod(Invoker.java:478)
>>>        at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:617)
>>>        at
>>> org.testng.internal.Invoker.invokeTestMethods(Invoker.java:885)
>>>        at
>>> org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:126)
>>>        at
>>> org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:110)
>>>        at org.testng.TestRunner.runWorkers(TestRunner.java:712)
>>>        at org.testng.TestRunner.privateRun(TestRunner.java:582)
>>>        at org.testng.TestRunner.run(TestRunner.java:477)
>>>        at org.testng.SuiteRunner.runTest(SuiteRunner.java:324)
>>>        at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:319)
>>>        at org.testng.SuiteRunner.privateRun(SuiteRunner.java:292)
>>>        at org.testng.SuiteRunner.run(SuiteRunner.java:198)
>>>        at org.testng.TestNG.createAndRunSuiteRunners(TestNG.java:823)
>>>        at org.testng.TestNG.runSuitesLocally(TestNG.java:790)
>>>        at org.testng.TestNG.run(TestNG.java:708)
>>>        at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:73)
>>>        at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:124)
>>>
>>> I might be missing something (hope not) - anyways, here is the entire
>>> unit
>>> test (TestNG) for your enjoyment...
>>>
>>>  http://www.nabble.com/file/p17867803/CamelTest.java CamelTest.java
>>>
>>>
>>> --
>>> View this message in context:
>>> http://www.nabble.com/Unit-Test---Non-Deterministic-Results-tp17867803s22882p17867803.html
>>> Sent from the Camel - Development mailing list archive at Nabble.com.
>>>
>>>
>>
>>
>>
>> --
>> James
>> -------
>> http://macstrac.blogspot.com/
>>
>> Open Source Integration
>> http://open.iona.com
>>
> 
> 
> 
> -- 
> James
> -------
> http://macstrac.blogspot.com/
> 
> Open Source Integration
> http://open.iona.com
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Unit-Test---Non-Deterministic-Results-tp17867803s22882p17870129.html
Sent from the Camel - Development mailing list archive at Nabble.com.

Reply via email to