You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by jo...@apache.org on 2022/08/01 21:21:13 UTC

[royale-compiler] branch develop updated: royaleunit: Call to setThreadContextLoader() for Playwright needs a matching call to resetThreadContextLoader()

This is an automated email from the ASF dual-hosted git repository.

joshtynjala pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-compiler.git


The following commit(s) were added to refs/heads/develop by this push:
     new 809c56398 royaleunit: Call to setThreadContextLoader() for Playwright needs a matching call to resetThreadContextLoader()
809c56398 is described below

commit 809c5639874ef729da574e54411fddc90627bffb
Author: Josh Tynjala <jo...@apache.org>
AuthorDate: Mon Aug 1 14:20:57 2022 -0700

    royaleunit: Call to setThreadContextLoader() for Playwright needs a matching call to resetThreadContextLoader()
---
 .../ant/launcher/commands/playwright/DefaultPlaywrightCommand.java | 2 ++
 .../test/ant/launcher/contexts/DefaultPlaywrightContext.java       | 7 ++++++-
 2 files changed, 8 insertions(+), 1 deletion(-)

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 82b862dfc..670ca5594 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
@@ -82,6 +82,8 @@ public class DefaultPlaywrightCommand implements PlaywrightCommand
     
     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();
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 0f5ba7d73..979de5631 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
@@ -19,6 +19,7 @@ package org.apache.royale.test.ant.launcher.contexts;
 import java.io.IOException;
 
 import org.apache.royale.test.ant.launcher.commands.playwright.PlaywrightCommand;
+import org.apache.tools.ant.AntClassLoader;
 import org.apache.tools.ant.Project;
 
 import com.microsoft.playwright.Playwright;
@@ -51,7 +52,11 @@ public class DefaultPlaywrightContext implements PlaywrightExecutionContext
         //destroy the playwright instance, if it exists
         if(playwright != null)
         {
-			playwright.close();
+            // setThreadContextLoader() was called in DefaultPlaywrightCommand,
+            // and this is the matching call to resetThreadContextLoader()
+            ((AntClassLoader)getClass().getClassLoader()).resetThreadContextLoader();
+
+            playwright.close();
         }
     }
 }