You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@netbeans.apache.org by sd...@apache.org on 2021/09/10 15:10:18 UTC

[netbeans] branch master updated: Improve wait condition for the test: both Lookup and configurations must change

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

sdedic pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/netbeans.git


The following commit(s) were added to refs/heads/master by this push:
     new 3ab92d0  Improve wait condition for the test: both Lookup and configurations must change
     new c67ae02  Merge pull request #3140 from sdedic/sdedic/failing-mavenactions
3ab92d0 is described below

commit 3ab92d08e4baacf5dbd47340789257f19be907a0
Author: Svata Dedic <sv...@oracle.com>
AuthorDate: Fri Sep 10 14:31:57 2021 +0200

    Improve wait condition for the test: both Lookup and configurations must change
---
 .../org/netbeans/api/maven/MavenActionsTest.java   | 24 ++++++++++++++++++----
 1 file changed, 20 insertions(+), 4 deletions(-)

diff --git a/java/api.maven/test/unit/src/org/netbeans/api/maven/MavenActionsTest.java b/java/api.maven/test/unit/src/org/netbeans/api/maven/MavenActionsTest.java
index 0b98e37..6c6c636 100644
--- a/java/api.maven/test/unit/src/org/netbeans/api/maven/MavenActionsTest.java
+++ b/java/api.maven/test/unit/src/org/netbeans/api/maven/MavenActionsTest.java
@@ -18,15 +18,21 @@
  */
 package org.netbeans.api.maven;
 
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
 import java.io.OutputStream;
 import java.io.OutputStreamWriter;
 import java.util.Arrays;
+import java.util.Collection;
 import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
 import org.netbeans.api.project.FileOwnerQuery;
 import org.netbeans.api.project.Project;
 import org.netbeans.api.project.ui.OpenProjects;
 import org.netbeans.junit.NbTestCase;
 import org.netbeans.modules.maven.api.MavenConfiguration;
+import org.netbeans.modules.maven.api.NbMavenProject;
+import org.netbeans.modules.maven.configurations.M2ConfigProvider;
 import org.netbeans.modules.maven.spi.actions.MavenActionsProvider;
 import org.netbeans.spi.project.ActionProvider;
 import org.netbeans.spi.project.ProjectConfigurationProvider;
@@ -78,7 +84,18 @@ public class MavenActionsTest extends NbTestCase {
         ActionProvider ap = p.getLookup().lookup(ActionProvider.class);
         assertTrue(Arrays.asList(ap.getSupportedActions()).contains("extra"));
         
-        CountDownLatch change = new CountDownLatch(1);
+        CountDownLatch change = new CountDownLatch(2); // Lookup and set of project configurations
+
+        // Lookup or project change will imply a configuration change. We need both
+        ProjectConfigurationProvider pcp = p.getLookup().lookup(ProjectConfigurationProvider.class);
+        pcp.addPropertyChangeListener(new PropertyChangeListener() {
+            @Override
+            public void propertyChange(PropertyChangeEvent evt) {
+                if (ProjectConfigurationProvider.PROP_CONFIGURATIONS.equals(evt.getNewValue())) {
+                    change.countDown();
+                }
+            }
+        });
         
         p.getLookup().lookupResult(MavenActionsProvider.class).addLookupListener(new LookupListener() {
             @Override
@@ -98,9 +115,8 @@ public class MavenActionsTest extends NbTestCase {
         }
         
         // wait for the set of providers to refresh. PROP_PROJECT comes first, but Lookup takes some
-        // additional time.
-        change.await();
-   
+        // additional time. The change should be almost immediate.
+        change.await(1000, TimeUnit.MILLISECONDS);
         assertFalse(Arrays.asList(ap.getSupportedActions()).contains("extra"));
     }
     

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@netbeans.apache.org
For additional commands, e-mail: commits-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists