Erick already pointed you at the "cleanup" rule. This is fairly generic, but if you know the properties being modified you should still clean them up in @After or @AfterClass -- this is useful for other people to know that you're modifying them, if for nothing else.
Randomized testing package has SystemPropertiesInvariantRule which will allow you to check if there's any property "leaking" from your test. Some properties have to be excluded because various (system and non-system) classes set them occasionally upon initialization. Dawid On Fri, Aug 10, 2018 at 2:13 AM Erick Erickson <erickerick...@gmail.com> wrote: > > See TestSolrXml.java for an example of: > > @Rule > public TestRule solrTestRules = RuleChain.outerRule(new > SystemPropertiesRestoreRule()); > > Best, > Erick > > On Thu, Aug 9, 2018 at 2:33 PM, Michael Sokolov <msoko...@gmail.com> wrote: > > I ran into a need to test some functionality that relies on system > > properties. Writing the test was error-prone because the properties persist > > across the jvm so if you set them in a test they leak across to other tests > > unless you are careful about @After methods. It occurred to me it would be > > nice if LuceneTestCase would detect this and yell. It could save all the > > system properties before each test (or at least each test class) and see if > > they are restored at the end. I don't know if this arises much in Lucene, > > but maybe in Solr? > > > > -Mike > > --------------------------------------------------------------------- > To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org > For additional commands, e-mail: java-user-h...@lucene.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org For additional commands, e-mail: java-user-h...@lucene.apache.org