diff --git a/src/org/labkey/test/BaseWebDriverTest.java b/src/org/labkey/test/BaseWebDriverTest.java index 2ccbbe20ec..cff19774ce 100644 --- a/src/org/labkey/test/BaseWebDriverTest.java +++ b/src/org/labkey/test/BaseWebDriverTest.java @@ -83,6 +83,7 @@ import org.labkey.test.util.LogMethod; import org.labkey.test.util.LoggedParam; import org.labkey.test.util.PermissionsHelper; +import org.labkey.test.util.PipelineToolsHelper; import org.labkey.test.util.ReadOnlyTest; import org.labkey.test.util.SecurityHelper; import org.labkey.test.util.SimpleHttpResponse; @@ -691,6 +692,8 @@ private void doPreamble() } cleanup(false); + + new PipelineToolsHelper(this).resetPipelineToolsDirectory(); } private void enableTroubleshootingStacktraces() diff --git a/src/org/labkey/test/util/PipelineToolsHelper.java b/src/org/labkey/test/util/PipelineToolsHelper.java index f7b2aefbda..ab740d6369 100644 --- a/src/org/labkey/test/util/PipelineToolsHelper.java +++ b/src/org/labkey/test/util/PipelineToolsHelper.java @@ -31,11 +31,11 @@ public class PipelineToolsHelper { - private LabKeySiteWrapper _test; - private static Set _originalToolsDirs = null; - private static Set _currentToolsDirs = null; + private final LabKeySiteWrapper _test; private static final String _defaultToolsDirectory = new File(TestFileUtils.getModulesDir().getParentFile(), "bin").getAbsoluteFile().toString(); private static final String _extraPipelineTools = TestProperties.getAdditionalPipelineTools(); + private static Set _originalToolsDirs = null; + private static Set _currentToolsDirs = Set.of(_defaultToolsDirectory); // Presume current tools dir is just the default dir public PipelineToolsHelper(LabKeySiteWrapper test) { @@ -90,7 +90,7 @@ public void addToPipelineToolsPath(@LoggedParam String... directories) Set directoriesToAppend = new LinkedHashSet<>(Arrays.asList(directories)); directoriesToAppend.remove(""); directoriesToAppend.remove(null); - if (directoriesToAppend.isEmpty() || _currentToolsDirs != null && _currentToolsDirs.containsAll(directoriesToAppend)) + if (directoriesToAppend.isEmpty() || _currentToolsDirs.containsAll(directoriesToAppend)) { TestLogger.log("No changes needed"); return; @@ -125,14 +125,10 @@ public void addToPipelineToolsPath(@LoggedParam String... directories) @LogMethod public void resetPipelineToolsDirectory() { - if (_originalToolsDirs != null) - { - if (TestProperties.isTestRunningOnTeamCity()) - setToolsDirToTestDefault(); - else - setPipelineToolsDirectory(pathFromDirs(_originalToolsDirs)); - _originalToolsDirs = null; - } + if (TestProperties.isTestRunningOnTeamCity()) + setToolsDirToTestDefault(); + else if (_originalToolsDirs != null) + setPipelineToolsDirectory(pathFromDirs(_originalToolsDirs)); } /** @@ -143,7 +139,7 @@ public void setToolsDirToTestDefault() { setPipelineToolsDirectory(getDefaultToolsPath()); if (TestProperties.isTestRunningOnTeamCity()) - _originalToolsDirs = null; + _originalToolsDirs = _currentToolsDirs; // Don't remove 'additional.pipeline.tools' between tests } private void goToSiteSettings()