lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alan Woodward (JIRA)" <>
Subject [jira] [Updated] (SOLR-8758) Add SolrCloudTestCase base class
Date Mon, 29 Feb 2016 11:45:18 GMT


Alan Woodward updated SOLR-8758:
    Attachment: SOLR-8758.patch

Here's a patch.  The base class uses a MiniSolrCloudCluster, and exposes a Builder interface
to configure it.  You can give it a solr.xml (either as a Path or a String), and add configs
that will be uploaded when the cluster starts.

I initially wanted to implement this as a junit ExternalResource that could be added as a
ClassRule, but unfortunately this puts it outside the BeforeClass/AfterClass boundaries of
LuceneTestCase and it falls foul of things like the ThreadLeak tracker.

> Add SolrCloudTestCase base class
> --------------------------------
>                 Key: SOLR-8758
>                 URL:
>             Project: Solr
>          Issue Type: Improvement
>            Reporter: Alan Woodward
>         Attachments: SOLR-8758.patch
> At the moment, if you want to write unit tests for Cloud components, you have to extend
AbstractDistribZkTestCase, which has a number of disadvantages:
> * the API isn't well-documented
> * you get a default configuration loaded into ZK, and it's not trivial to add separate
> * you get a default collection, whether you want one or not
> * the test cluster isn't static, which means that it's started up and shutdown after
every test function.  To avoid tests being incredibly slow, we end up writing single-function
tests that call out to sub-functions, losing the benefits of execution-order randomization.
> It would be more useful to have a properly configurable and documented testcase base

This message was sent by Atlassian JIRA

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message