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

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 4.0-ALPHA
    • Component/s: general/test
    • Labels:
      None
    • Lucene Fields:
      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

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

              Dates

              • Created:
                Updated:
                Resolved: