Uploaded image for project: 'Lucene - Core'
  1. Lucene - Core
  2. LUCENE-4002

Running tests with internal JVM diagnostic options (such as -verbose:*) will fail.

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 4.0-ALPHA
    • general/test
    • None
    • New

    Description

      Passing JVM options that dump something to output streams before they are intercepted (-verbose:gc, -verbose:class) will break the communication
      between the runner and the master.

      Currently junit4 communicates with forked processes via stdout or stderr (depending on the JVM and which stream the JVM uses to dump crash infos). This is done for efficiency since it's a natural blocking pipe between the two processes. I forgot that the jvm can:

      1) use process streams to dump verbose logs (gc, classes, jit),
      2) use process streams directly, bypassing System.* overrides, to dump warnings.

      This can be solved my moving the communication layer to another pipe or to a socket. I'll play with the options.

      Attachments

        Activity

          People

            dweiss Dawid Weiss
            dweiss Dawid Weiss
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: