HTRACE-296. htraced tests: make sure local settings for HTRACED_WEB_DIR and HTRACE_CONF_DIR don't affect unit tests (cmccabe)
diff --git a/htrace-htraced/src/test/java/org/apache/htrace/impl/HTracedProcess.java b/htrace-htraced/src/test/java/org/apache/htrace/impl/HTracedProcess.java
index 5c5e394..ff81e83 100644
--- a/htrace-htraced/src/test/java/org/apache/htrace/impl/HTracedProcess.java
+++ b/htrace-htraced/src/test/java/org/apache/htrace/impl/HTracedProcess.java
@@ -28,6 +28,7 @@
 import java.net.Socket;
 import java.net.URI;
 import java.nio.file.Paths;
+import java.util.Map;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -143,6 +144,18 @@
         "-Ddata.store.clear=true",
         "-Dstartup.notification.address=localhost:" + listener.getLocalPort(),
         "-Ddata.store.directories=" + dataDir.get().getAbsolutePath());
+
+      // Set HTRACED_CONF_DIR to the temporary directory we just created, to
+      // ensure that it doesn't pull in any other configuration file that might
+      // be on this test machine.
+      Map<String, String> env = pb.environment();
+      env.put("HTRACED_CONF_DIR", dataDir.get().getAbsolutePath());
+
+      // Remove any HTRACED_WEB_DIR variable that might be set, to ensure that
+      // we use the default value (which finds the local web files by relative
+      // path).
+      env.remove("HTRACED_WEB_DIR");
+
       pb.redirectErrorStream(true);
       // Inherit STDERR/STDOUT i/o; dumps on console for now.  Can add logs later.
       pb.inheritIO();