You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by up...@apache.org on 2015/08/27 03:07:49 UTC

[3/3] incubator-geode git commit: Using a Rule to clear System properties in RegionDirectoryJUnitTest

Using a Rule to clear System properties in RegionDirectoryJUnitTest

I found that on some systems the @After to clear the properties was
running after the SystemPropertiesInvariant rule.


Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/07528954
Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/07528954
Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/07528954

Branch: refs/heads/feature/GEODE-11
Commit: 07528954ea254e0538e9e95a7b6419cae8cc9f29
Parents: 7efa4c1
Author: Dan Smith <up...@apache.org>
Authored: Wed Aug 26 17:28:29 2015 -0700
Committer: Dan Smith <up...@apache.org>
Committed: Wed Aug 26 17:28:29 2015 -0700

----------------------------------------------------------------------
 .../directory/RegionDirectoryJUnitTest.java     | 23 ++++++++++++++------
 1 file changed, 16 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/07528954/gemfire-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/internal/directory/RegionDirectoryJUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/internal/directory/RegionDirectoryJUnitTest.java b/gemfire-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/internal/directory/RegionDirectoryJUnitTest.java
index 3c14c31..cd88a46 100644
--- a/gemfire-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/internal/directory/RegionDirectoryJUnitTest.java
+++ b/gemfire-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/internal/directory/RegionDirectoryJUnitTest.java
@@ -7,8 +7,10 @@ import java.util.concurrent.ConcurrentHashMap;
 import org.apache.lucene.store.BaseDirectoryTestCase;
 import org.apache.lucene.store.Directory;
 import org.junit.After;
+import org.junit.Rule;
 import org.junit.experimental.categories.Category;
 
+import com.carrotsearch.randomizedtesting.rules.SystemPropertiesRestoreRule;
 import com.gemstone.gemfire.cache.lucene.internal.filesystem.ChunkKey;
 import com.gemstone.gemfire.cache.lucene.internal.filesystem.File;
 import com.gemstone.gemfire.test.junit.categories.UnitTest;
@@ -22,16 +24,23 @@ import com.gemstone.gemfire.test.junit.categories.UnitTest;
  */
 @Category(UnitTest.class)
 public class RegionDirectoryJUnitTest extends BaseDirectoryTestCase {
+  @Rule
+  public SystemPropertiesRestoreRule restoreProps = new SystemPropertiesRestoreRule();
   
-  @After
-  public void clearLog4J() {
-    //The lucene test ensures that no system properties
-    //have been modified by the test. GFE leaves this property
-    //set
-    System.clearProperty("log4j.configurationFile");
-  }
+//  @After
+//  public void clearLog4J() {
+//    //The lucene test ensures that no system properties
+//    //have been modified by the test. GFE leaves this property
+//    //set
+//    System.clearProperty("log4j.configurationFile");
+//  }
   
   protected Directory getDirectory(Path path) throws IOException {
+    
+    //This is super lame, but log4j automatically sets the system property, and the lucene
+    //test asserts that no system properties have changed. Unfortunately, there is no
+    //way to control the order of rules, so we can't clear this property with a rule
+    //or @After method. Instead, do it in the close method of the directory.
     return new RegionDirectory(new ConcurrentHashMap<String, File>(), new ConcurrentHashMap<ChunkKey, byte[]>());
   }
 }