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()