From baa26ed4947f10eacf4c79bfca1149d7a99dc9f9 Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Mon, 06 Jun 2011 18:27:15 +0000
Subject: [PATCH] Randomize file system entry cache DB directory to avoid race conditions with concurrent unit test runs.

---
 opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/DefaultEntryCacheTestCase.java    |    6 +++++-
 opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/FileSystemEntryCacheTestCase.java |    5 ++++-
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/DefaultEntryCacheTestCase.java b/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/DefaultEntryCacheTestCase.java
index 8eac89c..cc56aaa 100644
--- a/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/DefaultEntryCacheTestCase.java
+++ b/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/DefaultEntryCacheTestCase.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2008 Sun Microsystems, Inc.
+ *      Portions copyright 2011 ForgeRock AS
  */
 package org.opends.server.extensions;
 
@@ -132,6 +133,7 @@
       EntryCacheCfgDefn.getInstance(), cacheFIFOConfigEntry));
     cacheOrderMap.put(2, fifoCache);
 
+    File cacheDirectory = TestCaseUtils.createTemporaryDirectory("opendj-test");
     fsCache = new FileSystemEntryCache();
     cacheFSConfigEntry = TestCaseUtils.makeEntry(
       "dn: cn=File System,cn=Entry Caches,cn=config",
@@ -145,7 +147,9 @@
       "ds-cfg-enabled: true",
       "ds-cfg-include-filter: uid=fs*",
       "ds-cfg-include-filter: uid=test3*",
-      "ds-cfg-include-filter: uid=test0*");
+      "ds-cfg-include-filter: uid=test0*",
+      "ds-cfg-cache-directory: " + cacheDirectory.getAbsolutePath());
+
     fsCache.initializeEntryCache(AdminTestCaseUtils.getConfiguration(
       EntryCacheCfgDefn.getInstance(), cacheFSConfigEntry));
     cacheOrderMap.put(3, fsCache);
diff --git a/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/FileSystemEntryCacheTestCase.java b/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/FileSystemEntryCacheTestCase.java
index ef73c6e..514c811 100644
--- a/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/FileSystemEntryCacheTestCase.java
+++ b/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/FileSystemEntryCacheTestCase.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2007-2008 Sun Microsystems, Inc.
+ *      Portions copyright 2011 ForgeRock AS
  */
 package org.opends.server.extensions;
 
@@ -197,6 +198,7 @@
     TestCaseUtils.startServer();
 
     // Configure this entry cache.
+    File cacheDirectory = TestCaseUtils.createTemporaryDirectory("opendj-test");
     cacheConfigEntry = TestCaseUtils.makeEntry(
       "dn: cn=File System,cn=Entry Caches,cn=config",
       "objectClass: ds-cfg-file-system-entry-cache",
@@ -207,7 +209,8 @@
       "ds-cfg-java-class: " +
       "org.opends.server.extensions.FileSystemEntryCache",
       "ds-cfg-enabled: true",
-      "ds-cfg-max-entries: " + Integer.toString(super.MAXENTRIES));
+      "ds-cfg-max-entries: " + Integer.toString(super.MAXENTRIES),
+      "ds-cfg-cache-directory: " + cacheDirectory.getAbsolutePath());
     super.configuration = AdminTestCaseUtils.getConfiguration(
       EntryCacheCfgDefn.getInstance(), cacheConfigEntry);
 

--
Gitblit v1.10.0