You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by gn...@apache.org on 2023/02/14 16:07:00 UTC

[maven-mvnd] branch master updated: Turn off transfer messages when running tests when possible (#790)

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

gnodet pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-mvnd.git


The following commit(s) were added to refs/heads/master by this push:
     new d6b8cb11 Turn off transfer messages when running tests when possible (#790)
d6b8cb11 is described below

commit d6b8cb11730a4cd8e59f871c7ab6466eacb9294a
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Tue Feb 14 17:06:54 2023 +0100

    Turn off transfer messages when running tests when possible (#790)
---
 .../mvndaemon/mvnd/it/ConcurrentDownloadsTest.java |  8 +++---
 .../mvndaemon/mvnd/it/ThreadOptionNativeIT.java    |  4 ---
 .../org/mvndaemon/mvnd/it/ThreadOptionTest.java    |  7 +----
 .../org/mvndaemon/mvnd/junit/JvmTestClient.java    |  7 ++++-
 .../mvndaemon/mvnd/junit/MvndTestExtension.java    |  5 +++-
 .../org/mvndaemon/mvnd/junit/TestParameters.java   | 31 ++++++++++++++++++++--
 6 files changed, 45 insertions(+), 17 deletions(-)

diff --git a/integration-tests/src/test/java/org/mvndaemon/mvnd/it/ConcurrentDownloadsTest.java b/integration-tests/src/test/java/org/mvndaemon/mvnd/it/ConcurrentDownloadsTest.java
index 739d0b6e..8a98f67a 100644
--- a/integration-tests/src/test/java/org/mvndaemon/mvnd/it/ConcurrentDownloadsTest.java
+++ b/integration-tests/src/test/java/org/mvndaemon/mvnd/it/ConcurrentDownloadsTest.java
@@ -25,9 +25,10 @@ import java.io.IOException;
 import org.junit.jupiter.api.Test;
 import org.mvndaemon.mvnd.assertj.TestClientOutput;
 import org.mvndaemon.mvnd.client.Client;
-import org.mvndaemon.mvnd.client.DaemonParameters;
 import org.mvndaemon.mvnd.common.Message;
+import org.mvndaemon.mvnd.junit.ClientFactory;
 import org.mvndaemon.mvnd.junit.MvndTest;
+import org.mvndaemon.mvnd.junit.TestParameters;
 
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
@@ -35,15 +36,16 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 public class ConcurrentDownloadsTest {
 
     @Inject
-    Client client;
+    ClientFactory clientFactory;
 
     @Inject
-    DaemonParameters parameters;
+    TestParameters parameters;
 
     @Test
     void build() throws IOException, InterruptedException {
 
         final TestClientOutput o = new TestClientOutput();
+        Client client = clientFactory.newClient(parameters.withTransferProgress());
         client.execute(o, "clean", "install", "-e", "-B").assertSuccess();
 
         int maxConcurrentDownloads = 0;
diff --git a/integration-tests/src/test/java/org/mvndaemon/mvnd/it/ThreadOptionNativeIT.java b/integration-tests/src/test/java/org/mvndaemon/mvnd/it/ThreadOptionNativeIT.java
index ea14bc36..baa896ab 100644
--- a/integration-tests/src/test/java/org/mvndaemon/mvnd/it/ThreadOptionNativeIT.java
+++ b/integration-tests/src/test/java/org/mvndaemon/mvnd/it/ThreadOptionNativeIT.java
@@ -81,8 +81,4 @@ public class ThreadOptionNativeIT {
 
         output.assertContainsMatchingSubsequence("Using the SmartBuilder implementation with a thread count of 2");
     }
-
-    protected boolean isNative() {
-        return true;
-    }
 }
diff --git a/integration-tests/src/test/java/org/mvndaemon/mvnd/it/ThreadOptionTest.java b/integration-tests/src/test/java/org/mvndaemon/mvnd/it/ThreadOptionTest.java
index d421b414..4c880c76 100644
--- a/integration-tests/src/test/java/org/mvndaemon/mvnd/it/ThreadOptionTest.java
+++ b/integration-tests/src/test/java/org/mvndaemon/mvnd/it/ThreadOptionTest.java
@@ -21,9 +21,4 @@ package org.mvndaemon.mvnd.it;
 import org.mvndaemon.mvnd.junit.MvndTest;
 
 @MvndTest(projectDir = "src/test/projects/multi-module")
-public class ThreadOptionTest extends ThreadOptionNativeIT {
-
-    protected boolean isNative() {
-        return false;
-    }
-}
+public class ThreadOptionTest extends ThreadOptionNativeIT {}
diff --git a/integration-tests/src/test/java/org/mvndaemon/mvnd/junit/JvmTestClient.java b/integration-tests/src/test/java/org/mvndaemon/mvnd/junit/JvmTestClient.java
index 82549d3e..144ab702 100644
--- a/integration-tests/src/test/java/org/mvndaemon/mvnd/junit/JvmTestClient.java
+++ b/integration-tests/src/test/java/org/mvndaemon/mvnd/junit/JvmTestClient.java
@@ -20,6 +20,7 @@ package org.mvndaemon.mvnd.junit;
 
 import java.nio.file.Files;
 import java.nio.file.Path;
+import java.util.ArrayList;
 import java.util.List;
 
 import org.mvndaemon.mvnd.assertj.TestClientOutput;
@@ -31,7 +32,7 @@ import org.mvndaemon.mvnd.common.logging.ClientOutput;
 
 public class JvmTestClient extends DefaultClient {
 
-    private DaemonParameters parameters;
+    private final DaemonParameters parameters;
 
     public JvmTestClient(DaemonParameters parameters) {
         super(parameters);
@@ -42,6 +43,10 @@ public class JvmTestClient extends DefaultClient {
     public ExecutionResult execute(ClientOutput output, List<String> argv) {
         setMultiModuleProjectDirectory(argv);
         setSystemPropertiesFromCommandLine(argv);
+        argv = new ArrayList<>(argv);
+        if (parameters instanceof TestParameters && ((TestParameters) parameters).isNoTransferProgress()) {
+            argv.add("-ntp");
+        }
         final ExecutionResult delegate = super.execute(output, argv);
         if (output instanceof TestClientOutput) {
             return new JvmTestResult(delegate, ((TestClientOutput) output).messagesToString());
diff --git a/integration-tests/src/test/java/org/mvndaemon/mvnd/junit/MvndTestExtension.java b/integration-tests/src/test/java/org/mvndaemon/mvnd/junit/MvndTestExtension.java
index 4aa6a7b0..a303a927 100644
--- a/integration-tests/src/test/java/org/mvndaemon/mvnd/junit/MvndTestExtension.java
+++ b/integration-tests/src/test/java/org/mvndaemon/mvnd/junit/MvndTestExtension.java
@@ -41,6 +41,7 @@ import org.mvndaemon.mvnd.common.DaemonRegistry;
 import org.mvndaemon.mvnd.common.Environment;
 import org.mvndaemon.mvnd.common.TimeUtils;
 
+import static org.mvndaemon.mvnd.junit.TestParameters.TEST_MIN_THREADS;
 import static org.mvndaemon.mvnd.junit.TestUtils.deleteDir;
 
 public class MvndTestExtension implements BeforeAllCallback, BeforeEachCallback, AfterAllCallback {
@@ -253,7 +254,9 @@ public class MvndTestExtension implements BeforeAllCallback, BeforeEachCallback,
                                     .multipliedBy(10),
                     maxLostKeepAlive != null && !maxLostKeepAlive.isEmpty()
                             ? Integer.parseInt(maxLostKeepAlive)
-                            : Integer.parseInt(Environment.MVND_MAX_LOST_KEEP_ALIVE.getDefault()) * 10);
+                            : Integer.parseInt(Environment.MVND_MAX_LOST_KEEP_ALIVE.getDefault()) * 10,
+                    TEST_MIN_THREADS,
+                    true);
             final TestRegistry registry = new TestRegistry(parameters.registry());
 
             return new MvndResource(parameters, registry, isNative, timeoutMs);
diff --git a/integration-tests/src/test/java/org/mvndaemon/mvnd/junit/TestParameters.java b/integration-tests/src/test/java/org/mvndaemon/mvnd/junit/TestParameters.java
index 90ef6f8e..2f8b291e 100644
--- a/integration-tests/src/test/java/org/mvndaemon/mvnd/junit/TestParameters.java
+++ b/integration-tests/src/test/java/org/mvndaemon/mvnd/junit/TestParameters.java
@@ -28,6 +28,7 @@ import org.mvndaemon.mvnd.common.TimeUtils;
 public class TestParameters extends DaemonParameters {
     static final int TEST_MIN_THREADS = 2;
     private final Path testDir;
+    private final boolean noTransferProgress;
 
     public TestParameters(
             Path testDir,
@@ -42,7 +43,9 @@ public class TestParameters extends DaemonParameters {
             Path logbackConfigurationPath,
             Duration idleTimeout,
             Duration keepAlive,
-            int maxLostKeepAlive) {
+            int maxLostKeepAlive,
+            int minThreads,
+            boolean noTransferProgress) {
         super(new PropertiesBuilder()
                 .put(Environment.MVND_PROPERTIES_PATH, mvndPropertiesPath)
                 .put(Environment.MVND_HOME, mavenHome)
@@ -56,8 +59,9 @@ public class TestParameters extends DaemonParameters {
                 .put(Environment.MVND_IDLE_TIMEOUT, TimeUtils.printDuration(idleTimeout))
                 .put(Environment.MVND_KEEP_ALIVE, TimeUtils.printDuration(keepAlive))
                 .put(Environment.MVND_MAX_LOST_KEEP_ALIVE, maxLostKeepAlive)
-                .put(Environment.MVND_MIN_THREADS, TEST_MIN_THREADS));
+                .put(Environment.MVND_MIN_THREADS, minThreads));
         this.testDir = testDir;
+        this.noTransferProgress = noTransferProgress;
     }
 
     public DaemonParameters clearMavenMultiModuleProjectDirectory() {
@@ -68,7 +72,30 @@ public class TestParameters extends DaemonParameters {
         return derive(b -> b.put(Environment.MAVEN_MULTIMODULE_PROJECT_DIRECTORY, dir.toString()));
     }
 
+    public TestParameters withTransferProgress() {
+        return new TestParameters(
+                testDir,
+                value(Environment.MVND_PROPERTIES_PATH).asPath(),
+                value(Environment.MVND_HOME).asPath(),
+                value(Environment.USER_HOME).asPath(),
+                value(Environment.USER_DIR).asPath(),
+                value(Environment.MAVEN_MULTIMODULE_PROJECT_DIRECTORY).asPath(),
+                value(Environment.JAVA_HOME).asPath(),
+                value(Environment.MAVEN_REPO_LOCAL).asPath(),
+                value(Environment.MAVEN_SETTINGS).asPath(),
+                value(Environment.MVND_LOGBACK).asPath(),
+                value(Environment.MVND_IDLE_TIMEOUT).asDuration(),
+                value(Environment.MVND_KEEP_ALIVE).asDuration(),
+                value(Environment.MVND_MAX_LOST_KEEP_ALIVE).asInt(),
+                value(Environment.MVND_MIN_THREADS).asInt(),
+                false);
+    }
+
     public Path getTestDir() {
         return testDir;
     }
+
+    public boolean isNoTransferProgress() {
+        return noTransferProgress;
+    }
 }