You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by sj...@apache.org on 2022/05/04 22:01:19 UTC

[maven-surefire] branch master updated: [SUREFIRE-2055] Always show random seed (#505)

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

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


The following commit(s) were added to refs/heads/master by this push:
     new a4cdc02e0 [SUREFIRE-2055] Always show random seed (#505)
a4cdc02e0 is described below

commit a4cdc02e0d5d70f86cf3001d69210ad080e97ce7
Author: Delany <de...@users.noreply.github.com>
AuthorDate: Thu May 5 00:01:14 2022 +0200

    [SUREFIRE-2055] Always show random seed (#505)
    
    * [SUREFIRE-2055] Always show random seed
---
 .../plugin/surefire/AbstractSurefireMojo.java      |  7 ++++--
 .../api/util/DefaultRunOrderCalculator.java        |  2 +-
 .../org/apache/maven/surefire/its/RunOrderIT.java  | 26 +++++++++++++++++++++-
 3 files changed, 31 insertions(+), 4 deletions(-)

diff --git a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/AbstractSurefireMojo.java b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/AbstractSurefireMojo.java
index 478914de0..257e64b2a 100644
--- a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/AbstractSurefireMojo.java
+++ b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/AbstractSurefireMojo.java
@@ -3117,9 +3117,12 @@ public abstract class AbstractSurefireMojo
 
     private void printDefaultSeedIfNecessary()
     {
-        if ( getRunOrderRandomSeed() == null && getRunOrder().equals( RunOrder.RANDOM.name() ) )
+        if ( getRunOrder().equals( RunOrder.RANDOM.name() ) )
         {
-            setRunOrderRandomSeed( System.nanoTime() );
+            if ( getRunOrderRandomSeed() == null )
+            {
+                setRunOrderRandomSeed( System.nanoTime() );
+            }
             getConsoleLogger().info(
                 "Tests will run in random order. To reproduce ordering use flag -D"
                     + getPluginName() + ".runOrder.random.seed=" + getRunOrderRandomSeed() );
diff --git a/surefire-api/src/main/java/org/apache/maven/surefire/api/util/DefaultRunOrderCalculator.java b/surefire-api/src/main/java/org/apache/maven/surefire/api/util/DefaultRunOrderCalculator.java
index 3a2db958c..79a461829 100644
--- a/surefire-api/src/main/java/org/apache/maven/surefire/api/util/DefaultRunOrderCalculator.java
+++ b/surefire-api/src/main/java/org/apache/maven/surefire/api/util/DefaultRunOrderCalculator.java
@@ -55,7 +55,7 @@ public class DefaultRunOrderCalculator
         this.runOrder = runOrderParameters.getRunOrder();
         this.sortOrder = this.runOrder.length > 0 ? getSortOrderComparator( this.runOrder[0] ) : null;
         Long runOrderRandomSeed = runOrderParameters.getRunOrderRandomSeed();
-        this.random = new Random( runOrderRandomSeed == null ? System.nanoTime() : runOrderRandomSeed );
+        random = new Random( runOrderRandomSeed == null ? System.nanoTime() : runOrderRandomSeed );
     }
 
     @Override
diff --git a/surefire-its/src/test/java/org/apache/maven/surefire/its/RunOrderIT.java b/surefire-its/src/test/java/org/apache/maven/surefire/its/RunOrderIT.java
index 853ed1e7d..a3f167bc6 100644
--- a/surefire-its/src/test/java/org/apache/maven/surefire/its/RunOrderIT.java
+++ b/surefire-its/src/test/java/org/apache/maven/surefire/its/RunOrderIT.java
@@ -94,7 +94,21 @@ public class RunOrderIT
             }
         }
     }
-    
+
+    @Test
+    public void testRandomJUnit4PrintSeedWithGivenSeed()
+    {
+        OutputValidator validator = executeWithRandomOrder( "junit4", 0L );
+        validator.verifyTextInLog( "To reproduce ordering use flag" );
+    }
+
+    @Test
+    public void testRandomJUnit4PrintSeedWithNoGivenSeed()
+    {
+        OutputValidator validator = executeWithRandomOrder( "junit4" );
+        validator.verifyTextInLog( "To reproduce ordering use flag" );
+    }
+
     @Test
     public void testReverseAlphabeticalJUnit4()
         throws Exception
@@ -181,6 +195,16 @@ public class RunOrderIT
             .verifyErrorFree( 3 );
     }
 
+    private OutputValidator executeWithRandomOrder( String profile )
+    {
+        return unpack()
+            .activateProfile( profile )
+            .forkMode( getForkMode() )
+            .runOrder( "random" )
+            .executeTest()
+            .verifyErrorFree( 3 );
+    }
+
     private OutputValidator executeWithRandomOrder( String profile, long seed  )
     {
         return unpack()