RoyaleUnit: all calls to update classpath for Playwright happen in DefaultPlaywrightContext instead of split between Command and Context
diff --git a/royaleunit-ant-tasks/src/main/java/org/apache/royale/test/ant/launcher/commands/playwright/DefaultPlaywrightCommand.java b/royaleunit-ant-tasks/src/main/java/org/apache/royale/test/ant/launcher/commands/playwright/DefaultPlaywrightCommand.java
index c591f34..05b5f2b 100644
--- a/royaleunit-ant-tasks/src/main/java/org/apache/royale/test/ant/launcher/commands/playwright/DefaultPlaywrightCommand.java
+++ b/royaleunit-ant-tasks/src/main/java/org/apache/royale/test/ant/launcher/commands/playwright/DefaultPlaywrightCommand.java
@@ -20,13 +20,10 @@
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
-import java.util.Vector;
import java.util.function.Consumer;
import org.apache.royale.test.ant.LoggingUtil;
-import org.apache.tools.ant.AntClassLoader;
import org.apache.tools.ant.Project;
-import org.apache.tools.ant.taskdefs.Execute;
import com.microsoft.playwright.Browser;
import com.microsoft.playwright.BrowserType;
@@ -82,10 +79,6 @@
public void prepare()
{
- // must also call resetThreadContextLoader() after test run completes.
- // that happens in stop() method of DefaultPlaywrightContext
- ((AntClassLoader)getClass().getClassLoader()).setThreadContextLoader();
-
CreateOptions createOptions = new CreateOptions();
createOptions.setEnv(getEnvironmentMap());
playwright = PlaywrightImpl.create(createOptions);
diff --git a/royaleunit-ant-tasks/src/main/java/org/apache/royale/test/ant/launcher/contexts/DefaultPlaywrightContext.java b/royaleunit-ant-tasks/src/main/java/org/apache/royale/test/ant/launcher/contexts/DefaultPlaywrightContext.java
index 979de56..34e35f2 100644
--- a/royaleunit-ant-tasks/src/main/java/org/apache/royale/test/ant/launcher/contexts/DefaultPlaywrightContext.java
+++ b/royaleunit-ant-tasks/src/main/java/org/apache/royale/test/ant/launcher/contexts/DefaultPlaywrightContext.java
@@ -43,6 +43,9 @@
public void start() throws IOException
{
+ // calls resetThreadContextLoader() in stop() after test run completes
+ ((AntClassLoader)getClass().getClassLoader()).setThreadContextLoader();
+
//prep anything the command needs to run
command.prepare();
}
@@ -52,8 +55,7 @@
//destroy the playwright instance, if it exists
if(playwright != null)
{
- // setThreadContextLoader() was called in DefaultPlaywrightCommand,
- // and this is the matching call to resetThreadContextLoader()
+ // setThreadContextLoader() was called in start()
((AntClassLoader)getClass().getClassLoader()).resetThreadContextLoader();
playwright.close();