Uploaded image for project: 'Maven Surefire'
  1. Maven Surefire
  2. SUREFIRE-665

Output to file stops after a while

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.6
    • 2.7
    • Maven Surefire Plugin
    • None

    Description

      After some tests of proper behavior, surefire stops logging the console output (stderr & stdout) to the files. For the first tests that are executed, the Xxxxx-output.txt files contain the correct console output. But from some test in the test suite, all those files are blank.

      My environment: Mac with

      Java(TM) SE Runtime Environment (build 1.6.0_20-b02-279-10M3065)
      Java HotSpot(TM) 64-Bit Server VM (build 16.3-b01-279, mixed mode)

      Apache Maven 2.2.0 (r788681; 2009-06-26 15:04:01+0200)
      Java version: 1.6.0_20
      Java home: /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home
      Default locale: en_US, platform encoding: MacRoman
      OS name: "mac os x" version: "10.6.4" arch: "x86_64" Family: "mac"

      Using Surefire 2.6

      I've done following observations:

      • The exact test where the console capturing stops can vary a couple of tests, but it always happens. Could it be related to memory? Increasing from MAVEN_OPTS="-Xmx1024m -Xms512m" to MAVEN_OPTS="-Xmx2048m -Xms512m" didn't have an effect
      • When debugging, as long as the output is ok, System.err.checkError() returns false. Once the output files get blank, System.err.checkError() returns true.
      • The problem doesn't occur when running the same test suite in eclipse.
      • When I didn't specify surefire version, I got 2.4.something. When I explicitely set the version to 2.6, then the test suite started failing half way with out of memory exceptions.
      • Then I configured <forkMode>always</forkMode>. That made the whole test suite run fine (no memory exceptions and all log files being produced) but then it takes a very long time.
      • I traced closing of the system err stream until SystemStreamCapturer
        76 public void restoreStreams()
        77
        Unknown macro: {78 // Note that the fields can be null if the test hasn't even started yet (an early error)79 if ( oldOut != null )80 { 81 System.setOut( oldOut ); 82 }83 if ( oldErr != null )84 { 85 System.setErr( oldErr ); 86 }87 88 IOUtil.close( newOut );89 IOUtil.close( newErr );90 }

      But there I couldn't find how to trace it further and gave up.

      To reproduce: (only tested on mac)

      check out https://svn.codehaus.org/activiti/activiti/trunk and then on the root do
      mvn clean install

      only the first executed tests will contain properly captured output in modules/activiti-engine/target/surefire-reports/*-output.txt

      Attachments

        Activity

          People

            krosenvold Kristian Rosenvold
            tombaeyens Tom Baeyens
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: