Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 7 additions & 5 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,13 @@
</parent>

<artifactId>maven-verifier</artifactId>
<version>1.8.1-SNAPSHOT</version>
<version>2.0.0-SNAPSHOT</version>

<name>Apache Maven Verifier Component</name>
<description>Provides a test harness for Maven integration tests.</description>

<properties>
<javaVersion>7</javaVersion>
<javaVersion>8</javaVersion>
<project.build.outputTimestamp>2022-03-19T12:57:53Z</project.build.outputTimestamp>
</properties>

Expand Down Expand Up @@ -73,14 +73,16 @@
</dependency>

<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.8.0</version>
Comment thread
gnodet marked this conversation as resolved.
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-core</artifactId>
<version>2.2</version>
<scope>test</scope>
</dependency>
<!-- embedder for testing Embedded3xLauncher with classpath -->
<dependency>
Expand Down
100 changes: 0 additions & 100 deletions src/main/java/org/apache/maven/it/Verifier.java
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,6 @@
import org.apache.maven.shared.utils.cli.StreamConsumer;
import org.apache.maven.shared.utils.cli.WriterStreamConsumer;
import org.apache.maven.shared.utils.io.FileUtils;
import org.junit.Assert;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
Expand Down Expand Up @@ -1046,24 +1045,6 @@ public void verifyFilePresent( String file ) throws VerificationException
verifyFilePresence( file, true );
}

/**
*
* @param file the path of the file to check
* @deprecated Use {@link #verifyFilePresent(String)} instead.
*/
@Deprecated
public void assertFilePresent( String file )
{
try
{
verifyFilePresent( file );
}
catch ( VerificationException e )
{
Assert.fail( e.getMessage() );
}
}

/**
* Verifies the given file's content matches an regular expression.
* Note this method also checks that the file exists and is readable.
Expand All @@ -1090,28 +1071,6 @@ public void verifyFileContentMatches( String file, String regex ) throws Verific
}
}

/**
* Check the given file's content matches a regular expression. Note this method also checks that the file exists
* and is readable.
*
* @param file the path of the file to check
* @param regex a regular expression that the file's contents should match
* @see Pattern
* @deprecated Use {@link #verifyFileContentMatches(String, String)} instead.
*/
@Deprecated
public void assertFileMatches( String file, String regex )
{
try
{
verifyFileContentMatches( file, regex );
}
catch ( VerificationException e )
{
Assert.fail( e.getMessage() );
}
}

/**
* Verifies that the given file does not exist.
*
Expand All @@ -1123,24 +1082,6 @@ public void verifyFileNotPresent( String file ) throws VerificationException
verifyFilePresence( file, false );
}

/**
*
* @param file the path of the file to check
* @deprecated Use {@link #verifyFileNotPresent(String)} instead.
*/
@Deprecated
public void assertFileNotPresent( String file )
{
try
{
verifyFileNotPresent( file );
}
catch ( VerificationException e )
{
Assert.fail( e.getMessage() );
}
}

private void verifyArtifactPresence( boolean wanted, String groupId, String artifactId, String version, String ext )
throws VerificationException
{
Expand Down Expand Up @@ -1181,36 +1122,6 @@ public void verifyArtifactNotPresent( String groupId, String artifactId, String
verifyArtifactPresence( false, groupId, artifactId, version, ext );
}

private void assertArtifactPresence( boolean wanted, String org, String name, String version, String ext )
{
try
{
verifyArtifactPresence( wanted, org, name, version, ext );
}
catch ( VerificationException e )
{
Assert.fail( e.getMessage() );
}
}

/**
* @deprecated Use {@link #verifyArtifactPresent(String, String, String, String)} instead.
*/
@Deprecated
public void assertArtifactPresent( String org, String name, String version, String ext )
{
assertArtifactPresence( true, org, name, version, ext );
}

/**
* @deprecated Use {@link #verifyArtifactNotPresent(String, String, String, String)} instead.
*/
@Deprecated
public void assertArtifactNotPresent( String org, String name, String version, String ext )
{
assertArtifactPresence( false, org, name, version, ext );
}

private void verifyExpectedResult( String line )
throws VerificationException
{
Expand Down Expand Up @@ -1916,17 +1827,6 @@ public void verifyArtifactContent( String groupId, String artifactId, String ver
}
}

/**
* @deprecated Use {@link #verifyArtifactContent(String, String, String, String, String)} instead.
*/
@Deprecated
public void assertArtifactContents( String org, String artifact, String version, String type, String contents )
throws IOException
{
String fileName = getArtifactPath( org, artifact, version, type );
Assert.assertEquals( contents, FileUtils.fileRead( fileName ) );
}

static class UserModelReader
extends DefaultHandler
{
Expand Down
18 changes: 9 additions & 9 deletions src/test/java/org/apache/maven/it/Embedded3xLauncherTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,22 +19,22 @@
* under the License.
*/

import java.io.File;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Properties;

import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.io.TempDir;

import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.is;


public class Embedded3xLauncherTest
{
@Rule
public TemporaryFolder temporaryFolder = new TemporaryFolder();
@TempDir
public Path temporaryDir;


private final String workingDir = Paths.get( "src/test/resources" ).toAbsolutePath().toString();
Expand All @@ -56,11 +56,11 @@ public void testWithMavenHome() throws Exception

private void runLauncher( MavenLauncher launcher ) throws Exception
{
File logFile = temporaryFolder.newFile( "build.log" );
Path logFile = temporaryDir.resolve( "build.log" );

int exitCode = launcher.run( new String[] {"clean"}, new Properties(), workingDir, logFile );
int exitCode = launcher.run( new String[] {"clean"}, new Properties(), workingDir, logFile.toFile() );

assertThat( "exit code unexpected, build log: " + System.lineSeparator() +
new String( Files.readAllBytes( logFile.toPath() ) ), exitCode, is( 0 ) );
new String( Files.readAllBytes( logFile ) ), exitCode, is( 0 ) );
}
}
38 changes: 19 additions & 19 deletions src/test/java/org/apache/maven/it/ForkedLauncherTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -22,26 +22,27 @@
*/

import static org.hamcrest.Matchers.is;
import static org.junit.Assert.fail;
import static org.junit.jupiter.api.Assertions.fail;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.nio.file.Files;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Properties;

import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.io.TempDir;


public class ForkedLauncherTest
{
@Rule
public TemporaryFolder temporaryFolder = new TemporaryFolder();
@TempDir
public Path temporaryDir;

private ForkedLauncher launcher;

Expand All @@ -50,10 +51,10 @@ public class ForkedLauncherTest
@Test
public void mvnw() throws Exception
{
launcher = new ForkedLauncher( ".", Collections.<String, String>emptyMap(), false, true );
File logFile = temporaryFolder.newFile( "build.log" );
launcher = new ForkedLauncher( ".", Collections.emptyMap(), false, true );
Path logFile = temporaryDir.resolve( "build.log" );

int exitCode = launcher.run( new String[0], new Properties(), workingDir, logFile );
int exitCode = launcher.run( new String[0], new Properties(), workingDir, logFile.toFile() );

// most likely this contains the exception in case exitCode != 0
expectFileLine( logFile, "Hello World" );
Expand All @@ -64,21 +65,20 @@ public void mvnw() throws Exception
@Test
public void mvnwDebug() throws Exception
{
launcher = new ForkedLauncher( ".", Collections.<String, String>emptyMap(), true, true );
File logFile = temporaryFolder.newFile( "build.log" );
launcher = new ForkedLauncher( ".", Collections.emptyMap(), true, true );
Path logFile = temporaryDir.resolve( "build.log" );

int exitCode = launcher.run( new String[0], new Properties(), workingDir, logFile );
int exitCode = launcher.run( new String[0], new Properties(), workingDir, logFile.toFile() );

// most likely this contains the exception in case exitCode != 0
expectFileLine( logFile, "Hello World" );

assertThat( "exit code", exitCode , is ( 0 ) );
}

static void expectFileLine( File file, String expectedline ) throws IOException
static void expectFileLine( Path file, String expectedline ) throws IOException
{
try ( FileReader fr = new FileReader( file );
BufferedReader br = new BufferedReader( fr ) )
try ( BufferedReader br = Files.newBufferedReader( file, StandardCharsets.UTF_8 ) )
{
Collection<String> text = new ArrayList<>();
String line;
Expand All @@ -91,8 +91,8 @@ static void expectFileLine( File file, String expectedline ) throws IOException
text.add( line );
}

String message = "%s doesn't contain '%s', was:\n%s";
fail( String.format( message, file.getName(), expectedline, text ) );
String message = "%s doesn't contain '%s', was:%n%s";
fail( String.format( message, file.getFileName(), expectedline, text ) );
}
}

Expand Down
37 changes: 17 additions & 20 deletions src/test/java/org/apache/maven/it/VerifierTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,28 +19,24 @@
* under the License.
*/

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Arrays;
import java.util.Properties;

import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
import org.junit.rules.TemporaryFolder;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.io.TempDir;

import static org.hamcrest.CoreMatchers.isA;
import static org.junit.Assert.assertEquals;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertInstanceOf;
import static org.junit.jupiter.api.Assertions.assertThrows;

public class VerifierTest
{
@Rule
public final ExpectedException exception = ExpectedException.none();

@Rule
public TemporaryFolder temporaryFolder = new TemporaryFolder();
@TempDir
public Path temporaryDir;

private void check( String expected, String... lines )
{
Expand Down Expand Up @@ -90,8 +86,8 @@ public void testFileInJarPresent()
{
//File file = new File( "src/test/resources/mshared104.jar!fud.xml" );
Verifier verifier = new Verifier( "src/test/resources" );
verifier.assertFilePresent( "mshared104.jar!/pom.xml" );
verifier.assertFileNotPresent( "mshared104.jar!/fud.xml" );
verifier.verifyFilePresent( "mshared104.jar!/pom.xml" );
verifier.verifyFileNotPresent( "mshared104.jar!/fud.xml" );
}

@Test
Expand All @@ -105,19 +101,20 @@ public void testStripAnsi()
@Test
public void testLoadPropertiesFNFE() throws VerificationException
{
exception.expectCause( isA( FileNotFoundException.class ) );

Verifier verifier = new Verifier( "src/test/resources" );
verifier.loadProperties( "unknown.properties" );
VerificationException exception = assertThrows( VerificationException.class, () -> {
Verifier verifier = new Verifier( "src/test/resources" );
verifier.loadProperties( "unknown.properties" );
} );
assertInstanceOf( FileNotFoundException.class, exception.getCause() );
}

@Test
public void testDedicatedMavenHome() throws VerificationException, IOException
{
String mavenHome = Paths.get( "src/test/resources/maven-home" ).toAbsolutePath().toString();
Verifier verifier = new Verifier( temporaryFolder.getRoot().toString(), null, false, mavenHome );
Verifier verifier = new Verifier( temporaryDir.toString(), null, false, mavenHome );
verifier.executeGoal( "some-goal" );
File logFile = new File( verifier.getBasedir(), verifier.getLogFileName() );
Path logFile = Paths.get( verifier.getBasedir(), verifier.getLogFileName() );
ForkedLauncherTest.expectFileLine( logFile, "Hello World from Maven Home" );
}

Expand Down