Lucene - Core
  1. Lucene - Core
  2. LUCENE-3995

In LuceneTestCase.beforeClass, make a new random (also using the class hashcode) to vary defaults


    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 4.0-ALPHA
    • Fix Version/s: 4.0-ALPHA
    • Component/s: general/test
    • Labels:
    • Lucene Fields:


      In LuceneTestCase, we set many static defaults like:

      • default codec
      • default infostream impl
      • default locale
      • default timezone
      • default similarity

      Currently each test run gets a single seed for the run, which means for example across one test run
      every single test will have say, SimpleText + infostream=off + Locale=german + timezone=EDT + similarity=BM25

      Because of that, we lose lots of basic mixed coverage across tests, and it also means the unfortunate
      individual who gets SimpleText or other slow options gets a REALLY SLOW test run, rather than amortizing
      this across all test runs.

      We should at least make a new random (getRandom() ^ className.hashCode()) to fix this so it works like before,
      but unfortunately that only fixes it for LuceneTestCase.

      Won't any subclasses that make random decisions in @BeforeClass (and we have many) still have the same problem?
      Maybe RandomizedRunner can instead be improved here?

        Issue Links


          Robert Muir created issue -
          Dawid Weiss made changes -
          Field Original Value New Value
          Assignee Dawid Weiss [ dweiss ]
          Dawid Weiss made changes -
          Link This issue relates to LUCENE-3993 [ LUCENE-3993 ]
          Dawid Weiss made changes -
          Status Open [ 1 ] Resolved [ 5 ]
          Fix Version/s 4.0 [ 12314025 ]
          Resolution Fixed [ 1 ]
          Uwe Schindler made changes -
          Status Resolved [ 5 ] Closed [ 6 ]


            • Assignee:
              Dawid Weiss
              Robert Muir
            • Votes:
              0 Vote for this issue
              0 Start watching this issue


              • Created: