diff --git a/bundles/org.eclipse.build.tools/src/org/eclipse/releng/generators/ErrorTracker.java b/bundles/org.eclipse.build.tools/src/org/eclipse/releng/generators/ErrorTracker.java
index c0cb9aa..652dab0 100644
--- a/bundles/org.eclipse.build.tools/src/org/eclipse/releng/generators/ErrorTracker.java
+++ b/bundles/org.eclipse.build.tools/src/org/eclipse/releng/generators/ErrorTracker.java
@@ -172,7 +172,7 @@
                 // test logs are only log file in testManifest.xml without a "type" attribute
                 // -- I test for either/or, so that new versions of testManifest.xml 
                 // can more correctly use "test" attribute, if desired.
-                if (typeNode == null || typeNode.getNodeValue() == "test") {
+                if (typeNode == null || typeNode.getNodeValue().equals("test")) {
                     int firstUnderscore = testLogName.indexOf('_');
                     String initialTestName = null;
                     if (firstUnderscore == -1) {
diff --git a/bundles/org.eclipse.build.tools/src/org/eclipse/releng/generators/TestResultsGenerator.java b/bundles/org.eclipse.build.tools/src/org/eclipse/releng/generators/TestResultsGenerator.java
index 34b683d..1f9813e 100644
--- a/bundles/org.eclipse.build.tools/src/org/eclipse/releng/generators/TestResultsGenerator.java
+++ b/bundles/org.eclipse.build.tools/src/org/eclipse/releng/generators/TestResultsGenerator.java
@@ -365,10 +365,10 @@
             test.getDropTokensFromList(test.dropTokenList);
             test.setIsBuildTested(true);
             test.setXmlDirectoryName(
-                    "/data/shared/eclipse/buildsmirror/4N/siteDir/eclipse/downloads/drops4/N20160406-2048/testresults/xml");
+                    "/data/shared/eclipse/buildsmirror/4N/siteDir/eclipse/downloads/drops4/N20160407-2154/testresults/xml");
             test.setHtmlDirectoryName(
-                    "/data/shared/eclipse/buildsmirror/4N/siteDir/eclipse/downloads/drops4/N20160406-2048/testresults");
-            test.setDropDirectoryName("/data/shared/eclipse/buildsmirror/4N/siteDir/eclipse/downloads/drops4/N20160406-2048");
+                    "/data/shared/eclipse/buildsmirror/4N/siteDir/eclipse/downloads/drops4/N20160407-2154/testresults");
+            test.setDropDirectoryName("/data/shared/eclipse/buildsmirror/4N/siteDir/eclipse/downloads/drops4/N20160407-2154");
 
             test.setDropTemplateFileName(
                     "/home/davidw/gitNeon/eclipse.platform.releng.aggregator/eclipse.platform.releng.tychoeclipsebuilder/eclipse/publishingFiles/templateFiles/index.template.php");
@@ -377,7 +377,7 @@
 
             test.setHrefTestResultsTargetPath("testresults");
             test.setCompileLogsDirectoryName(
-                    "/data/shared/eclipse/buildsmirror/4N/siteDir/eclipse/downloads/drops4/N20160406-2048/compilelogs/plugins");
+                    "/data/shared/eclipse/buildsmirror/4N/siteDir/eclipse/downloads/drops4/N20160407-2154/compilelogs/plugins");
             test.setHrefCompileLogsTargetPath("compilelogs/plugins/");
             test.setTestManifestFileName(
                     "/home/davidw/gitNeon/eclipse.platform.releng.aggregator/eclipse.platform.releng.tychoeclipsebuilder/eclipse/publishingFiles/testManifest.xml");
@@ -485,9 +485,9 @@
     public void execute() {
 
         anErrorTracker = new ErrorTracker();
-        anErrorTracker.loadFile(testManifestFileName);
-        getDropTokensFromList(dropTokenList);
-        dropTemplateString = readFile(dropTemplateFileName);
+        anErrorTracker.loadFile(getTestManifestFileName());
+        getDropTokensFromList(getDropTokenList());
+        dropTemplateString = readFile(getDropTemplateFileName());
 
         writeDropIndexFile();
 
