Uploaded image for project: 'Hama'
  1. Hama
  2. HAMA-322

Make sure failed assertions on test threads are reported

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 0.3.0
    • 0.2.0
    • test
    • None

    Description

      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

      Attachments

        1. test_bsp_peer_fix.patch
          1 kB
          Filipe David Borba Manana
        2. newpatch.patch
          1 kB
          Edward J. Yoon
        3. HAMA-322_v03.patch
          4 kB
          Edward J. Yoon
        4. multithreadedtests.patch
          4 kB
          Edward J. Yoon

        Activity

          People

            fdmanana Filipe David Borba Manana
            fdmanana Filipe David Borba Manana
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: