[ 
https://issues.apache.org/jira/browse/HAMA-322?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12925786#action_12925786
 ] 

Filipe Manana commented on HAMA-322:
------------------------------------

Seems ok to me :)

I thought about doing something along those lines - store errors in some 
attribute of each thread, after they finish execution, let the main (JUnit) 
thread check the attribute.

However this can be tedious to do for every test case. Doing assertions in any 
thread launched by the TestCase should abort the test and add a report to JUnit.
However, adding the GroboTestingJUnit library means one more dependency :(

+1 on your patch
But should be changed after adding GroboTestingJUnit.

cheers

> Make sure failed assertions on test threads are reported
> --------------------------------------------------------
>
>                 Key: HAMA-322
>                 URL: https://issues.apache.org/jira/browse/HAMA-322
>             Project: Hama
>          Issue Type: Bug
>          Components: test 
>    Affects Versions: 0.2.1
>            Reporter: Filipe Manana
>            Assignee: Filipe Manana
>         Attachments: HAMA-322_v03.patch, newpatch.patch, 
> test_bsp_peer_fix.patch
>
>
> When running a JUnit test, like TestBSPPeer, if an assertion fails in some 
> thread, it is not reported in the console (only failed assertions of the main 
> thread are reported). However the assertion failed exception is logged in the 
> test report under build/report/tests/.
> Example:
> $ ant test
> jar:file:/home/fdmanana/git/apache/hama/lib/findbugs/ant.jar!/org/apache/tools/ant/Project.class
>    [junit] Running org.apache.hama.bsp.TestBSPPeer
>    [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 13.941 sec
> $ cat build/reports/tests/TEST-org.apache.hama.bsp.TestBSPPeer.txt
> ....
> 2010-10-27 12:54:09,361 ERROR [Thread-97]
> server.NIOServerCnxn$Factory$1(81): Thread Thread[Thread-97,5,main]
> died
> junit.framework.AssertionFailedError: expected:<20> but was:<1>
>        at junit.framework.Assert.fail(Assert.java:47)
>        at junit.framework.Assert.failNotEquals(Assert.java:282)
>        at junit.framework.Assert.assertEquals(Assert.java:64)
>        at junit.framework.Assert.assertEquals(Assert.java:201)
>        at junit.framework.Assert.assertEquals(Assert.java:207)
>        at 
> org.apache.hama.bsp.TestBSPPeer$BSPPeerThread.run(TestBSPPeer.java:131)
> 2010-10-27 12:54:09,362 ERROR [Thread-81]
> server.NIOServerCnxn$Factory$1(81): Thread Thread[Thread-81,5,main]
> died
> junit.framework.AssertionFailedError: expected:<20> but was:<1>
>        at junit.framework.Assert.fail(Assert.java:47)
>        at junit.framework.Assert.failNotEquals(Assert.java:282)
>        at junit.framework.Assert.assertEquals(Assert.java:64)
>        at junit.framework.Assert.assertEquals(Assert.java:201)
>        at junit.framework.Assert.assertEquals(Assert.java:207)
>        at 
> org.apache.hama.bsp.TestBSPPeer$BSPPeerThread.run(TestBSPPeer.java:131)
> ....
> We should probably use something like GroboTestingJUnit:  
> http://today.java.net/pub/a/today/2003/08/06/multithreadedTests.html

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to