Author: sisbell Date: Thu Feb 7 11:41:19 2008 New Revision: 619597 URL: http://svn.apache.org/viewvc?rev=619597&view=rev Log: Test mojo can now accept vendor tag.
Modified: incubator/nmaven/trunk/plugins/maven-dotnet-test-plugin/src/main/java/org/apache/maven/dotnet/plugin/nunit/DotnetTestMojo.java Modified: incubator/nmaven/trunk/plugins/maven-dotnet-test-plugin/src/main/java/org/apache/maven/dotnet/plugin/nunit/DotnetTestMojo.java URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/plugins/maven-dotnet-test-plugin/src/main/java/org/apache/maven/dotnet/plugin/nunit/DotnetTestMojo.java?rev=619597&r1=619596&r2=619597&view=diff ============================================================================== --- incubator/nmaven/trunk/plugins/maven-dotnet-test-plugin/src/main/java/org/apache/maven/dotnet/plugin/nunit/DotnetTestMojo.java (original) +++ incubator/nmaven/trunk/plugins/maven-dotnet-test-plugin/src/main/java/org/apache/maven/dotnet/plugin/nunit/DotnetTestMojo.java Thu Feb 7 11:41:19 2008 @@ -28,6 +28,7 @@ import org.apache.maven.plugin.logging.Log; import org.apache.maven.project.MavenProject; import org.apache.maven.dotnet.BuildDirectories; +import org.apache.maven.dotnet.Vendor; import org.codehaus.plexus.util.cli.CommandLineException; import org.codehaus.plexus.util.cli.CommandLineUtils; import org.codehaus.plexus.util.cli.Commandline; @@ -35,7 +36,7 @@ /** * Maven Mojo for executing nunit tests - * + * * @goal test * @phase test * @description Maven Mojo for executing nunit tests @@ -47,22 +48,28 @@ // TODO: This probably only works on Windows machines private static final String COMMAND_NOT_FOUND_FRAGMENT = "is not recognized as an internal or external command"; - private static final String NUNIT_EXECUTABLE = "nunit-console"; - /** * The maven project. - * + * * @parameter expression="${project}" * @required */ private MavenProject project; - + /** * The arguments to pass to nunit + * * @parameter */ private List<String> arguments; + /** + * The Vendor. + * + * @parameter expression="${vendor}" + */ + private String vendorName; + public void execute() throws MojoExecutionException, MojoFailureException { @@ -72,14 +79,24 @@ getLog().info( "Skipping Test Execution" ); return; } - + // Verify that we have tests to run File testAssembly = new File( project.getBuild().getDirectory(), getTestAssemblyName() ); if ( !testAssembly.exists() ) { return; } - + + Vendor vendor; + if ( vendorName != null ) + { + vendor = Vendor.valueOf( vendorName.toUpperCase() ); + } + else + { + vendor = Vendor.getDefaultVendorForOS(); + } + // The directory where the test artifact exists File testAssemblies = new File( project.getBuild().getDirectory(), BuildDirectories.TEST_ASSEMBLIES.getBuildDirectoryName() ); @@ -89,21 +106,31 @@ getLog().debug( "NMaven-test: workingDirectory(" + testAssemblies.getAbsolutePath() + ")" ); commandline.setWorkingDirectory( testAssemblies.getAbsolutePath() ); - commandline.setExecutable( NUNIT_EXECUTABLE ); + if ( vendor.equals( Vendor.MICROSOFT ) ) + { + commandline.setExecutable( "nunit-console" ); + } + else if ( vendor.equals( Vendor.NOVELL ) ) + { + commandline.setExecutable( "nunit-console2" ); + } + else + { + throw new MojoExecutionException("Vendor not found."); + } commandline.addArguments( getNUnitArguments() ); NUnitStreamConsumer systemOut = new NUnitStreamConsumer( getLog() ); NUnitStreamConsumer systemErr = new NUnitStreamConsumer( getLog() ); - int commandLineResult = -999; - + int commandLineResult; + try { // Execute the commandline - commandLineResult = - CommandLineUtils.executeCommandLine( commandline, systemOut, systemErr ); - - getLog().debug( "Executed command: " + commandline + ", Result = " + commandLineResult); + commandLineResult = CommandLineUtils.executeCommandLine( commandline, systemOut, systemErr ); + + getLog().debug( "Executed command: " + commandline + ", Result = " + commandLineResult ); // Check if nunit-console is not in the path if ( systemErr.isCommandNotFound() ) @@ -120,7 +147,6 @@ throw new MojoExecutionException( "Failure executing commandline, " + e.getMessage() ); } - getLog().info( "Done executing tests.." ); } @@ -132,15 +158,17 @@ return testAssemblyName; } - - private String[] getNUnitArguments() { + + private String[] getNUnitArguments() + { List<String> nunitArgs = new ArrayList<String>(); - + nunitArgs.add( getTestAssemblyName() ); - if (arguments != null) { + if ( arguments != null ) + { nunitArgs.addAll( arguments ); } - + return nunitArgs.toArray( new String[0] ); }