You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2020/04/07 20:25:29 UTC
[maven-integration-testing] branch MNG-4660 created (now 0c36a7c)
This is an automated email from the ASF dual-hosted git repository.
rfscholte pushed a change to branch MNG-4660
in repository https://gitbox.apache.org/repos/asf/maven-integration-testing.git.
at 0c36a7c Share a bit more context why we're doing the ugly Thread.sleep
This branch includes the following new commits:
new 2abbb9b Add integration test to show that --resume-from works
new a89deda Change order of modules in POM
new 3329828 Introduce a compile-time dependency from module B to A
new 6b181b8 Rename test method so it's more descriptive
new 4be7b75 No longer necessary to first install the whole project locally
new 02d17ee Only run test for Maven 3.7.0-SNAPSHOT and up
new 52cc92d Remove TODO
new c6f65ae Formatting
new 8338314 Corrected the Maven version to be 3.7.0 instead of -SNAPSHOT.
new 6bd445f Reverted the change in the other integration test
new 2c02340 Putting our integration test on top of the list, to order the tests from new to old (and not alphabetically on ticket number)
new deeca5d Run test twice, once with packaged and once without packaged artifact
new 6105027 Test case for checking whether a packaged artifact is up to date with the compiled artifact
new 9a4064f Remove System.err.println invocations
new 82d953d Rename method so it better describes the test
new 13bf3b9 Revert unrelated change
new 4a35794 Removed the dependency on the compiler plugin
new a12661b Changed junit dependencies to version 4.12, which is the same as the testsuite itself is using.
new f73441d Add assertions to analyze failing Linux+JDK8
new 868d409 Add dependency on full Hamcrest package
new f720142 Additional assertions on files being present
new 3422c0a Base assertions and detailed failure message on the same info
new 9c68f25 Add small delay between two Verifier invocations.
new 0c36a7c Share a bit more context why we're doing the ugly Thread.sleep
The 24 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
[maven-integration-testing] 10/24: Reverted the change in the other
integration test
Posted by rf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rfscholte pushed a commit to branch MNG-4660
in repository https://gitbox.apache.org/repos/asf/maven-integration-testing.git
commit 6bd445f89aa4dadeedd3308b5552818d5843fc73
Author: Martin Kanters <Ma...@ing.com>
AuthorDate: Sat Feb 22 10:07:18 2020 -0500
Reverted the change in the other integration test
---
.../src/test/java/org/apache/maven/it/MavenITmng6090CIFriendlyTest.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6090CIFriendlyTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6090CIFriendlyTest.java
index d561ef5..c1abf34 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6090CIFriendlyTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6090CIFriendlyTest.java
@@ -60,7 +60,7 @@ public class MavenITmng6090CIFriendlyTest
verifier.addCliOption( "-Drevision=1.2" );
verifier.setLogFileName( "install-log.txt" );
- verifier.executeGoal( "verify" );
+ verifier.executeGoals( Arrays.asList( "clean", "install" ) );
verifier.verifyErrorFreeLog();
verifier.resetStreams();
[maven-integration-testing] 07/24: Remove TODO
Posted by rf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rfscholte pushed a commit to branch MNG-4660
in repository https://gitbox.apache.org/repos/asf/maven-integration-testing.git
commit 52cc92df3b575e891b27a957a9fae9c7136aa9e1
Author: Maarten Mulders <ma...@infosupport.com>
AuthorDate: Fri Feb 14 13:29:59 2020 +0100
Remove TODO
---
.../src/test/java/org/apache/maven/it/MavenITmng4660ResumeFromTest.java | 1 -
1 file changed, 1 deletion(-)
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660ResumeFromTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660ResumeFromTest.java
index 6a1788a..a1c6ec1 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660ResumeFromTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660ResumeFromTest.java
@@ -32,7 +32,6 @@ import java.io.File;
public class MavenITmng4660ResumeFromTest extends AbstractMavenIntegrationTestCase {
public MavenITmng4660ResumeFromTest()
{
- // TODO Update version range once bug has been fixed!
super( "[3.7.0-SNAPSHOT,)" );
}
[maven-integration-testing] 09/24: Corrected the Maven version to
be 3.7.0 instead of -SNAPSHOT.
Posted by rf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rfscholte pushed a commit to branch MNG-4660
in repository https://gitbox.apache.org/repos/asf/maven-integration-testing.git
commit 83383140bc17b537837b61b0c62e5e2c3ef76692
Author: Martin Kanters <Ma...@ing.com>
AuthorDate: Sat Feb 22 10:05:09 2020 -0500
Corrected the Maven version to be 3.7.0 instead of -SNAPSHOT.
---
.../src/test/java/org/apache/maven/it/MavenITmng4660ResumeFromTest.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660ResumeFromTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660ResumeFromTest.java
index a30febf..d43e796 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660ResumeFromTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660ResumeFromTest.java
@@ -32,7 +32,7 @@ import java.io.File;
public class MavenITmng4660ResumeFromTest extends AbstractMavenIntegrationTestCase {
public MavenITmng4660ResumeFromTest()
{
- super( "[3.7.0-SNAPSHOT,)" );
+ super( "[3.7.0,)" );
}
/**
[maven-integration-testing] 16/24: Revert unrelated change
Posted by rf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rfscholte pushed a commit to branch MNG-4660
in repository https://gitbox.apache.org/repos/asf/maven-integration-testing.git
commit 13bf3b93c8e49e0ed2e64f636d6afbe3ca91b567
Author: Maarten Mulders <ma...@infosupport.com>
AuthorDate: Fri Mar 27 11:30:37 2020 +0100
Revert unrelated change
---
.../src/test/java/org/apache/maven/it/MavenITmng6090CIFriendlyTest.java | 1 +
1 file changed, 1 insertion(+)
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6090CIFriendlyTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6090CIFriendlyTest.java
index c1abf34..77b7248 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6090CIFriendlyTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6090CIFriendlyTest.java
@@ -19,6 +19,7 @@ package org.apache.maven.it;
* under the License.
*/
+import org.apache.maven.it.Verifier;
import org.apache.maven.it.util.ResourceExtractor;
import java.io.File;
[maven-integration-testing] 21/24: Additional assertions on files
being present
Posted by rf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rfscholte pushed a commit to branch MNG-4660
in repository https://gitbox.apache.org/repos/asf/maven-integration-testing.git
commit f720142bd062673f1cfb1151215bd32b5e6ade85
Author: Maarten Mulders <ma...@infosupport.com>
AuthorDate: Tue Apr 7 14:16:39 2020 +0200
Additional assertions on files being present
---
.../maven/it/MavenITmng4660OutdatedPackagedArtifact.java | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660OutdatedPackagedArtifact.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660OutdatedPackagedArtifact.java
index de00b93..d3b4c91 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660OutdatedPackagedArtifact.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660OutdatedPackagedArtifact.java
@@ -27,6 +27,9 @@ import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
+import static org.junit.Assert.assertThat;
+import static org.hamcrest.Matchers.greaterThan;
+
/**
* This is a test case for a new check introduced with <a href="https://issues.apache.org/jira/browse/MNG-4660">MNG-4660</a>.
* That check verifies if a packaged artifact within the Reactor is up-to-date with the outputDirectory of the same project.
@@ -62,13 +65,21 @@ public class MavenITmng4660OutdatedPackagedArtifact extends AbstractMavenIntegra
// 2. Create a properties file with some content and compile only that module (module A).
final Verifier verifier2 = newVerifier( testDir.getAbsolutePath() );
- verifier2.deleteDirectory( "module-a/target/classes" );
+ final Path resourcesDirectory = Files.createDirectories( Paths.get( testDir.toString(), "module-a", "src", "main", "resources" ) );
+ final Path fileToWrite = resourcesDirectory.resolve( "example.properties" );
+ FileUtils.fileWrite( fileToWrite.toString(), "x=42" );
verifier2.setAutoclean( false );
verifier2.addCliOption( "--projects" );
verifier2.addCliOption( ":module-a" );
verifier2.executeGoal( "compile" );
+ Path module1PropertiesFile = testDir.toPath().resolve( "module-a/target/classes/example.properties" )
+ .toAbsolutePath();
+
+ verifier2.assertFilePresent( module1PropertiesFile.toString() );
+ assertThat( Files.getLastModifiedTime( module1PropertiesFile ), greaterThan ( Files.getLastModifiedTime( module1Jar ) ) );
+
Path module1Class = testDir.toPath().resolve( "module-a/target/classes/org/apache/maven/it/Example.class" )
.toAbsolutePath();
verifier2.verifyErrorFreeLog();
[maven-integration-testing] 03/24: Introduce a compile-time
dependency from module B to A
Posted by rf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rfscholte pushed a commit to branch MNG-4660
in repository https://gitbox.apache.org/repos/asf/maven-integration-testing.git
commit 33298288778167c0a70ddf8ac0b790f0402a2dba
Author: Maarten Mulders <ma...@infosupport.com>
AuthorDate: Wed Jan 29 15:11:17 2020 +0100
Introduce a compile-time dependency from module B to A
---
.../src/main/java/org/apache/maven/it/Example.java} | 11 +----------
.../module-b/src/test/java/org/apache/maven/it/TestCase.java | 1 +
2 files changed, 2 insertions(+), 10 deletions(-)
diff --git a/core-it-suite/src/test/resources/mng-4660-resume-from/module-b/src/test/java/org/apache/maven/it/TestCase.java b/core-it-suite/src/test/resources/mng-4660-resume-from/module-a/src/main/java/org/apache/maven/it/Example.java
similarity index 82%
copy from core-it-suite/src/test/resources/mng-4660-resume-from/module-b/src/test/java/org/apache/maven/it/TestCase.java
copy to core-it-suite/src/test/resources/mng-4660-resume-from/module-a/src/main/java/org/apache/maven/it/Example.java
index 0fe241b..1608aba 100644
--- a/core-it-suite/src/test/resources/mng-4660-resume-from/module-b/src/test/java/org/apache/maven/it/TestCase.java
+++ b/core-it-suite/src/test/resources/mng-4660-resume-from/module-a/src/main/java/org/apache/maven/it/Example.java
@@ -19,15 +19,6 @@ package org.apache.maven.it;
* under the License.
*/
-import org.junit.Test;
-
-import static org.junit.Assert.fail;
-
-public class TestCase
+public class Example
{
- @Test
- public void testCase()
- {
- fail( "Deliberately fail test case" );
- }
}
\ No newline at end of file
diff --git a/core-it-suite/src/test/resources/mng-4660-resume-from/module-b/src/test/java/org/apache/maven/it/TestCase.java b/core-it-suite/src/test/resources/mng-4660-resume-from/module-b/src/test/java/org/apache/maven/it/TestCase.java
index 0fe241b..932ff51 100644
--- a/core-it-suite/src/test/resources/mng-4660-resume-from/module-b/src/test/java/org/apache/maven/it/TestCase.java
+++ b/core-it-suite/src/test/resources/mng-4660-resume-from/module-b/src/test/java/org/apache/maven/it/TestCase.java
@@ -28,6 +28,7 @@ public class TestCase
@Test
public void testCase()
{
+ final Example example = new Example();
fail( "Deliberately fail test case" );
}
}
\ No newline at end of file
[maven-integration-testing] 23/24: Add small delay between two
Verifier invocations.
Posted by rf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rfscholte pushed a commit to branch MNG-4660
in repository https://gitbox.apache.org/repos/asf/maven-integration-testing.git
commit 9c68f256006fa5acf963cc4889acbe3570c49c33
Author: Maarten Mulders <ma...@infosupport.com>
AuthorDate: Tue Apr 7 19:35:40 2020 +0200
Add small delay between two Verifier invocations.
It also makes sure we're not hit by tests that run so fast, that the
difference in file modification time is too small to observe. Some
combinations of Java version, OS and filesystem return that value
with "just" second precision, which is not detailed enough.
---
.../org/apache/maven/it/MavenITmng4660OutdatedPackagedArtifact.java | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660OutdatedPackagedArtifact.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660OutdatedPackagedArtifact.java
index ea8100f..983a112 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660OutdatedPackagedArtifact.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660OutdatedPackagedArtifact.java
@@ -63,6 +63,11 @@ public class MavenITmng4660OutdatedPackagedArtifact extends AbstractMavenIntegra
verifier1.assertFilePresent( module1Jar.toString() );
verifier1.resetStreams();
+ // Simulating the delay between two invocations. It also makes sure we're not hit by tests that run so fast,
+ // that the difference in file modification time (see below) is too small to observe. Some combinations of OS
+ // and filesystem return that value with "just" second precision, which is not detailed enough.
+ Thread.sleep(1_000);
+
// 2. Create a properties file with some content and compile only that module (module A).
final Verifier verifier2 = newVerifier( testDir.getAbsolutePath() );
final Path resourcesDirectory = Files.createDirectories( Paths.get( testDir.toString(), "module-a", "src", "main", "resources" ) );
[maven-integration-testing] 14/24: Remove System.err.println
invocations
Posted by rf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rfscholte pushed a commit to branch MNG-4660
in repository https://gitbox.apache.org/repos/asf/maven-integration-testing.git
commit 9a4064f50deb61af82f1ea83bbc78e774dad2fd6
Author: Maarten Mulders <ma...@infosupport.com>
AuthorDate: Fri Mar 27 11:01:35 2020 +0100
Remove System.err.println invocations
---
.../org/apache/maven/it/MavenITmng4660OutdatedPackagedArtifact.java | 2 --
1 file changed, 2 deletions(-)
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660OutdatedPackagedArtifact.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660OutdatedPackagedArtifact.java
index 289a357..d168696 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660OutdatedPackagedArtifact.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660OutdatedPackagedArtifact.java
@@ -63,10 +63,8 @@ public class MavenITmng4660OutdatedPackagedArtifact extends AbstractMavenIntegra
final Verifier verifier2 = newVerifier( testDir.getAbsolutePath() );
final Path resourcesDirectory = Files.createDirectories( Paths.get( testDir.toString(), "module-a", "src", "main", "resources" ) );
- System.err.println( "Created directory " + resourcesDirectory.toAbsolutePath().toString() );
final Path fileToWrite = resourcesDirectory.resolve( "example.properties" );
FileUtils.fileWrite( fileToWrite.toString(), "x=42" );
- System.err.println( "Wrote file " + fileToWrite.toAbsolutePath().toString() );
verifier2.setAutoclean( false );
verifier2.addCliOption( "--projects" );
[maven-integration-testing] 11/24: Putting our integration test on
top of the list,
to order the tests from new to old (and not alphabetically on ticket number)
Posted by rf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rfscholte pushed a commit to branch MNG-4660
in repository https://gitbox.apache.org/repos/asf/maven-integration-testing.git
commit 2c023407d29b2814a300228e9d4f8163ff5da832
Author: Martin Kanters <Ma...@ing.com>
AuthorDate: Mon Mar 9 09:34:58 2020 +0100
Putting our integration test on top of the list, to order the tests from new to old (and not alphabetically on ticket number)
---
.../src/test/java/org/apache/maven/it/IntegrationTestSuite.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java b/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java
index f722683..09aeb18 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java
@@ -107,6 +107,7 @@ public class IntegrationTestSuite
// -------------------------------------------------------------------------------------------------------------
// suite.addTestSuite( MavenIT0108SnapshotUpdateTest.class ); -- MNG-3137
+ suite.addTestSuite( MavenITmng4660ResumeFromTest.class );
suite.addTestSuite( MavenITmng6759TransitiveDependencyRepositoriesTest.class );
suite.addTestSuite( MavenITmng6720FailFastTest.class );
suite.addTestSuite( MavenITmng6558ToolchainsBuildingEventTest.class );
@@ -234,7 +235,6 @@ public class IntegrationTestSuite
suite.addTestSuite( MavenITmng4679SnapshotUpdateInPluginTest.class );
suite.addTestSuite( MavenITmng4677DisabledPluginConfigInheritanceTest.class );
suite.addTestSuite( MavenITmng4666CoreRealmImportTest.class );
- suite.addTestSuite( MavenITmng4660ResumeFromTest.class );
suite.addTestSuite( MavenITmng4654ArtifactHandlerForMainArtifactTest.class );
suite.addTestSuite( MavenITmng4644StrictPomParsingRejectsMisplacedTextTest.class );
// suite.addTestSuite( MavenITmng4633DualCompilerExecutionsWeaveModeTest.class );
[maven-integration-testing] 01/24: Add integration test to show
that --resume-from works
Posted by rf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rfscholte pushed a commit to branch MNG-4660
in repository https://gitbox.apache.org/repos/asf/maven-integration-testing.git
commit 2abbb9bb637d4630cf88f2c6b749220c976bc7c2
Author: Maarten Mulders <ma...@infosupport.com>
AuthorDate: Wed Jan 29 11:20:35 2020 +0100
Add integration test to show that --resume-from works
---
.../org/apache/maven/it/IntegrationTestSuite.java | 1 +
.../maven/it/MavenITmng4660ResumeFromTest.java | 74 ++++++++++++++++++++++
.../mng-4660-resume-from/module-a/pom.xml | 36 +++++++++++
.../mng-4660-resume-from/module-b/pom.xml | 44 +++++++++++++
.../test/java/org/apache/maven/it/TestCase.java | 33 ++++++++++
.../test/resources/mng-4660-resume-from/pom.xml | 62 ++++++++++++++++++
6 files changed, 250 insertions(+)
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java b/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java
index 924e1fe..f722683 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java
@@ -234,6 +234,7 @@ public class IntegrationTestSuite
suite.addTestSuite( MavenITmng4679SnapshotUpdateInPluginTest.class );
suite.addTestSuite( MavenITmng4677DisabledPluginConfigInheritanceTest.class );
suite.addTestSuite( MavenITmng4666CoreRealmImportTest.class );
+ suite.addTestSuite( MavenITmng4660ResumeFromTest.class );
suite.addTestSuite( MavenITmng4654ArtifactHandlerForMainArtifactTest.class );
suite.addTestSuite( MavenITmng4644StrictPomParsingRejectsMisplacedTextTest.class );
// suite.addTestSuite( MavenITmng4633DualCompilerExecutionsWeaveModeTest.class );
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660ResumeFromTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660ResumeFromTest.java
new file mode 100644
index 0000000..c1cbf66
--- /dev/null
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660ResumeFromTest.java
@@ -0,0 +1,74 @@
+package org.apache.maven.it;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+/**
+ * This is a test case for <a href="https://issues.apache.org/jira/browse/MNG-4660">MNG-4660</a>.
+ *
+ * @author Maarten Mulders
+ * @author Martin Kanters
+ */
+public class MavenITmng4660ResumeFromTest extends AbstractMavenIntegrationTestCase {
+ public MavenITmng4660ResumeFromTest()
+ {
+ // TODO Update version range once bug has been fixed!
+ super( "[3.6.3,)" );
+ }
+
+ /**
+ * Test that the --resume-from flag resolves dependencies inside the same Maven project
+ * without having them installed first.
+ */
+ public void testIt() throws Exception
+ {
+ final File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-4660-resume-from" );
+
+ final Verifier verifier1 = newVerifier( testDir.getAbsolutePath() );
+ verifier1.deleteDirectory( "target" );
+ verifier1.deleteArtifacts( "org.apache.maven.its.mng4660" );
+
+ try
+ {
+ verifier1.executeGoal("verify");
+ fail( "Expected this invocation to fail" ); // See TestCase.java
+ }
+ catch ( final VerificationException ve )
+ {
+ verifier1.verifyTextInLog( "Deliberately fail test case" );
+ }
+ finally
+ {
+ verifier1.resetStreams();
+ }
+
+ final Verifier verifier2 = newVerifier( testDir.getAbsolutePath() );
+ verifier2.setAutoclean( false );
+ verifier2.addCliOption( "--resume-from" );
+ verifier2.addCliOption( ":module-b" );
+ verifier2.executeGoal( "compile" ); // to prevent the unit test from failing (again)
+
+ verifier2.verifyErrorFreeLog();
+ verifier2.resetStreams();
+ }
+}
diff --git a/core-it-suite/src/test/resources/mng-4660-resume-from/module-a/pom.xml b/core-it-suite/src/test/resources/mng-4660-resume-from/module-a/pom.xml
new file mode 100644
index 0000000..f6e2caa
--- /dev/null
+++ b/core-it-suite/src/test/resources/mng-4660-resume-from/module-a/pom.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>module-a</artifactId>
+
+ <parent>
+ <groupId>org.apache.maven.its.mng4660</groupId>
+ <artifactId>parent</artifactId>
+ <version>1.0</version>
+ </parent>
+
+</project>
diff --git a/core-it-suite/src/test/resources/mng-4660-resume-from/module-b/pom.xml b/core-it-suite/src/test/resources/mng-4660-resume-from/module-b/pom.xml
new file mode 100644
index 0000000..e00e63b
--- /dev/null
+++ b/core-it-suite/src/test/resources/mng-4660-resume-from/module-b/pom.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>module-b</artifactId>
+
+ <parent>
+ <groupId>org.apache.maven.its.mng4660</groupId>
+ <artifactId>parent</artifactId>
+ <version>1.0</version>
+ </parent>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.its.mng4660</groupId>
+ <artifactId>module-a</artifactId>
+ <version>1.0</version>
+ </dependency>
+ </dependencies>
+
+</project>
diff --git a/core-it-suite/src/test/resources/mng-4660-resume-from/module-b/src/test/java/org/apache/maven/it/TestCase.java b/core-it-suite/src/test/resources/mng-4660-resume-from/module-b/src/test/java/org/apache/maven/it/TestCase.java
new file mode 100644
index 0000000..0fe241b
--- /dev/null
+++ b/core-it-suite/src/test/resources/mng-4660-resume-from/module-b/src/test/java/org/apache/maven/it/TestCase.java
@@ -0,0 +1,33 @@
+package org.apache.maven.it;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.junit.Test;
+
+import static org.junit.Assert.fail;
+
+public class TestCase
+{
+ @Test
+ public void testCase()
+ {
+ fail( "Deliberately fail test case" );
+ }
+}
\ No newline at end of file
diff --git a/core-it-suite/src/test/resources/mng-4660-resume-from/pom.xml b/core-it-suite/src/test/resources/mng-4660-resume-from/pom.xml
new file mode 100644
index 0000000..5fa0e49
--- /dev/null
+++ b/core-it-suite/src/test/resources/mng-4660-resume-from/pom.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng4660</groupId>
+ <artifactId>parent</artifactId>
+ <version>1.0</version>
+
+ <packaging>pom</packaging>
+
+ <properties>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ <maven.compiler.source>1.8</maven.compiler.source>
+ <maven.compiler.target>1.8</maven.compiler.target>
+ </properties>
+
+ <modules>
+ <module>module-a</module>
+ <module>module-b</module>
+ </modules>
+
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.4</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>3.8.1</version>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
[maven-integration-testing] 06/24: Only run test for Maven
3.7.0-SNAPSHOT and up
Posted by rf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rfscholte pushed a commit to branch MNG-4660
in repository https://gitbox.apache.org/repos/asf/maven-integration-testing.git
commit 02d17ee8176b68f73cc7c59c3a0b4c25e6c695a4
Author: Maarten Mulders <ma...@infosupport.com>
AuthorDate: Fri Feb 14 13:29:38 2020 +0100
Only run test for Maven 3.7.0-SNAPSHOT and up
---
.../src/test/java/org/apache/maven/it/MavenITmng4660ResumeFromTest.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660ResumeFromTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660ResumeFromTest.java
index 7405cac..6a1788a 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660ResumeFromTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660ResumeFromTest.java
@@ -33,7 +33,7 @@ public class MavenITmng4660ResumeFromTest extends AbstractMavenIntegrationTestCa
public MavenITmng4660ResumeFromTest()
{
// TODO Update version range once bug has been fixed!
- super( "[3.6.3,)" );
+ super( "[3.7.0-SNAPSHOT,)" );
}
/**
[maven-integration-testing] 17/24: Removed the dependency on the
compiler plugin
Posted by rf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rfscholte pushed a commit to branch MNG-4660
in repository https://gitbox.apache.org/repos/asf/maven-integration-testing.git
commit 4a35794d3eff677345ac7228016edc5ee2e9225d
Author: Martin Kanters <Ma...@infosupport.com>
AuthorDate: Sat Mar 28 20:09:03 2020 +0100
Removed the dependency on the compiler plugin
---
.../maven/it/MavenITmng4660OutdatedPackagedArtifact.java | 1 -
.../resources/mng-4660-outdated-packaged-artifact/pom.xml | 15 ++++++---------
.../src/test/resources/mng-4660-resume-from/pom.xml | 15 ++++++---------
3 files changed, 12 insertions(+), 19 deletions(-)
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660OutdatedPackagedArtifact.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660OutdatedPackagedArtifact.java
index d168696..99dabf7 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660OutdatedPackagedArtifact.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660OutdatedPackagedArtifact.java
@@ -58,7 +58,6 @@ public class MavenITmng4660OutdatedPackagedArtifact extends AbstractMavenIntegra
verifier1.verifyErrorFreeLog();
verifier1.resetStreams();
-
// 2. Create a properties file with some content and compile only that module (module A).
final Verifier verifier2 = newVerifier( testDir.getAbsolutePath() );
diff --git a/core-it-suite/src/test/resources/mng-4660-outdated-packaged-artifact/pom.xml b/core-it-suite/src/test/resources/mng-4660-outdated-packaged-artifact/pom.xml
index a2d0bcd..22df1eb 100644
--- a/core-it-suite/src/test/resources/mng-4660-outdated-packaged-artifact/pom.xml
+++ b/core-it-suite/src/test/resources/mng-4660-outdated-packaged-artifact/pom.xml
@@ -30,6 +30,12 @@ under the License.
<packaging>pom</packaging>
+ <name>Maven Integration Test :: MNG-4660</name>
+ <description>
+ This is a test case for a new check which verifies if a packaged artifact
+ within the Reactor is up-to-date with the outputDirectory of the same project.
+ </description>
+
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
@@ -50,13 +56,4 @@ under the License.
</dependency>
</dependencies>
- <build>
- <plugins>
- <plugin>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>3.8.1</version>
- </plugin>
- </plugins>
- </build>
-
</project>
diff --git a/core-it-suite/src/test/resources/mng-4660-resume-from/pom.xml b/core-it-suite/src/test/resources/mng-4660-resume-from/pom.xml
index a2d0bcd..98e4f82 100644
--- a/core-it-suite/src/test/resources/mng-4660-resume-from/pom.xml
+++ b/core-it-suite/src/test/resources/mng-4660-resume-from/pom.xml
@@ -30,6 +30,12 @@ under the License.
<packaging>pom</packaging>
+ <name>Maven Integration Test :: MNG-4660</name>
+ <description>
+ Test that the --resume-from flag resolves dependencies inside the same Maven project
+ without having them installed first.
+ </description>
+
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
@@ -50,13 +56,4 @@ under the License.
</dependency>
</dependencies>
- <build>
- <plugins>
- <plugin>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>3.8.1</version>
- </plugin>
- </plugins>
- </build>
-
</project>
[maven-integration-testing] 15/24: Rename method so it better
describes the test
Posted by rf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rfscholte pushed a commit to branch MNG-4660
in repository https://gitbox.apache.org/repos/asf/maven-integration-testing.git
commit 82d953dbb7d8616a9f32440b0ead9b7f050d435f
Author: Maarten Mulders <ma...@infosupport.com>
AuthorDate: Fri Mar 27 11:04:31 2020 +0100
Rename method so it better describes the test
Also update the Javadoc a bit to better explain what the
scenario is in this case.
---
.../test/java/org/apache/maven/it/MavenITmng4660ResumeFromTest.java | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660ResumeFromTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660ResumeFromTest.java
index 6d2b471..b223812 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660ResumeFromTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660ResumeFromTest.java
@@ -38,9 +38,10 @@ public class MavenITmng4660ResumeFromTest extends AbstractMavenIntegrationTestCa
/**
* Test that the --resume-from flag resolves dependencies inside the same Maven project
* without having them installed first.
- * This test case uses the target/classes folder of module-a.
+ * This test case uses the target/classes folder of module-a, for the situation where
+ * module-a has not been packaged.
*/
- public void testShouldResolveUnpackagedArtifactFromEarlierBuild() throws Exception
+ public void testShouldResolveOutputDirectoryFromEarlierBuild() throws Exception
{
final File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-4660-resume-from" );
[maven-integration-testing] 22/24: Base assertions and detailed
failure message on the same info
Posted by rf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rfscholte pushed a commit to branch MNG-4660
in repository https://gitbox.apache.org/repos/asf/maven-integration-testing.git
commit 3422c0a83dbf216be18ba86f9de670e029f4a057
Author: Maarten Mulders <ma...@infosupport.com>
AuthorDate: Tue Apr 7 19:34:43 2020 +0200
Base assertions and detailed failure message on the same info
---
.../apache/maven/it/MavenITmng4660OutdatedPackagedArtifact.java | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660OutdatedPackagedArtifact.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660OutdatedPackagedArtifact.java
index d3b4c91..ea8100f 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660OutdatedPackagedArtifact.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660OutdatedPackagedArtifact.java
@@ -78,7 +78,8 @@ public class MavenITmng4660OutdatedPackagedArtifact extends AbstractMavenIntegra
.toAbsolutePath();
verifier2.assertFilePresent( module1PropertiesFile.toString() );
- assertThat( Files.getLastModifiedTime( module1PropertiesFile ), greaterThan ( Files.getLastModifiedTime( module1Jar ) ) );
+ assertThat( Files.getLastModifiedTime( module1PropertiesFile ),
+ greaterThan ( Files.getLastModifiedTime( module1Jar ) ) );
Path module1Class = testDir.toPath().resolve( "module-a/target/classes/org/apache/maven/it/Example.class" )
.toAbsolutePath();
@@ -102,9 +103,9 @@ public class MavenITmng4660OutdatedPackagedArtifact extends AbstractMavenIntegra
catch ( VerificationException e )
{
String message = e.getMessage() + System.lineSeparator();
- message += " " + module1Jar.getFileName() + " > " + Files.getLastModifiedTime( module1Jar )
+ message += " " + module1Jar.getFileName() + " -> " + Files.getLastModifiedTime( module1Jar )
+ System.lineSeparator();
- message += " " + module1Class.getFileName() + " > " + Files.getLastModifiedTime( module1Class )
+ message += " " + module1PropertiesFile.getFileName() + " -> " + Files.getLastModifiedTime( module1PropertiesFile )
+ System.lineSeparator();
throw new VerificationException( message, e.getCause() );
}
[maven-integration-testing] 18/24: Changed junit dependencies to
version 4.12, which is the same as the testsuite itself is using.
Posted by rf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rfscholte pushed a commit to branch MNG-4660
in repository https://gitbox.apache.org/repos/asf/maven-integration-testing.git
commit a12661b0501e11e0eabcfa4eccab03fb2d5a96e1
Author: Martin Kanters <Ma...@infosupport.com>
AuthorDate: Sat Mar 28 21:37:52 2020 +0100
Changed junit dependencies to version 4.12, which is the same as the testsuite itself is using.
---
.../src/test/resources/mng-4660-outdated-packaged-artifact/pom.xml | 2 +-
core-it-suite/src/test/resources/mng-4660-resume-from/pom.xml | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/core-it-suite/src/test/resources/mng-4660-outdated-packaged-artifact/pom.xml b/core-it-suite/src/test/resources/mng-4660-outdated-packaged-artifact/pom.xml
index 22df1eb..565b2fc 100644
--- a/core-it-suite/src/test/resources/mng-4660-outdated-packaged-artifact/pom.xml
+++ b/core-it-suite/src/test/resources/mng-4660-outdated-packaged-artifact/pom.xml
@@ -51,7 +51,7 @@ under the License.
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
- <version>4.4</version>
+ <version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
diff --git a/core-it-suite/src/test/resources/mng-4660-resume-from/pom.xml b/core-it-suite/src/test/resources/mng-4660-resume-from/pom.xml
index 98e4f82..1589fd0 100644
--- a/core-it-suite/src/test/resources/mng-4660-resume-from/pom.xml
+++ b/core-it-suite/src/test/resources/mng-4660-resume-from/pom.xml
@@ -51,7 +51,7 @@ under the License.
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
- <version>4.4</version>
+ <version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
[maven-integration-testing] 08/24: Formatting
Posted by rf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rfscholte pushed a commit to branch MNG-4660
in repository https://gitbox.apache.org/repos/asf/maven-integration-testing.git
commit c6f65ae136376dcc269349442aaeaf9aa26240c1
Author: Maarten Mulders <ma...@infosupport.com>
AuthorDate: Fri Feb 14 15:18:43 2020 +0100
Formatting
---
.../src/test/java/org/apache/maven/it/MavenITmng4660ResumeFromTest.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660ResumeFromTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660ResumeFromTest.java
index a1c6ec1..a30febf 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660ResumeFromTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660ResumeFromTest.java
@@ -49,7 +49,7 @@ public class MavenITmng4660ResumeFromTest extends AbstractMavenIntegrationTestCa
try
{
- verifier1.executeGoal("verify");
+ verifier1.executeGoal( "verify" );
fail( "Expected this invocation to fail" ); // See TestCase.java
}
catch ( final VerificationException ve )
[maven-integration-testing] 04/24: Rename test method so it's more
descriptive
Posted by rf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rfscholte pushed a commit to branch MNG-4660
in repository https://gitbox.apache.org/repos/asf/maven-integration-testing.git
commit 6b181b8365e55bad0294ce2bbd41196ad2e8847e
Author: Maarten Mulders <ma...@infosupport.com>
AuthorDate: Fri Feb 14 12:05:03 2020 +0100
Rename test method so it's more descriptive
---
.../src/test/java/org/apache/maven/it/MavenITmng4660ResumeFromTest.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660ResumeFromTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660ResumeFromTest.java
index c1cbf66..7405cac 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660ResumeFromTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660ResumeFromTest.java
@@ -40,7 +40,7 @@ public class MavenITmng4660ResumeFromTest extends AbstractMavenIntegrationTestCa
* Test that the --resume-from flag resolves dependencies inside the same Maven project
* without having them installed first.
*/
- public void testIt() throws Exception
+ public void testShouldResolveDependenciesFromEarlierBuild() throws Exception
{
final File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-4660-resume-from" );
[maven-integration-testing] 24/24: Share a bit more context why
we're doing the ugly Thread.sleep
Posted by rf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rfscholte pushed a commit to branch MNG-4660
in repository https://gitbox.apache.org/repos/asf/maven-integration-testing.git
commit 0c36a7cad32680b5e83e80479678eb57aff19c82
Author: Maarten Mulders <ma...@infosupport.com>
AuthorDate: Tue Apr 7 21:29:38 2020 +0200
Share a bit more context why we're doing the ugly Thread.sleep
---
.../maven/it/MavenITmng4660OutdatedPackagedArtifact.java | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660OutdatedPackagedArtifact.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660OutdatedPackagedArtifact.java
index 983a112..afc46de 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660OutdatedPackagedArtifact.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660OutdatedPackagedArtifact.java
@@ -63,10 +63,13 @@ public class MavenITmng4660OutdatedPackagedArtifact extends AbstractMavenIntegra
verifier1.assertFilePresent( module1Jar.toString() );
verifier1.resetStreams();
- // Simulating the delay between two invocations. It also makes sure we're not hit by tests that run so fast,
- // that the difference in file modification time (see below) is too small to observe. Some combinations of OS
- // and filesystem return that value with "just" second precision, which is not detailed enough.
- Thread.sleep(1_000);
+ if ( System.getProperty( "java.version", "" ).startsWith( "1." ) )
+ {
+ // Simulating the delay between two invocations. It also makes sure we're not hit by tests that run so fast,
+ // that the difference in file modification time (see below) is too small to observe. Java 8 on Linux and
+ // macOS returns that value with "just" second precision, which is not detailed enough.
+ Thread.sleep( 1_000 );
+ }
// 2. Create a properties file with some content and compile only that module (module A).
final Verifier verifier2 = newVerifier( testDir.getAbsolutePath() );
[maven-integration-testing] 13/24: Test case for checking whether a
packaged artifact is up to date with the compiled artifact
Posted by rf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rfscholte pushed a commit to branch MNG-4660
in repository https://gitbox.apache.org/repos/asf/maven-integration-testing.git
commit 610502780fa16240be7e1fbfb2849fe960210a00
Author: Maarten Mulders <ma...@infosupport.com>
AuthorDate: Thu Mar 26 14:02:42 2020 +0100
Test case for checking whether a packaged artifact is up to date with the compiled artifact
---
.../org/apache/maven/it/IntegrationTestSuite.java | 1 +
.../it/MavenITmng4660OutdatedPackagedArtifact.java | 91 ++++++++++++++++++++++
.../module-a/pom.xml | 36 +++++++++
.../src/main/java/org/apache/maven/it/Example.java | 24 ++++++
.../module-b/pom.xml | 44 +++++++++++
.../java/org/apache/maven/it/AnotherExample.java | 28 +++++++
.../test/java/org/apache/maven/it/TestCase.java | 31 ++++++++
.../mng-4660-outdated-packaged-artifact/pom.xml | 62 +++++++++++++++
.../java/org/apache/maven/it/AnotherExample.java | 28 +++++++
9 files changed, 345 insertions(+)
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java b/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java
index 09aeb18..3f0cbc8 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java
@@ -108,6 +108,7 @@ public class IntegrationTestSuite
// suite.addTestSuite( MavenIT0108SnapshotUpdateTest.class ); -- MNG-3137
suite.addTestSuite( MavenITmng4660ResumeFromTest.class );
+ suite.addTestSuite( MavenITmng4660OutdatedPackagedArtifact.class );
suite.addTestSuite( MavenITmng6759TransitiveDependencyRepositoriesTest.class );
suite.addTestSuite( MavenITmng6720FailFastTest.class );
suite.addTestSuite( MavenITmng6558ToolchainsBuildingEventTest.class );
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660OutdatedPackagedArtifact.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660OutdatedPackagedArtifact.java
new file mode 100644
index 0000000..289a357
--- /dev/null
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660OutdatedPackagedArtifact.java
@@ -0,0 +1,91 @@
+package org.apache.maven.it;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.maven.it.util.ResourceExtractor;
+import org.apache.maven.shared.utils.io.FileUtils;
+
+import java.io.File;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+
+/**
+ * This is a test case for a new check introduced with <a href="https://issues.apache.org/jira/browse/MNG-4660">MNG-4660</a>.
+ * That check verifies if a packaged artifact within the Reactor is up-to-date with the outputDirectory of the same project.
+ *
+ * @author Maarten Mulders
+ * @author Martin Kanters
+ */
+public class MavenITmng4660OutdatedPackagedArtifact extends AbstractMavenIntegrationTestCase {
+ public MavenITmng4660OutdatedPackagedArtifact()
+ {
+ super( "[3.7.0,)" );
+ }
+
+ /**
+ * Test that Maven logs a warning when a packaged artifact is found that is older than the outputDirectory of the
+ * same artifact.
+ */
+ public void testShouldWarnWhenPackagedArtifactIsOutdated() throws Exception
+ {
+ final File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-4660-outdated-packaged-artifact" );
+
+ // 1. Package the whole project
+ final Verifier verifier1 = newVerifier( testDir.getAbsolutePath() );
+ verifier1.deleteDirectory( "target" );
+ verifier1.deleteArtifacts( "org.apache.maven.its.mng4660" );
+
+ verifier1.executeGoal( "package" );
+
+ verifier1.verifyErrorFreeLog();
+ verifier1.resetStreams();
+
+
+ // 2. Create a properties file with some content and compile only that module (module A).
+ final Verifier verifier2 = newVerifier( testDir.getAbsolutePath() );
+
+ final Path resourcesDirectory = Files.createDirectories( Paths.get( testDir.toString(), "module-a", "src", "main", "resources" ) );
+ System.err.println( "Created directory " + resourcesDirectory.toAbsolutePath().toString() );
+ final Path fileToWrite = resourcesDirectory.resolve( "example.properties" );
+ FileUtils.fileWrite( fileToWrite.toString(), "x=42" );
+ System.err.println( "Wrote file " + fileToWrite.toAbsolutePath().toString() );
+
+ verifier2.setAutoclean( false );
+ verifier2.addCliOption( "--projects" );
+ verifier2.addCliOption( ":module-a" );
+ verifier2.executeGoal( "compile" );
+
+ verifier2.verifyErrorFreeLog();
+ verifier2.resetStreams();
+
+ // 3. Resume project build from module B, that depends on module A we just touched. Its packaged artifact
+ // is no longer in sync with its compiled artifacts.
+ final Verifier verifier3 = newVerifier( testDir.getAbsolutePath() );
+ verifier3.setAutoclean( false );
+ verifier3.addCliOption( "--resume-from" );
+ verifier3.addCliOption( ":module-b" );
+ verifier3.executeGoal( "compile" );
+
+ verifier3.verifyErrorFreeLog();
+ verifier3.verifyTextInLog( "Packaged artifact is not up-to-date" );
+ verifier3.resetStreams();
+ }
+}
diff --git a/core-it-suite/src/test/resources/mng-4660-outdated-packaged-artifact/module-a/pom.xml b/core-it-suite/src/test/resources/mng-4660-outdated-packaged-artifact/module-a/pom.xml
new file mode 100644
index 0000000..f6e2caa
--- /dev/null
+++ b/core-it-suite/src/test/resources/mng-4660-outdated-packaged-artifact/module-a/pom.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>module-a</artifactId>
+
+ <parent>
+ <groupId>org.apache.maven.its.mng4660</groupId>
+ <artifactId>parent</artifactId>
+ <version>1.0</version>
+ </parent>
+
+</project>
diff --git a/core-it-suite/src/test/resources/mng-4660-outdated-packaged-artifact/module-a/src/main/java/org/apache/maven/it/Example.java b/core-it-suite/src/test/resources/mng-4660-outdated-packaged-artifact/module-a/src/main/java/org/apache/maven/it/Example.java
new file mode 100644
index 0000000..1608aba
--- /dev/null
+++ b/core-it-suite/src/test/resources/mng-4660-outdated-packaged-artifact/module-a/src/main/java/org/apache/maven/it/Example.java
@@ -0,0 +1,24 @@
+package org.apache.maven.it;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+public class Example
+{
+}
\ No newline at end of file
diff --git a/core-it-suite/src/test/resources/mng-4660-outdated-packaged-artifact/module-b/pom.xml b/core-it-suite/src/test/resources/mng-4660-outdated-packaged-artifact/module-b/pom.xml
new file mode 100644
index 0000000..e00e63b
--- /dev/null
+++ b/core-it-suite/src/test/resources/mng-4660-outdated-packaged-artifact/module-b/pom.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>module-b</artifactId>
+
+ <parent>
+ <groupId>org.apache.maven.its.mng4660</groupId>
+ <artifactId>parent</artifactId>
+ <version>1.0</version>
+ </parent>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.its.mng4660</groupId>
+ <artifactId>module-a</artifactId>
+ <version>1.0</version>
+ </dependency>
+ </dependencies>
+
+</project>
diff --git a/core-it-suite/src/test/resources/mng-4660-outdated-packaged-artifact/module-b/src/main/java/org/apache/maven/it/AnotherExample.java b/core-it-suite/src/test/resources/mng-4660-outdated-packaged-artifact/module-b/src/main/java/org/apache/maven/it/AnotherExample.java
new file mode 100644
index 0000000..20ab187
--- /dev/null
+++ b/core-it-suite/src/test/resources/mng-4660-outdated-packaged-artifact/module-b/src/main/java/org/apache/maven/it/AnotherExample.java
@@ -0,0 +1,28 @@
+package org.apache.maven.it;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+public class AnotherExample
+{
+ public AnotherExample()
+ {
+ new Example();
+ }
+}
\ No newline at end of file
diff --git a/core-it-suite/src/test/resources/mng-4660-outdated-packaged-artifact/module-b/src/test/java/org/apache/maven/it/TestCase.java b/core-it-suite/src/test/resources/mng-4660-outdated-packaged-artifact/module-b/src/test/java/org/apache/maven/it/TestCase.java
new file mode 100644
index 0000000..74a4579
--- /dev/null
+++ b/core-it-suite/src/test/resources/mng-4660-outdated-packaged-artifact/module-b/src/test/java/org/apache/maven/it/TestCase.java
@@ -0,0 +1,31 @@
+package org.apache.maven.it;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.junit.Test;
+
+public class TestCase
+{
+ @Test
+ public void testCase()
+ {
+ final Example example = new Example();
+ }
+}
\ No newline at end of file
diff --git a/core-it-suite/src/test/resources/mng-4660-outdated-packaged-artifact/pom.xml b/core-it-suite/src/test/resources/mng-4660-outdated-packaged-artifact/pom.xml
new file mode 100644
index 0000000..a2d0bcd
--- /dev/null
+++ b/core-it-suite/src/test/resources/mng-4660-outdated-packaged-artifact/pom.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng4660</groupId>
+ <artifactId>parent</artifactId>
+ <version>1.0</version>
+
+ <packaging>pom</packaging>
+
+ <properties>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ <maven.compiler.source>1.8</maven.compiler.source>
+ <maven.compiler.target>1.8</maven.compiler.target>
+ </properties>
+
+ <modules>
+ <module>module-b</module>
+ <module>module-a</module>
+ </modules>
+
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.4</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>3.8.1</version>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
diff --git a/core-it-suite/src/test/resources/mng-4660-resume-from/module-b/src/main/java/org/apache/maven/it/AnotherExample.java b/core-it-suite/src/test/resources/mng-4660-resume-from/module-b/src/main/java/org/apache/maven/it/AnotherExample.java
new file mode 100644
index 0000000..20ab187
--- /dev/null
+++ b/core-it-suite/src/test/resources/mng-4660-resume-from/module-b/src/main/java/org/apache/maven/it/AnotherExample.java
@@ -0,0 +1,28 @@
+package org.apache.maven.it;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+public class AnotherExample
+{
+ public AnotherExample()
+ {
+ new Example();
+ }
+}
\ No newline at end of file
[maven-integration-testing] 20/24: Add dependency on full Hamcrest
package
Posted by rf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rfscholte pushed a commit to branch MNG-4660
in repository https://gitbox.apache.org/repos/asf/maven-integration-testing.git
commit 868d409cd92a469cdfd3dd9c17675b23fa54c625
Author: Maarten Mulders <ma...@infosupport.com>
AuthorDate: Tue Apr 7 14:14:41 2020 +0200
Add dependency on full Hamcrest package
---
core-it-suite/pom.xml | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/core-it-suite/pom.xml b/core-it-suite/pom.xml
index 1830219..2850f66 100644
--- a/core-it-suite/pom.xml
+++ b/core-it-suite/pom.xml
@@ -92,6 +92,12 @@ under the License.
<!-- NOTE: Use compile scope for transitivity. -->
</dependency>
<dependency>
+ <groupId>org.hamcrest</groupId>
+ <artifactId>hamcrest-all</artifactId>
+ <version>1.3</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
<version>1.5.8</version>
[maven-integration-testing] 12/24: Run test twice,
once with packaged and once without packaged artifact
Posted by rf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rfscholte pushed a commit to branch MNG-4660
in repository https://gitbox.apache.org/repos/asf/maven-integration-testing.git
commit deeca5d58479a5e2af0677593f291d7e322a08e7
Author: Maarten Mulders <ma...@infosupport.com>
AuthorDate: Mon Mar 9 14:46:59 2020 +0100
Run test twice, once with packaged and once without packaged artifact
---
.../maven/it/MavenITmng4660ResumeFromTest.java | 42 ++++++++++++++++++++--
1 file changed, 40 insertions(+), 2 deletions(-)
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660ResumeFromTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660ResumeFromTest.java
index d43e796..6d2b471 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660ResumeFromTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660ResumeFromTest.java
@@ -38,8 +38,9 @@ public class MavenITmng4660ResumeFromTest extends AbstractMavenIntegrationTestCa
/**
* Test that the --resume-from flag resolves dependencies inside the same Maven project
* without having them installed first.
+ * This test case uses the target/classes folder of module-a.
*/
- public void testShouldResolveDependenciesFromEarlierBuild() throws Exception
+ public void testShouldResolveUnpackagedArtifactFromEarlierBuild() throws Exception
{
final File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-4660-resume-from" );
@@ -49,7 +50,44 @@ public class MavenITmng4660ResumeFromTest extends AbstractMavenIntegrationTestCa
try
{
- verifier1.executeGoal( "verify" );
+ verifier1.executeGoal( "test" ); // The test goal will not create a packaged artifact
+ fail( "Expected this invocation to fail" ); // See TestCase.java
+ }
+ catch ( final VerificationException ve )
+ {
+ verifier1.verifyTextInLog( "Deliberately fail test case" );
+ }
+ finally
+ {
+ verifier1.resetStreams();
+ }
+
+ final Verifier verifier2 = newVerifier( testDir.getAbsolutePath() );
+ verifier2.setAutoclean( false );
+ verifier2.addCliOption( "--resume-from" );
+ verifier2.addCliOption( ":module-b" );
+ verifier2.executeGoal( "compile" ); // to prevent the unit test from failing (again)
+
+ verifier2.verifyErrorFreeLog();
+ verifier2.resetStreams();
+ }
+
+ /**
+ * Test that the --resume-from flag resolves dependencies inside the same Maven project
+ * without having them installed first.
+ * This test case uses the packaged artifact of module-a.
+ */
+ public void testShouldResolvePackagedArtifactFromEarlierBuild() throws Exception
+ {
+ final File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-4660-resume-from" );
+
+ final Verifier verifier1 = newVerifier( testDir.getAbsolutePath() );
+ verifier1.deleteDirectory( "target" );
+ verifier1.deleteArtifacts( "org.apache.maven.its.mng4660" );
+
+ try
+ {
+ verifier1.executeGoal( "verify" ); // The verify goal will create a packaged artifact
fail( "Expected this invocation to fail" ); // See TestCase.java
}
catch ( final VerificationException ve )
[maven-integration-testing] 02/24: Change order of modules in POM
Posted by rf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rfscholte pushed a commit to branch MNG-4660
in repository https://gitbox.apache.org/repos/asf/maven-integration-testing.git
commit a89deda237163180d6ec62ca061b18835f11124b
Author: Maarten Mulders <ma...@infosupport.com>
AuthorDate: Wed Jan 29 15:10:43 2020 +0100
Change order of modules in POM
---
core-it-suite/src/test/resources/mng-4660-resume-from/pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/core-it-suite/src/test/resources/mng-4660-resume-from/pom.xml b/core-it-suite/src/test/resources/mng-4660-resume-from/pom.xml
index 5fa0e49..a2d0bcd 100644
--- a/core-it-suite/src/test/resources/mng-4660-resume-from/pom.xml
+++ b/core-it-suite/src/test/resources/mng-4660-resume-from/pom.xml
@@ -37,8 +37,8 @@ under the License.
</properties>
<modules>
- <module>module-a</module>
<module>module-b</module>
+ <module>module-a</module>
</modules>
<dependencies>
[maven-integration-testing] 05/24: No longer necessary to first
install the whole project locally
Posted by rf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rfscholte pushed a commit to branch MNG-4660
in repository https://gitbox.apache.org/repos/asf/maven-integration-testing.git
commit 4be7b75c978a7565390d1102526699f38f3c4ea9
Author: Maarten Mulders <ma...@infosupport.com>
AuthorDate: Fri Feb 14 12:06:13 2020 +0100
No longer necessary to first install the whole project locally
---
.../test/java/org/apache/maven/it/MavenITmng6090CIFriendlyTest.java | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6090CIFriendlyTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6090CIFriendlyTest.java
index 77b7248..d561ef5 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6090CIFriendlyTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6090CIFriendlyTest.java
@@ -19,7 +19,6 @@ package org.apache.maven.it;
* under the License.
*/
-import org.apache.maven.it.Verifier;
import org.apache.maven.it.util.ResourceExtractor;
import java.io.File;
@@ -61,7 +60,7 @@ public class MavenITmng6090CIFriendlyTest
verifier.addCliOption( "-Drevision=1.2" );
verifier.setLogFileName( "install-log.txt" );
- verifier.executeGoals( Arrays.asList( "clean", "install" ) );
+ verifier.executeGoal( "verify" );
verifier.verifyErrorFreeLog();
verifier.resetStreams();
[maven-integration-testing] 19/24: Add assertions to analyze
failing Linux+JDK8
Posted by rf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rfscholte pushed a commit to branch MNG-4660
in repository https://gitbox.apache.org/repos/asf/maven-integration-testing.git
commit f73441de6be09dc9d74bab6d62b1c149769f3e9d
Author: rfscholte <rf...@apache.org>
AuthorDate: Tue Mar 31 21:36:04 2020 +0200
Add assertions to analyze failing Linux+JDK8
---
.../it/MavenITmng4660OutdatedPackagedArtifact.java | 24 +++++++++++++++++-----
1 file changed, 19 insertions(+), 5 deletions(-)
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660OutdatedPackagedArtifact.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660OutdatedPackagedArtifact.java
index 99dabf7..de00b93 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660OutdatedPackagedArtifact.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660OutdatedPackagedArtifact.java
@@ -55,22 +55,24 @@ public class MavenITmng4660OutdatedPackagedArtifact extends AbstractMavenIntegra
verifier1.executeGoal( "package" );
+ Path module1Jar = testDir.toPath().resolve( "module-a/target/module-a-1.0.jar" ).toAbsolutePath();
verifier1.verifyErrorFreeLog();
+ verifier1.assertFilePresent( module1Jar.toString() );
verifier1.resetStreams();
// 2. Create a properties file with some content and compile only that module (module A).
final Verifier verifier2 = newVerifier( testDir.getAbsolutePath() );
-
- final Path resourcesDirectory = Files.createDirectories( Paths.get( testDir.toString(), "module-a", "src", "main", "resources" ) );
- final Path fileToWrite = resourcesDirectory.resolve( "example.properties" );
- FileUtils.fileWrite( fileToWrite.toString(), "x=42" );
+ verifier2.deleteDirectory( "module-a/target/classes" );
verifier2.setAutoclean( false );
verifier2.addCliOption( "--projects" );
verifier2.addCliOption( ":module-a" );
verifier2.executeGoal( "compile" );
+ Path module1Class = testDir.toPath().resolve( "module-a/target/classes/org/apache/maven/it/Example.class" )
+ .toAbsolutePath();
verifier2.verifyErrorFreeLog();
+ verifier2.assertFilePresent( module1Class.toString() );
verifier2.resetStreams();
// 3. Resume project build from module B, that depends on module A we just touched. Its packaged artifact
@@ -82,7 +84,19 @@ public class MavenITmng4660OutdatedPackagedArtifact extends AbstractMavenIntegra
verifier3.executeGoal( "compile" );
verifier3.verifyErrorFreeLog();
- verifier3.verifyTextInLog( "Packaged artifact is not up-to-date" );
+ try
+ {
+ verifier3.verifyTextInLog( "Packaged artifact is not up-to-date" );
+ }
+ catch ( VerificationException e )
+ {
+ String message = e.getMessage() + System.lineSeparator();
+ message += " " + module1Jar.getFileName() + " > " + Files.getLastModifiedTime( module1Jar )
+ + System.lineSeparator();
+ message += " " + module1Class.getFileName() + " > " + Files.getLastModifiedTime( module1Class )
+ + System.lineSeparator();
+ throw new VerificationException( message, e.getCause() );
+ }
verifier3.resetStreams();
}
}