You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@continuum.apache.org by ol...@apache.org on 2007/11/13 17:36:15 UTC
svn commit: r594573 [1/3] - in /maven/continuum/trunk: ./ continuum-core/
continuum-core/src/main/java/org/apache/maven/continuum/notification/mail/
continuum-core/src/main/resources/org/apache/maven/continuum/notification/mail/templates/
continuum-cor...
Author: olamy
Date: Tue Nov 13 08:36:11 2007
New Revision: 594573
URL: http://svn.apache.org/viewvc?rev=594573&view=rev
Log:
[CONTINUUM-1563] add two new parameters in the mail notifier includeTestSummary and includeOutput
[CONTINUUM-1544] Email Summary no longer includes the Test Summary statistics.
In order to achieve this a new module called continuum-reports has been created which parse surefire test files to create some beans
Added:
maven/continuum/trunk/continuum-reports/
maven/continuum/trunk/continuum-reports/pom.xml (with props)
maven/continuum/trunk/continuum-reports/src/
maven/continuum/trunk/continuum-reports/src/main/
maven/continuum/trunk/continuum-reports/src/main/java/
maven/continuum/trunk/continuum-reports/src/main/java/org/
maven/continuum/trunk/continuum-reports/src/main/java/org/apache/
maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/
maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/
maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/
maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/
maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/DefaultReportTestSuiteGenerator.java (with props)
maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportFailure.java (with props)
maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportTest.java (with props)
maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportTestCase.java (with props)
maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportTestResult.java (with props)
maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportTestSuite.java (with props)
maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportTestSuiteGenerator.java (with props)
maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportTestSuiteGeneratorException.java (with props)
maven/continuum/trunk/continuum-reports/src/test/
maven/continuum/trunk/continuum-reports/src/test/java/
maven/continuum/trunk/continuum-reports/src/test/java/org/
maven/continuum/trunk/continuum-reports/src/test/java/org/apache/
maven/continuum/trunk/continuum-reports/src/test/java/org/apache/maven/
maven/continuum/trunk/continuum-reports/src/test/java/org/apache/maven/continuum/
maven/continuum/trunk/continuum-reports/src/test/java/org/apache/maven/continuum/reports/
maven/continuum/trunk/continuum-reports/src/test/java/org/apache/maven/continuum/reports/surefire/
maven/continuum/trunk/continuum-reports/src/test/java/org/apache/maven/continuum/reports/surefire/DefaultReportTestSuiteGeneratorTest.java (with props)
maven/continuum/trunk/continuum-reports/src/test/java/org/apache/maven/continuum/reports/surefire/MockConfigurationService.java (with props)
maven/continuum/trunk/continuum-reports/src/test/resources/
maven/continuum/trunk/continuum-reports/src/test/resources/continuum-core/
maven/continuum/trunk/continuum-reports/src/test/resources/continuum-core/TEST-org.apache.maven.continuum.DefaultContinuumTest.xml (with props)
maven/continuum/trunk/continuum-reports/src/test/resources/continuum-core/TEST-org.apache.maven.continuum.TestAction.xml (with props)
maven/continuum/trunk/continuum-reports/src/test/resources/continuum-core/TEST-org.apache.maven.continuum.buildcontroller.DefaultBuildControllerTest.xml (with props)
maven/continuum/trunk/continuum-reports/src/test/resources/continuum-core/TEST-org.apache.maven.continuum.builddefinition.DefaultBuildDefinitionServiceTest.xml (with props)
maven/continuum/trunk/continuum-reports/src/test/resources/continuum-core/TEST-org.apache.maven.continuum.buildqueue.BuildQueueTest.xml (with props)
maven/continuum/trunk/continuum-reports/src/test/resources/continuum-core/TEST-org.apache.maven.continuum.core.action.CreateProjectsFromMetadataTest.xml (with props)
maven/continuum/trunk/continuum-reports/src/test/resources/continuum-core/TEST-org.apache.maven.continuum.execution.manager.DefaultBuildExecutorManagerTest.xml (with props)
maven/continuum/trunk/continuum-reports/src/test/resources/continuum-core/TEST-org.apache.maven.continuum.execution.maven.m1.MavenOneBuildExecutorTest.xml (with props)
maven/continuum/trunk/continuum-reports/src/test/resources/continuum-core/TEST-org.apache.maven.continuum.initialization.DefaultContinuumInitializerTest.xml (with props)
maven/continuum/trunk/continuum-reports/src/test/resources/continuum-core/TEST-org.apache.maven.continuum.installation.DefaultInstallationServiceTest.xml (with props)
maven/continuum/trunk/continuum-reports/src/test/resources/continuum-core/TEST-org.apache.maven.continuum.notification.ContinuumNotificationDispatcherTest.xml (with props)
maven/continuum/trunk/continuum-reports/src/test/resources/continuum-core/TEST-org.apache.maven.continuum.notification.mail.FormatterToolTest.xml (with props)
maven/continuum/trunk/continuum-reports/src/test/resources/continuum-core/TEST-org.apache.maven.continuum.notification.mail.MailContinuumNotifierTest.xml (with props)
maven/continuum/trunk/continuum-reports/src/test/resources/continuum-core/TEST-org.apache.maven.continuum.profile.DefaultProfileServiceTest.xml (with props)
maven/continuum/trunk/continuum-reports/src/test/resources/continuum-core/TEST-org.apache.maven.continuum.project.builder.maven.MavenOneContinuumProjectBuilderTest.xml (with props)
maven/continuum/trunk/continuum-reports/src/test/resources/continuum-core/TEST-org.apache.maven.continuum.project.builder.maven.MavenTwoContinuumProjectBuilderTest.xml (with props)
maven/continuum/trunk/continuum-reports/src/test/resources/continuum-core/TEST-org.apache.maven.continuum.scm.ContinuumScmTest.xml (with props)
maven/continuum/trunk/continuum-reports/src/test/resources/continuum-core/TEST-org.apache.maven.continuum.utils.ProjectSorterTest.xml (with props)
maven/continuum/trunk/continuum-reports/src/test/resources/continuum-core/org.apache.maven.continuum.TestAction.txt (with props)
maven/continuum/trunk/continuum-reports/src/test/resources/continuum-core/org.apache.maven.continuum.project.builder.maven.MavenTwoContinuumProjectBuilderTest.txt (with props)
maven/continuum/trunk/continuum-reports/src/test/resources/continuum-core/org.apache.maven.continuum.scm.ContinuumScmTest.txt (with props)
maven/continuum/trunk/continuum-reports/src/test/resources/continuum-core/org.apache.maven.continuum.utils.ProjectSorterTest.txt (with props)
maven/continuum/trunk/continuum-reports/src/test/resources/org/
maven/continuum/trunk/continuum-reports/src/test/resources/org/apache/
maven/continuum/trunk/continuum-reports/src/test/resources/org/apache/maven/
maven/continuum/trunk/continuum-reports/src/test/resources/org/apache/maven/continuum/
maven/continuum/trunk/continuum-reports/src/test/resources/org/apache/maven/continuum/reports/
maven/continuum/trunk/continuum-reports/src/test/resources/org/apache/maven/continuum/reports/surefire/
maven/continuum/trunk/continuum-reports/src/test/resources/org/apache/maven/continuum/reports/surefire/DefaultReportTestSuiteGeneratorTest.xml (with props)
maven/continuum/trunk/continuum-reports/src/test/resources/simplereport/
maven/continuum/trunk/continuum-reports/src/test/resources/simplereport/TEST-org.apache.maven.continuum.AppTest.xml (with props)
Modified:
maven/continuum/trunk/continuum-core/pom.xml
maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/notification/mail/MailContinuumNotifier.java
maven/continuum/trunk/continuum-core/src/main/resources/org/apache/maven/continuum/notification/mail/templates/common.vm
maven/continuum/trunk/continuum-core/src/test/resources/org/apache/maven/continuum/notification/mail/MailContinuumNotifierTest.xml
maven/continuum/trunk/continuum-data-management/data-management-cli/src/main/java/org/apache/maven/continuum/management/DataManagementCli.java
maven/continuum/trunk/continuum-webapp/pom.xml
maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/SurefireReportAction.java
maven/continuum/trunk/continuum-webapp/src/main/resources/META-INF/plexus/application.xml
maven/continuum/trunk/pom.xml
Modified: maven/continuum/trunk/continuum-core/pom.xml
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-core/pom.xml?rev=594573&r1=594572&r2=594573&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-core/pom.xml (original)
+++ maven/continuum/trunk/continuum-core/pom.xml Tue Nov 13 08:36:11 2007
@@ -33,6 +33,10 @@
<artifactId>continuum-notifier-api</artifactId>
</dependency>
<dependency>
+ <groupId>org.apache.maven.continuum</groupId>
+ <artifactId>continuum-reports</artifactId>
+ </dependency>
+ <dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-model</artifactId>
</dependency>
Modified: maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/notification/mail/MailContinuumNotifier.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/notification/mail/MailContinuumNotifier.java?rev=594573&r1=594572&r2=594573&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/notification/mail/MailContinuumNotifier.java (original)
+++ maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/notification/mail/MailContinuumNotifier.java Tue Nov 13 08:36:11 2007
@@ -19,6 +19,16 @@
* under the License.
*/
+import java.io.StringWriter;
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+import java.util.Set;
+
import org.apache.maven.continuum.Continuum;
import org.apache.maven.continuum.configuration.ConfigurationService;
import org.apache.maven.continuum.execution.ExecutorConfigurator;
@@ -37,6 +47,8 @@
import org.apache.maven.continuum.notification.ContinuumNotificationDispatcher;
import org.apache.maven.continuum.notification.ContinuumRecipientSource;
import org.apache.maven.continuum.project.ContinuumProjectState;
+import org.apache.maven.continuum.reports.surefire.ReportTestResult;
+import org.apache.maven.continuum.reports.surefire.ReportTestSuiteGenerator;
import org.apache.velocity.VelocityContext;
import org.apache.velocity.exception.ResourceNotFoundException;
import org.codehaus.plexus.mailsender.MailMessage;
@@ -47,16 +59,6 @@
import org.codehaus.plexus.util.StringUtils;
import org.codehaus.plexus.velocity.VelocityComponent;
-import java.io.StringWriter;
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-
/**
* @author <a href="mailto:jason@maven.org">Jason van Zyl</a>
* @version $Id$
@@ -88,6 +90,11 @@
* @plexus.configuration
*/
private MailSender mailSender;
+
+ /**
+ * @plexus.requirement
+ */
+ private ReportTestSuiteGenerator reportTestSuiteGenerator;
/**
* @plexus.requirement role-hint="default"
@@ -120,6 +127,16 @@
* @plexus.configuration
*/
private boolean includeBuildSummary = true;
+
+ /**
+ * @plexus.configuration
+ */
+ private boolean includeTestSummary = true;
+
+ /**
+ * @plexus.configuration
+ */
+ private boolean includeOutput = false;
/**
* Customizable mail subject. Use any combination of literal text, project or build attributes.
@@ -270,6 +287,10 @@
try
{
VelocityContext context = new VelocityContext();
+
+ context.put( "includeTestSummary", includeTestSummary );
+
+ context.put( "includeOutput", includeOutput );
if ( includeBuildResult )
{
@@ -280,6 +301,11 @@
{
context.put( "build", build );
+ ReportTestResult reportTestResult = reportTestSuiteGenerator.generateReportTestResult( build.getId(),
+ project.getId() );
+
+ context.put( "testResult", reportTestResult );
+
context.put( "project", project );
context.put( "changesSinceLastSuccess", continuum.getChangesSinceLastSuccess( project.getId(), build
Modified: maven/continuum/trunk/continuum-core/src/main/resources/org/apache/maven/continuum/notification/mail/templates/common.vm
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-core/src/main/resources/org/apache/maven/continuum/notification/mail/templates/common.vm?rev=594573&r1=594572&r2=594573&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-core/src/main/resources/org/apache/maven/continuum/notification/mail/templates/common.vm (original)
+++ maven/continuum/trunk/continuum-core/src/main/resources/org/apache/maven/continuum/notification/mail/templates/common.vm Tue Nov 13 08:36:11 2007
@@ -154,14 +154,13 @@
#end
#end
-
-#if ( $build.testResult )
+#if ( $testResult )
****************************************************************************
Test Summary:
****************************************************************************
-Tests: $build.testResult.testCount
-Failures: $build.testResult.failureCount
-Total time: $build.testResult.totalTime
+Tests: $testResult.testCount
+Failures: $testResult.failureCount
+Total time: $testResult.totalTime
#end
#if ( $build.state == 4 )
@@ -170,16 +169,19 @@
****************************************************************************
$build.error
-#if ( $build.testResult && $build.testResult.failureCount > 0)
+#end
+#if ( $includeTestSummary )
+#if ( $testResult && $testResult.failureCount > 0 )
****************************************************************************
Test Failures:
****************************************************************************
-#foreach( $suite in $build.testResult.suiteResults )
-#if ( $suite.failureCount > 0)
+#foreach( $suite in $testResult.suiteResults )
+#if ( $suite.numberOfFailures > 0)
$suite.name
- #foreach( $failure in $suite.failures )
- $failure.name
+ #foreach( $failure in $suite.reportFailures )
+ $failure.testName :
+ $failure.type
$failure.exception
#end
@@ -188,12 +190,15 @@
#end
#end
#end
+
+#if ( $includeOutput )
#if ( $buildOutput && $buildOutput != "" )
****************************************************************************
Output:
****************************************************************************
$buildOutput
****************************************************************************
+#end
#end
#end ## #macro( shellBuildResult )
Modified: maven/continuum/trunk/continuum-core/src/test/resources/org/apache/maven/continuum/notification/mail/MailContinuumNotifierTest.xml
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-core/src/test/resources/org/apache/maven/continuum/notification/mail/MailContinuumNotifierTest.xml?rev=594573&r1=594572&r2=594573&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-core/src/test/resources/org/apache/maven/continuum/notification/mail/MailContinuumNotifierTest.xml (original)
+++ maven/continuum/trunk/continuum-core/src/test/resources/org/apache/maven/continuum/notification/mail/MailContinuumNotifierTest.xml Tue Nov 13 08:36:11 2007
@@ -54,6 +54,11 @@
<requirement>
<role>org.apache.maven.continuum.configuration.ConfigurationService</role>
</requirement>
+ <requirement>
+ <role>org.apache.maven.continuum.reports.surefire.ReportTestSuiteGenerator</role>
+ <field-name>reportTestSuiteGenerator</field-name>
+ <role-hint>default</role-hint>
+ </requirement>
</requirements>
<configuration>
<fromMailbox>continuum@localhost</fromMailbox>
Modified: maven/continuum/trunk/continuum-data-management/data-management-cli/src/main/java/org/apache/maven/continuum/management/DataManagementCli.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-data-management/data-management-cli/src/main/java/org/apache/maven/continuum/management/DataManagementCli.java?rev=594573&r1=594572&r2=594573&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-data-management/data-management-cli/src/main/java/org/apache/maven/continuum/management/DataManagementCli.java (original)
+++ maven/continuum/trunk/continuum-data-management/data-management-cli/src/main/java/org/apache/maven/continuum/management/DataManagementCli.java Tue Nov 13 08:36:11 2007
@@ -70,6 +70,7 @@
/**
* An application for performing database upgrades from old Continuum and Redback versions. A suitable tool until it
* is natively incorporated into Continuum itself.
+ * @version $Id$
*/
public class DataManagementCli
{
Added: maven/continuum/trunk/continuum-reports/pom.xml
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-reports/pom.xml?rev=594573&view=auto
==============================================================================
--- maven/continuum/trunk/continuum-reports/pom.xml (added)
+++ maven/continuum/trunk/continuum-reports/pom.xml Tue Nov 13 08:36:11 2007
@@ -0,0 +1,57 @@
+<!--
+ ~ 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>
+ <parent>
+ <artifactId>continuum-parent</artifactId>
+ <groupId>org.apache.maven.continuum</groupId>
+ <version>1.1-beta-5-SNAPSHOT</version>
+ </parent>
+ <artifactId>continuum-reports</artifactId>
+ <name>Continuum Reports</name>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.continuum</groupId>
+ <artifactId>continuum-api</artifactId>
+ </dependency>
+ <!-- Not needed for the moment
+ <dependency>
+ <groupId>org.apache.maven.continuum</groupId>
+ <artifactId>continuum-store</artifactId>
+ </dependency>
+ -->
+ </dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>generate</id>
+ <goals>
+ <goal>descriptor</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
\ No newline at end of file
Propchange: maven/continuum/trunk/continuum-reports/pom.xml
------------------------------------------------------------------------------
svn:eol-style = LF
Propchange: maven/continuum/trunk/continuum-reports/pom.xml
------------------------------------------------------------------------------
svn:executable = *
Propchange: maven/continuum/trunk/continuum-reports/pom.xml
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/DefaultReportTestSuiteGenerator.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/DefaultReportTestSuiteGenerator.java?rev=594573&view=auto
==============================================================================
--- maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/DefaultReportTestSuiteGenerator.java (added)
+++ maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/DefaultReportTestSuiteGenerator.java Tue Nov 13 08:36:11 2007
@@ -0,0 +1,200 @@
+/*
+ * 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.
+ */
+package org.apache.maven.continuum.reports.surefire;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.LinkedList;
+import java.util.List;
+
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.apache.maven.continuum.configuration.ConfigurationException;
+import org.apache.maven.continuum.configuration.ConfigurationService;
+import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
+import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException;
+import org.codehaus.plexus.util.DirectoryScanner;
+import org.xml.sax.SAXException;
+
+/**
+ * @author <a href="mailto:olamy@apache.org">olamy</a>
+ * @since 12 nov. 07
+ * @version $Id$
+ *
+ * @plexus.component
+ * role="org.apache.maven.continuum.reports.surefire.ReportTestSuiteGenerator" role-hint="default"
+ */
+public class DefaultReportTestSuiteGenerator
+ implements ReportTestSuiteGenerator, Initializable
+{
+
+ /**
+ * @plexus.requirement
+ */
+ private ConfigurationService configurationService;
+
+ private List<String> defaultIncludes;
+
+ private List<String> defaultexcludes;
+
+ // -----------------------------
+ // Plexus Lifecycle
+ // -----------------------------
+
+ public void initialize()
+ throws InitializationException
+ {
+ defaultIncludes = new ArrayList<String>( 1 );
+ defaultIncludes.add( "*.xml" );
+ defaultexcludes = new ArrayList<String>( 1 );
+ defaultexcludes.add( "*.txt" );
+ }
+
+ /**
+ * @see org.apache.maven.continuum.reports.surefire.ReportTestSuiteGenerator#generateReports(java.io.File, java.util.List, java.util.List)
+ */
+ public List<ReportTestSuite> generateReports( File directory, List<String> includes, List<String> excludes )
+ throws ReportTestSuiteGeneratorException
+ {
+ if ( directory == null )
+ {
+ return Collections.EMPTY_LIST;
+ }
+ if ( !directory.exists() )
+ {
+ return Collections.EMPTY_LIST;
+ }
+ List<ReportTestSuite> reportTestSuites = new LinkedList<ReportTestSuite>();
+ String[] includesArray = null;
+ if ( includes == null )
+ {
+ includesArray = new String[0];
+ }
+ else
+ {
+ includesArray = includes.toArray( new String[includes.size()] );
+ }
+ String[] excludesArray = null;
+ if ( excludes == null )
+ {
+ excludesArray = new String[0];
+ }
+ else
+ {
+ excludesArray = excludes.toArray( new String[excludes.size()] );
+ }
+ String[] xmlReportFiles = getIncludedFiles( directory, includesArray, excludesArray );
+
+ if (xmlReportFiles == null )
+ {
+ return Collections.EMPTY_LIST;
+ }
+ if (xmlReportFiles.length == 0)
+ {
+ return Collections.EMPTY_LIST;
+ }
+ for ( int index = 0; index < xmlReportFiles.length; index++ )
+ {
+ ReportTestSuite testSuite = new ReportTestSuite();
+
+ String currentReport = xmlReportFiles[index];
+
+ try
+ {
+ testSuite.parse( directory + File.separator + currentReport );
+ }
+ catch ( ParserConfigurationException e )
+ {
+ throw new ReportTestSuiteGeneratorException( "Error setting up parser for Surefire XML report", e );
+ }
+ catch ( SAXException e )
+ {
+ throw new ReportTestSuiteGeneratorException( "Error parsing Surefire XML report " + currentReport, e );
+ }
+ catch ( IOException e )
+ {
+ throw new ReportTestSuiteGeneratorException( "Error reading Surefire XML report " + currentReport, e );
+ }
+
+ reportTestSuites.add( testSuite );
+ }
+ return reportTestSuites;
+ }
+
+ /**
+ * @see org.apache.maven.continuum.reports.surefire.ReportTestSuiteGenerator#generateReports(java.io.File)
+ */
+ public List<ReportTestSuite> generateReports( File directory )
+ throws ReportTestSuiteGeneratorException
+ {
+ return generateReports( directory, defaultIncludes, defaultexcludes );
+ }
+
+
+
+ /**
+ * @see org.apache.maven.continuum.reports.surefire.ReportTestSuiteGenerator#generateReports(int, int)
+ */
+ public List<ReportTestSuite> generateReports( int buildId, int projectId )
+ throws ReportTestSuiteGeneratorException
+ {
+ try
+ {
+ File directory = configurationService.getTestReportsDirectory( buildId, projectId );
+ return generateReports( directory );
+ }
+ catch ( ConfigurationException e )
+ {
+ throw new ReportTestSuiteGeneratorException( e.getMessage(), e );
+ }
+ }
+
+ /**
+ * @see org.apache.maven.continuum.reports.surefire.ReportTestSuiteGenerator#generateTestResult(int, int)
+ */
+ public ReportTestResult generateReportTestResult( int buildId, int projectId )
+ throws ReportTestSuiteGeneratorException
+ {
+ List<ReportTestSuite> reportTestSuites = generateReports( buildId, projectId );
+ ReportTestResult reportTestResult = new ReportTestResult();
+ for (ReportTestSuite reportTestSuite : reportTestSuites)
+ {
+ reportTestResult.addReportTestSuite( reportTestSuite );
+ }
+ return reportTestResult;
+ }
+
+ private String[] getIncludedFiles( File directory, String[] includes, String[] excludes )
+ {
+ DirectoryScanner scanner = new DirectoryScanner();
+
+ scanner.setBasedir( directory );
+
+ scanner.setIncludes( includes );
+
+ scanner.setExcludes( excludes );
+
+ scanner.scan();
+
+ return scanner.getIncludedFiles();
+ }
+
+}
Propchange: maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/DefaultReportTestSuiteGenerator.java
------------------------------------------------------------------------------
svn:eol-style = LF
Propchange: maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/DefaultReportTestSuiteGenerator.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/DefaultReportTestSuiteGenerator.java
------------------------------------------------------------------------------
--- svn:keywords (added)
+++ svn:keywords Tue Nov 13 08:36:11 2007
@@ -0,0 +1 @@
+URL HeadURL Author LastChangedBy Date LastChangedDate Rev Revision LastChangedRevision Id
Added: maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportFailure.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportFailure.java?rev=594573&view=auto
==============================================================================
--- maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportFailure.java (added)
+++ maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportFailure.java Tue Nov 13 08:36:11 2007
@@ -0,0 +1,70 @@
+/*
+ * 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.
+ */
+package org.apache.maven.continuum.reports.surefire;
+
+/**
+ * @author <a href="mailto:olamy@apache.org">olamy</a>
+ * @since 13 nov. 07
+ * @version $Id$
+ */
+public class ReportFailure
+{
+ private String type;
+
+ private String exception;
+
+ private String testName;
+
+ public ReportFailure( String type, String exception, String testName )
+ {
+ this.type = type;
+ this.exception = exception;
+ this.testName = testName;
+ }
+
+ public String getType()
+ {
+ return type;
+ }
+
+ public void setType( String type )
+ {
+ this.type = type;
+ }
+
+ public String getException()
+ {
+ return exception;
+ }
+
+ public void setException( String exception )
+ {
+ this.exception = exception;
+ }
+
+ public String getTestName()
+ {
+ return testName;
+ }
+
+ public void setTestName( String testName )
+ {
+ this.testName = testName;
+ }
+}
Propchange: maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportFailure.java
------------------------------------------------------------------------------
svn:eol-style = LF
Propchange: maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportFailure.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportFailure.java
------------------------------------------------------------------------------
--- svn:keywords (added)
+++ svn:keywords Tue Nov 13 08:36:11 2007
@@ -0,0 +1 @@
+URL HeadURL Author LastChangedBy Date LastChangedDate Rev Revision LastChangedRevision Id
Added: maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportTest.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportTest.java?rev=594573&view=auto
==============================================================================
--- maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportTest.java (added)
+++ maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportTest.java Tue Nov 13 08:36:11 2007
@@ -0,0 +1,134 @@
+/*
+ * 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.
+ */
+package org.apache.maven.continuum.reports.surefire;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author <a href="mailto:olamy@apache.org">olamy</a>
+ * @since 12 nov. 07
+ * @version $Id$
+ */
+public class ReportTest
+{
+ private String id;
+
+ private String name;
+
+ private int tests;
+
+ private int errors;
+
+ private int failures;
+
+ private float elapsedTime;
+
+ private List children;
+
+ public String getName()
+ {
+ return name;
+ }
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ public int getTests()
+ {
+ return tests;
+ }
+
+ public void setTests( int tests )
+ {
+ this.tests = tests;
+ }
+
+ public int getErrors()
+ {
+ return errors;
+ }
+
+ public void setErrors( int errors )
+ {
+ this.errors = errors;
+ }
+
+ public int getFailures()
+ {
+ return failures;
+ }
+
+ public void setFailures( int failures )
+ {
+ this.failures = failures;
+ }
+
+ public float getSuccessRate()
+ {
+ float percentage;
+ if ( tests == 0 )
+ {
+ percentage = 0;
+ }
+ else
+ {
+ percentage = ( (float) ( tests - errors - failures ) / (float) tests ) * 100;
+ }
+
+ return percentage;
+ }
+
+ public float getElapsedTime()
+ {
+ return elapsedTime;
+ }
+
+ public void setElapsedTime( float elapsedTime )
+ {
+ this.elapsedTime = elapsedTime;
+ }
+
+ public List getChildren()
+ {
+ if ( children == null )
+ {
+ children = new ArrayList();
+ }
+
+ return children;
+ }
+
+ public void setChildren( List children )
+ {
+ this.children = children;
+ }
+
+ public String getId()
+ {
+ return id;
+ }
+
+ public void setId( String id )
+ {
+ this.id = id;
+ }
+}
Propchange: maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportTest.java
------------------------------------------------------------------------------
svn:eol-style = LF
Propchange: maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportTest.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportTest.java
------------------------------------------------------------------------------
--- svn:keywords (added)
+++ svn:keywords Tue Nov 13 08:36:11 2007
@@ -0,0 +1 @@
+URL HeadURL Author LastChangedBy Date LastChangedDate Rev Revision LastChangedRevision Id
Added: maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportTestCase.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportTestCase.java?rev=594573&view=auto
==============================================================================
--- maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportTestCase.java (added)
+++ maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportTestCase.java Tue Nov 13 08:36:11 2007
@@ -0,0 +1,124 @@
+/*
+ * 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.
+ */
+package org.apache.maven.continuum.reports.surefire;
+
+/**
+ * Taken from maven-surefire-report-plugin
+ * @author <a href="mailto:olamy@apache.org">olamy</a>
+ * @since 12 nov. 07
+ * @version $Id$
+ */
+public class ReportTestCase
+{
+ private String fullClassName;
+
+ private String className;
+
+ private String fullName;
+
+ private String name;
+
+ private float time;
+
+ private String failureType;
+
+ private String failureMessage;
+
+ private String failureDetails;
+
+ public String getName()
+ {
+ return name;
+ }
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ public String getFullClassName()
+ {
+ return fullClassName;
+ }
+
+ public void setFullClassName( String name )
+ {
+ this.fullClassName = name;
+ }
+
+ public String getClassName()
+ {
+ return className;
+ }
+
+ public void setClassName( String name )
+ {
+ this.className = name;
+ }
+
+ public float getTime()
+ {
+ return time;
+ }
+
+ public void setTime( float time )
+ {
+ this.time = time;
+ }
+
+ public String getFullName()
+ {
+ return fullName;
+ }
+
+ public void setFullName( String fullName )
+ {
+ this.fullName = fullName;
+ }
+
+ public String getFailureType()
+ {
+ return failureType;
+ }
+
+ public void setFailureType( String failureType )
+ {
+ this.failureType = failureType;
+ }
+
+ public String getFailureMessage()
+ {
+ return failureMessage;
+ }
+
+ public void setFailureMessage( String failureMessage )
+ {
+ this.failureMessage = failureMessage;
+ }
+
+ public String getFailureDetails()
+ {
+ return failureDetails;
+ }
+
+ public void setFailureDetails( String failureDetails )
+ {
+ this.failureDetails = failureDetails;
+ }
+}
Propchange: maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportTestCase.java
------------------------------------------------------------------------------
svn:eol-style = LF
Propchange: maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportTestCase.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportTestCase.java
------------------------------------------------------------------------------
--- svn:keywords (added)
+++ svn:keywords Tue Nov 13 08:36:11 2007
@@ -0,0 +1 @@
+URL HeadURL Author LastChangedBy Date LastChangedDate Rev Revision LastChangedRevision Id
Added: maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportTestResult.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportTestResult.java?rev=594573&view=auto
==============================================================================
--- maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportTestResult.java (added)
+++ maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportTestResult.java Tue Nov 13 08:36:11 2007
@@ -0,0 +1,93 @@
+/*
+ * 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.
+ */
+package org.apache.maven.continuum.reports.surefire;
+
+import java.util.LinkedList;
+import java.util.List;
+
+/**
+ * @author <a href="mailto:olamy@apache.org">olamy</a>
+ * @since 13 nov. 07
+ * @version $Id$
+ */
+public class ReportTestResult
+{
+
+ private int testCount = 0;
+
+ private int failureCount = 0;
+
+ private float totalTime = 0;
+
+ private List<ReportTestSuite> suiteResults;
+
+ public void addReportTestSuite(ReportTestSuite reportTestSuite)
+ {
+ if (this.suiteResults == null)
+ {
+ this.suiteResults = new LinkedList<ReportTestSuite>();
+ }
+ this.suiteResults.add( reportTestSuite );
+ this.testCount = this.testCount + reportTestSuite.getNumberOfTests();
+ this.failureCount = this.failureCount + reportTestSuite.getNumberOfFailures();
+ this.totalTime = this.totalTime + reportTestSuite.getTimeElapsed();
+ }
+
+
+ public int getTestCount()
+ {
+ return testCount;
+ }
+
+ public void setTestCount( int testCount )
+ {
+ this.testCount = testCount;
+ }
+
+ public int getFailureCount()
+ {
+ return failureCount;
+ }
+
+ public void setFailureCount( int failureCount )
+ {
+ this.failureCount = failureCount;
+ }
+
+ public List<ReportTestSuite> getSuiteResults()
+ {
+ return suiteResults;
+ }
+
+ public void setSuiteResults( List<ReportTestSuite> suiteResults )
+ {
+ this.suiteResults = suiteResults;
+ }
+
+ public float getTotalTime()
+ {
+ return totalTime;
+ }
+
+ public void setTotalTime( float totalTime )
+ {
+ this.totalTime = totalTime;
+ }
+
+}
Propchange: maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportTestResult.java
------------------------------------------------------------------------------
svn:eol-style = LF
Propchange: maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportTestResult.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportTestResult.java
------------------------------------------------------------------------------
--- svn:keywords (added)
+++ svn:keywords Tue Nov 13 08:36:11 2007
@@ -0,0 +1 @@
+URL HeadURL Author LastChangedBy Date LastChangedDate Rev Revision LastChangedRevision Id
Added: maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportTestSuite.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportTestSuite.java?rev=594573&view=auto
==============================================================================
--- maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportTestSuite.java (added)
+++ maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportTestSuite.java Tue Nov 13 08:36:11 2007
@@ -0,0 +1,328 @@
+/*
+ * 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.
+ */
+package org.apache.maven.continuum.reports.surefire;
+
+import java.io.File;
+import java.io.IOException;
+import java.text.NumberFormat;
+import java.text.ParseException;
+import java.util.Collections;
+import java.util.LinkedList;
+import java.util.List;
+
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.parsers.SAXParser;
+import javax.xml.parsers.SAXParserFactory;
+
+import org.xml.sax.Attributes;
+import org.xml.sax.SAXException;
+import org.xml.sax.helpers.DefaultHandler;
+
+/**
+ * @author <a href="mailto:olamy@apache.org">olamy</a>
+ * @since 12 nov. 07
+ * @version $Id$
+ */
+public class ReportTestSuite
+ extends DefaultHandler
+{
+ private List<ReportTestCase> testCases;
+
+ private int numberOfErrors;
+
+ private int numberOfFailures;
+
+ private int numberOfTests;
+
+ private String name;
+
+ private String fullClassName;
+
+ private String packageName;
+
+ private float timeElapsed;
+
+ private NumberFormat numberFormat = NumberFormat.getInstance();
+
+ /**
+ * @noinspection StringBufferField
+ */
+ private StringBuffer currentElement;
+
+ private ReportTestCase testCase;
+
+ private List<ReportFailure> reportFailures;
+
+
+ public void parse( String xmlPath )
+ throws ParserConfigurationException, SAXException, IOException
+ {
+ SAXParserFactory factory = SAXParserFactory.newInstance();
+
+ SAXParser saxParser = factory.newSAXParser();
+
+ saxParser.parse( new File( xmlPath ), this );
+ }
+
+ public void startElement( String uri, String localName, String qName, Attributes attributes )
+ throws SAXException
+ {
+ try
+ {
+ if ( "testsuite".equals( qName ) )
+ {
+ numberOfErrors = Integer.parseInt( attributes.getValue( "errors" ) );
+
+ numberOfFailures = Integer.parseInt( attributes.getValue( "failures" ) );
+
+ numberOfTests = Integer.parseInt( attributes.getValue( "tests" ) );
+
+ Number time = numberFormat.parse( attributes.getValue( "time" ) );
+
+ timeElapsed = time.floatValue();
+
+ //check if group attribute is existing
+ if ( attributes.getValue( "group" ) != null && !"".equals( attributes.getValue( "group" ) ) )
+ {
+ packageName = attributes.getValue( "group" );
+
+ name = attributes.getValue( "name" );
+
+ fullClassName = packageName + "." + name;
+ }
+ else
+ {
+ fullClassName = attributes.getValue( "name" );
+
+ name = fullClassName.substring( fullClassName.lastIndexOf( "." ) + 1, fullClassName.length() );
+
+ int lastDotPosition = fullClassName.lastIndexOf( "." );
+ if ( lastDotPosition < 0 )
+ {
+ /* no package name */
+ packageName = "";
+ }
+ else
+ {
+ packageName = fullClassName.substring( 0, lastDotPosition );
+ }
+ }
+
+ testCases = new LinkedList<ReportTestCase>();
+ }
+ else if ( "testcase".equals( qName ) )
+ {
+ currentElement = new StringBuffer();
+
+ testCase = new ReportTestCase();
+
+ testCase.setFullClassName( fullClassName );
+
+ testCase.setName( attributes.getValue( "name" ) );
+
+ testCase.setClassName( name );
+
+ String timeAsString = attributes.getValue( "time" );
+
+ Number time = new Integer( 0 );
+
+ if ( timeAsString != null )
+ {
+ time = numberFormat.parse( timeAsString );
+ }
+
+ testCase.setTime( time.floatValue() );
+
+ testCase.setFullName( packageName + "." + name + "." + testCase.getName() );
+ }
+ else if ( "failure".equals( qName ) )
+ {
+ testCase.setFailureType( attributes.getValue( "type" ) );
+ testCase.setFailureMessage( attributes.getValue( "message" ) );
+ }
+ else if ( "error".equals( qName ) )
+ {
+ testCase.setFailureType( attributes.getValue( "type" ) );
+ testCase.setFailureMessage( attributes.getValue( "message" ) );
+ }
+ }
+ catch ( ParseException e )
+ {
+ throw new SAXException( e.getMessage(), e );
+ }
+ }
+
+ public void endElement( String uri, String localName, String qName )
+ throws SAXException
+ {
+ if ( "testcase".equals( qName ) )
+ {
+ testCases.add( testCase );
+ }
+ else if ( "failure".equals( qName ) )
+ {
+ testCase.setFailureDetails( currentElement.toString() );
+ this.addReportFailure( new ReportFailure( testCase.getFailureType(), testCase.getFailureDetails(), testCase.getName() ) );
+ }
+ else if ( "error".equals( qName ) )
+ {
+ this.addReportFailure( new ReportFailure( testCase.getFailureType(), testCase.getFailureDetails(), testCase.getName() ) );
+ testCase.setFailureDetails( currentElement.toString() );
+ }
+ }
+
+ public void characters( char[] ch, int start, int length )
+ throws SAXException
+ {
+ String s = new String( ch, start, length );
+
+ if ( !"".equals( s.trim() ) )
+ {
+ currentElement.append( s );
+ }
+ }
+
+ public List<ReportTestCase> getTestCases()
+ {
+ return this.testCases;
+ }
+
+ public int getNumberOfErrors()
+ {
+ return numberOfErrors;
+ }
+
+ public void setNumberOfErrors( int numberOfErrors )
+ {
+ this.numberOfErrors = numberOfErrors;
+ }
+
+ public int getNumberOfFailures()
+ {
+ return numberOfFailures;
+ }
+
+ public void setNumberOfFailures( int numberOfFailures )
+ {
+ this.numberOfFailures = numberOfFailures;
+ }
+
+ public int getNumberOfTests()
+ {
+ return numberOfTests;
+ }
+
+ public void setNumberOfTests( int numberOfTests )
+ {
+ this.numberOfTests = numberOfTests;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ public String getFName()
+ {
+ return name;
+ }
+
+ public void setFName( String name )
+ {
+ this.name = name;
+ }
+
+ public String getPackageName()
+ {
+ return packageName;
+ }
+
+ public void setPackageName( String packageName )
+ {
+ this.packageName = packageName;
+ }
+
+ public float getTimeElapsed()
+ {
+ return this.timeElapsed;
+ }
+
+ public void setTimeElapsed( float timeElapsed )
+ {
+ this.timeElapsed = timeElapsed;
+ }
+
+ /*
+ private List<String> parseCause( String detail )
+ {
+ String fullName = testCase.getFullName();
+ String name = fullName.substring( fullName.lastIndexOf( "." ) + 1 );
+ return parseCause( detail, name );
+ }
+
+
+ private List<String> parseCause( String detail, String compareTo )
+ {
+ StringTokenizer stringTokenizer = new StringTokenizer( detail, "\n" );
+ List<String> parsedDetail = new ArrayList<String>( stringTokenizer.countTokens() );
+
+ while ( stringTokenizer.hasMoreTokens() )
+ {
+ String lineString = stringTokenizer.nextToken().trim();
+ parsedDetail.add( lineString );
+ if ( lineString.indexOf( compareTo ) >= 0 )
+ {
+ break;
+ }
+ }
+
+ return parsedDetail;
+ }
+ */
+
+ public void setTestCases( List<ReportTestCase> testCases )
+ {
+ this.testCases = Collections.unmodifiableList( testCases );
+ }
+
+ @SuppressWarnings ("unchecked")
+ public List<ReportFailure> getReportFailures()
+ {
+ return reportFailures == null ? Collections.EMPTY_LIST : reportFailures;
+ }
+
+ public void setReportFailures( List<ReportFailure> reportFailures )
+ {
+ this.reportFailures = reportFailures;
+ }
+
+ public void addReportFailure( ReportFailure reportFailure )
+ {
+ if ( this.reportFailures == null )
+ {
+ this.reportFailures = new LinkedList<ReportFailure>();
+ }
+ this.reportFailures.add( reportFailure );
+ }
+}
Propchange: maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportTestSuite.java
------------------------------------------------------------------------------
svn:eol-style = LF
Propchange: maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportTestSuite.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportTestSuite.java
------------------------------------------------------------------------------
--- svn:keywords (added)
+++ svn:keywords Tue Nov 13 08:36:11 2007
@@ -0,0 +1 @@
+URL HeadURL Author LastChangedBy Date LastChangedDate Rev Revision LastChangedRevision Id
Added: maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportTestSuiteGenerator.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportTestSuiteGenerator.java?rev=594573&view=auto
==============================================================================
--- maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportTestSuiteGenerator.java (added)
+++ maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportTestSuiteGenerator.java Tue Nov 13 08:36:11 2007
@@ -0,0 +1,68 @@
+/*
+ * 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.
+ */
+package org.apache.maven.continuum.reports.surefire;
+
+import java.io.File;
+import java.util.List;
+
+/**
+ * @author <a href="mailto:olamy@apache.org">olamy</a>
+ * @since 12 nov. 07
+ * @version $Id$
+ */
+public interface ReportTestSuiteGenerator
+{
+
+ /**
+ * @param directory directory containing surefire tests files
+ * @param includes file types to include
+ * @param excludes file types to exclude
+ * @return List of {@link ReportTestSuite}
+ * @throws ReportTestSuiteGeneratorException
+ */
+ List<ReportTestSuite> generateReports( File directory, List<String> includes, List<String> excludes )
+ throws ReportTestSuiteGeneratorException;
+
+ /**
+ * Use generateReports with default includes *.xml and default excludes *.txt
+ * @param directory directory containing surefire tests files
+ * @return List of {@link ReportTestSuite}
+ * @throws ReportTestSuiteGeneratorException
+ */
+ List<ReportTestSuite> generateReports( File directory )
+ throws ReportTestSuiteGeneratorException;
+
+ /**
+ * @param buildId
+ * @param projectId
+ * @return List of {@link ReportTestSuite}
+ * @throws ReportTestSuiteGeneratorException
+ */
+ List<ReportTestSuite> generateReports( int buildId, int projectId )
+ throws ReportTestSuiteGeneratorException;
+
+ /**
+ * @param buildId
+ * @param projectId
+ * @return List of {@link TestResult}
+ * @throws ReportTestSuiteGeneratorException
+ */
+ ReportTestResult generateReportTestResult( int buildId, int projectId )
+ throws ReportTestSuiteGeneratorException;
+}
Propchange: maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportTestSuiteGenerator.java
------------------------------------------------------------------------------
svn:eol-style = LF
Propchange: maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportTestSuiteGenerator.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportTestSuiteGenerator.java
------------------------------------------------------------------------------
--- svn:keywords (added)
+++ svn:keywords Tue Nov 13 08:36:11 2007
@@ -0,0 +1 @@
+URL HeadURL Author LastChangedBy Date LastChangedDate Rev Revision LastChangedRevision Id
Added: maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportTestSuiteGeneratorException.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportTestSuiteGeneratorException.java?rev=594573&view=auto
==============================================================================
--- maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportTestSuiteGeneratorException.java (added)
+++ maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportTestSuiteGeneratorException.java Tue Nov 13 08:36:11 2007
@@ -0,0 +1,63 @@
+/*
+ * 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.
+ */
+package org.apache.maven.continuum.reports.surefire;
+
+/**
+ * @author <a href="mailto:olamy@apache.org">olamy</a>
+ * @since 12 nov. 07
+ * @version $Id$
+ */
+public class ReportTestSuiteGeneratorException
+ extends Exception
+{
+
+ /**
+ *
+ */
+ public ReportTestSuiteGeneratorException()
+ {
+ // nothing
+ }
+
+ /**
+ * @param message
+ */
+ public ReportTestSuiteGeneratorException( String message )
+ {
+ super( message );
+ }
+
+ /**
+ * @param cause
+ */
+ public ReportTestSuiteGeneratorException( Throwable cause )
+ {
+ super( cause );
+ }
+
+ /**
+ * @param message
+ * @param cause
+ */
+ public ReportTestSuiteGeneratorException( String message, Throwable cause )
+ {
+ super( message, cause );
+ }
+
+}
Propchange: maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportTestSuiteGeneratorException.java
------------------------------------------------------------------------------
svn:eol-style = LF
Propchange: maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportTestSuiteGeneratorException.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: maven/continuum/trunk/continuum-reports/src/main/java/org/apache/maven/continuum/reports/surefire/ReportTestSuiteGeneratorException.java
------------------------------------------------------------------------------
--- svn:keywords (added)
+++ svn:keywords Tue Nov 13 08:36:11 2007
@@ -0,0 +1 @@
+URL HeadURL Author LastChangedBy Date LastChangedDate Rev Revision LastChangedRevision Id
Added: maven/continuum/trunk/continuum-reports/src/test/java/org/apache/maven/continuum/reports/surefire/DefaultReportTestSuiteGeneratorTest.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-reports/src/test/java/org/apache/maven/continuum/reports/surefire/DefaultReportTestSuiteGeneratorTest.java?rev=594573&view=auto
==============================================================================
--- maven/continuum/trunk/continuum-reports/src/test/java/org/apache/maven/continuum/reports/surefire/DefaultReportTestSuiteGeneratorTest.java (added)
+++ maven/continuum/trunk/continuum-reports/src/test/java/org/apache/maven/continuum/reports/surefire/DefaultReportTestSuiteGeneratorTest.java Tue Nov 13 08:36:11 2007
@@ -0,0 +1,102 @@
+/*
+ * 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.
+ */
+package org.apache.maven.continuum.reports.surefire;
+
+import java.io.File;
+import java.util.List;
+
+import org.codehaus.plexus.PlexusTestCase;
+
+/**
+ * @author <a href="mailto:olamy@apache.org">olamy</a>
+ * @since 12 nov. 07
+ * @version $Id$
+ */
+public class DefaultReportTestSuiteGeneratorTest
+ extends PlexusTestCase
+{
+
+ private File getReportsDirectory( String pathDir )
+ {
+ return new File( getBasedir() + File.separatorChar + "src" + File.separatorChar + "test" + File.separatorChar
+ + "resources" + File.separatorChar + pathDir );
+ }
+
+ public void testSimpleFile()
+ throws Exception
+ {
+ File testDirectory = getReportsDirectory( "simplereport" );
+
+ ReportTestSuiteGenerator generator = (ReportTestSuiteGenerator) lookup( ReportTestSuiteGenerator.class,
+ "default" );
+
+ List<ReportTestSuite> reports = generator.generateReports( testDirectory );
+ assertEquals( 1, reports.size() );
+
+ ReportTestSuite report = reports.get( 0 );
+
+ assertEquals( "AppTest", report.getName() );
+
+ assertEquals( 1, report.getNumberOfTests() );
+ }
+
+ public void testContinuumCore()
+ throws Exception
+ {
+ ReportTestSuiteGenerator generator = (ReportTestSuiteGenerator) lookup( ReportTestSuiteGenerator.class,
+ "default" );
+ List<ReportTestSuite> reports = generator.generateReports( 1, 1 );
+
+ assertEquals( 18, reports.size() );
+
+ for ( ReportTestSuite report : reports )
+ {
+ if ( report.getName().equals( "MailContinuumNotifierTest" )
+ && report.getPackageName().equals( "org.apache.maven.continuum.notification.mail" ) )
+ {
+ assertEquals( 1, report.getNumberOfFailures() );
+ // don't test this because can plate forme dependant
+ //assertEquals( 11.578, report.getTimeElapsed() );
+ assertEquals( 3, report.getNumberOfTests() );
+
+ for ( ReportTestCase testCase : report.getTestCases() )
+ {
+ if ( testCase.getName().equals( "testSuccessfulBuild" ) )
+ {
+ assertEquals( "junit.framework.ComparisonFailure", testCase.getFailureType() );
+ assertEquals( "expected:<...s> but was:<...>", testCase.getFailureMessage() );
+ assertTrue( testCase.getFailureDetails().startsWith( "junit.framework.ComparisonFailure" ) );
+ }
+ }
+ }
+
+ }
+ }
+
+ public void testgenerateReportTestResult()
+ throws Exception
+ {
+ ReportTestSuiteGenerator generator = (ReportTestSuiteGenerator) lookup( ReportTestSuiteGenerator.class,
+ "default" );
+ ReportTestResult reportTestResult = generator.generateReportTestResult( 1, 1 );
+ assertEquals( 18, reportTestResult.getSuiteResults().size() );
+ assertEquals( 1, reportTestResult.getFailureCount() );
+ assertEquals( 61, reportTestResult.getTestCount() );
+ }
+}
Propchange: maven/continuum/trunk/continuum-reports/src/test/java/org/apache/maven/continuum/reports/surefire/DefaultReportTestSuiteGeneratorTest.java
------------------------------------------------------------------------------
svn:eol-style = LF
Propchange: maven/continuum/trunk/continuum-reports/src/test/java/org/apache/maven/continuum/reports/surefire/DefaultReportTestSuiteGeneratorTest.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: maven/continuum/trunk/continuum-reports/src/test/java/org/apache/maven/continuum/reports/surefire/DefaultReportTestSuiteGeneratorTest.java
------------------------------------------------------------------------------
--- svn:keywords (added)
+++ svn:keywords Tue Nov 13 08:36:11 2007
@@ -0,0 +1 @@
+URL HeadURL Author LastChangedBy Date LastChangedDate Rev Revision LastChangedRevision Id
Added: maven/continuum/trunk/continuum-reports/src/test/java/org/apache/maven/continuum/reports/surefire/MockConfigurationService.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-reports/src/test/java/org/apache/maven/continuum/reports/surefire/MockConfigurationService.java?rev=594573&view=auto
==============================================================================
--- maven/continuum/trunk/continuum-reports/src/test/java/org/apache/maven/continuum/reports/surefire/MockConfigurationService.java (added)
+++ maven/continuum/trunk/continuum-reports/src/test/java/org/apache/maven/continuum/reports/surefire/MockConfigurationService.java Tue Nov 13 08:36:11 2007
@@ -0,0 +1,206 @@
+/*
+ * 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.
+ */
+package org.apache.maven.continuum.reports.surefire;
+
+import java.io.File;
+
+import org.apache.maven.continuum.configuration.ConfigurationException;
+import org.apache.maven.continuum.configuration.ConfigurationLoadingException;
+import org.apache.maven.continuum.configuration.ConfigurationService;
+import org.apache.maven.continuum.configuration.ConfigurationStoringException;
+import org.apache.maven.continuum.model.project.Schedule;
+import org.apache.maven.continuum.store.ContinuumStoreException;
+
+/**
+ * @author <a href="mailto:olamy@apache.org">olamy</a>
+ * @since 12 nov. 07
+ * @version $Id$
+ */
+public class MockConfigurationService
+ implements ConfigurationService
+{
+
+ /**
+ * @see org.apache.maven.continuum.configuration.ConfigurationService#getApplicationHome()
+ */
+ public File getApplicationHome()
+ {
+ return null;
+ }
+
+ /**
+ * @see org.apache.maven.continuum.configuration.ConfigurationService#getBuildOutput(int, int)
+ */
+ public String getBuildOutput( int buildId, int projectId )
+ throws ConfigurationException
+ {
+ return null;
+ }
+
+ /**
+ * @see org.apache.maven.continuum.configuration.ConfigurationService#getBuildOutputDirectory()
+ */
+ public File getBuildOutputDirectory()
+ {
+ return null;
+ }
+
+ /**
+ * @see org.apache.maven.continuum.configuration.ConfigurationService#getBuildOutputDirectory(int)
+ */
+ public File getBuildOutputDirectory( int projectId )
+ {
+ return null;
+ }
+
+ /**
+ * @see org.apache.maven.continuum.configuration.ConfigurationService#getBuildOutputFile(int, int)
+ */
+ public File getBuildOutputFile( int buildId, int projectId )
+ throws ConfigurationException
+ {
+ return null;
+ }
+
+ /**
+ * @see org.apache.maven.continuum.configuration.ConfigurationService#getDefaultSchedule()
+ */
+ public Schedule getDefaultSchedule()
+ throws ContinuumStoreException, ConfigurationLoadingException
+ {
+ return null;
+ }
+
+ /**
+ * @see org.apache.maven.continuum.configuration.ConfigurationService#getDeploymentRepositoryDirectory()
+ */
+ public File getDeploymentRepositoryDirectory()
+ {
+ return null;
+ }
+
+ /**
+ * @see org.apache.maven.continuum.configuration.ConfigurationService#getFile(java.lang.String)
+ */
+ public File getFile( String filename )
+ {
+ return null;
+ }
+
+ /**
+ * @see org.apache.maven.continuum.configuration.ConfigurationService#getTestReportsDirectory(int, int)
+ */
+ public File getTestReportsDirectory( int buildId, int projectId )
+ throws ConfigurationException
+ {
+ return new File( "src" + File.separatorChar + "test" + File.separatorChar
+ + "resources" + File.separatorChar + "continuum-core" );
+ }
+
+ /**
+ * @see org.apache.maven.continuum.configuration.ConfigurationService#getUrl()
+ */
+ public String getUrl()
+ {
+ return null;
+ }
+
+ /**
+ * @see org.apache.maven.continuum.configuration.ConfigurationService#getWorkingDirectory()
+ */
+ public File getWorkingDirectory()
+ {
+ return null;
+ }
+
+ /**
+ * @see org.apache.maven.continuum.configuration.ConfigurationService#isInitialized()
+ */
+ public boolean isInitialized()
+ {
+ return false;
+ }
+
+ /**
+ * @see org.apache.maven.continuum.configuration.ConfigurationService#isLoaded()
+ */
+ public boolean isLoaded()
+ {
+ return false;
+ }
+
+ /**
+ * @see org.apache.maven.continuum.configuration.ConfigurationService#load()
+ */
+ public void load()
+ throws ConfigurationLoadingException
+ {
+ // nothing
+ }
+
+ /**
+ * @see org.apache.maven.continuum.configuration.ConfigurationService#setBuildOutputDirectory(java.io.File)
+ */
+ public void setBuildOutputDirectory( File buildOutputDirectory )
+ {
+ // nothing
+ }
+
+ /**
+ * @see org.apache.maven.continuum.configuration.ConfigurationService#setDeploymentRepositoryDirectory(java.io.File)
+ */
+ public void setDeploymentRepositoryDirectory( File deploymentRepositoryDirectory )
+ {
+ // nothing
+ }
+
+ /**
+ * @see org.apache.maven.continuum.configuration.ConfigurationService#setInitialized(boolean)
+ */
+ public void setInitialized( boolean initialized )
+ {
+ // nothing
+ }
+
+ /**
+ * @see org.apache.maven.continuum.configuration.ConfigurationService#setUrl(java.lang.String)
+ */
+ public void setUrl( String url )
+ {
+ // nothing
+ }
+
+ /**
+ * @see org.apache.maven.continuum.configuration.ConfigurationService#setWorkingDirectory(java.io.File)
+ */
+ public void setWorkingDirectory( File workingDirectory )
+ {
+ // nothing
+ }
+
+ /**
+ * @see org.apache.maven.continuum.configuration.ConfigurationService#store()
+ */
+ public void store()
+ throws ConfigurationStoringException
+ {
+ // nothing
+ }
+
+}
Propchange: maven/continuum/trunk/continuum-reports/src/test/java/org/apache/maven/continuum/reports/surefire/MockConfigurationService.java
------------------------------------------------------------------------------
svn:eol-style = LF
Propchange: maven/continuum/trunk/continuum-reports/src/test/java/org/apache/maven/continuum/reports/surefire/MockConfigurationService.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: maven/continuum/trunk/continuum-reports/src/test/java/org/apache/maven/continuum/reports/surefire/MockConfigurationService.java
------------------------------------------------------------------------------
--- svn:keywords (added)
+++ svn:keywords Tue Nov 13 08:36:11 2007
@@ -0,0 +1 @@
+URL HeadURL Author LastChangedBy Date LastChangedDate Rev Revision LastChangedRevision Id
Added: maven/continuum/trunk/continuum-reports/src/test/resources/continuum-core/TEST-org.apache.maven.continuum.DefaultContinuumTest.xml
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-reports/src/test/resources/continuum-core/TEST-org.apache.maven.continuum.DefaultContinuumTest.xml?rev=594573&view=auto
==============================================================================
--- maven/continuum/trunk/continuum-reports/src/test/resources/continuum-core/TEST-org.apache.maven.continuum.DefaultContinuumTest.xml (added)
+++ maven/continuum/trunk/continuum-reports/src/test/resources/continuum-core/TEST-org.apache.maven.continuum.DefaultContinuumTest.xml Tue Nov 13 08:36:11 2007
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<testsuite errors="0" skipped="0" tests="10" time="23.781" failures="0" name="org.apache.maven.continuum.DefaultContinuumTest">
+ <properties>
+ <property value="sa" name="javax.jdo.option.ConnectionUserName"/>
+ <property value="Java(TM) 2 Runtime Environment, Standard Edition" name="java.runtime.name"/>
+ <property value="c:\jdk1.5.0_08\jre\bin" name="sun.boot.library.path"/>
+ <property value="1.5.0_08-b03" name="java.vm.version"/>
+ <property value="Sun Microsystems Inc." name="java.vm.vendor"/>
+ <property value="http://java.sun.com/" name="java.vendor.url"/>
+ <property value=";" name="path.separator"/>
+ <property value="" name="javax.jdo.option.ConnectionPassword"/>
+ <property value="Java HotSpot(TM) Client VM" name="java.vm.name"/>
+ <property value="sun.io" name="file.encoding.pkg"/>
+ <property value="FR" name="user.country"/>
+ <property value="Service Pack 2" name="sun.os.patch.level"/>
+ <property value="Java Virtual Machine Specification" name="java.vm.specification.name"/>
+ <property value="c:\maven-svn\continuum\continuum-core" name="user.dir"/>
+ <property value="1.5.0_08-b03" name="java.runtime.version"/>
+ <property value="sun.awt.Win32GraphicsEnvironment" name="java.awt.graphicsenv"/>
+ <property value="c:\maven-svn\continuum\continuum-core" name="basedir"/>
+ <property value="c:\jdk1.5.0_08\jre\lib\endorsed" name="java.endorsed.dirs"/>
+ <property value="x86" name="os.arch"/>
+ <property value="c:\DOCUME~1\olamy\LOCALS~1\Temp\" name="java.io.tmpdir"/>
+ <property value="
+" name="line.separator"/>
+ <property value="Sun Microsystems Inc." name="java.vm.specification.vendor"/>
+ <property value="" name="user.variant"/>
+ <property value="Windows XP" name="os.name"/>
+ <property value="Cp1252" name="sun.jnu.encoding"/>
+ <property value="c:\jdk1.5.0_08\jre\bin;.;C:\WINDOWS\system32;C:\WINDOWS;C:\cygwin\usr\local\bin;C:\cygwin\bin;C:\cygwin\bin;C:\cygwin\usr\X11R6\bin;c:\WINDOWS\system32;c:\WINDOWS;c:\WINDOWS\System32\Wbem;c:\Program Files\Wave Systems Corp\Dell Preboot Manager\Access Client\v5\;c:\WINDOWS\wbat;c:\WINDOWS\reskit;c:\Program Files\WinZip;c:\Program Files\ActivCard\ActivCard Gold\resources;c:\sybase\OCS-12_5\lib3p;c:\sybase\OCS-12_5\dll;c:\sybase\OCS-12_5\bin;c:\nsdkwin\dll;c:\j2sdk1.4.2_12\bin;c:\apache-maven-2.0.8-SNAPSHOT\bin;c:\maven-1.0.2\bin;c:\local\olamy\apache-forrest-0.7\bin;c:\apache-ant-1.6.5\bin;c:\Program Files\GPGshell;c:\Subversion\bin;c:\Program Files\Fichiers communs\GTK\2.0\bin;c:\PROGRA~1\ATT\Graphviz\bin;c:\Program Files\QuickTime\QTSystem\;c:\Sun\SunOneApp\bin" name="java.library.path"/>
+ <property value="Java Platform API Specification" name="java.specification.name"/>
+ <property value="49.0" name="java.class.version"/>
+ <property value="READ_UNCOMMITTED" name="org.jpox.transactionIsolation"/>
+ <property value="HotSpot Client Compiler" name="sun.management.compiler"/>
+ <property value="READ_UNCOMMITTED" name="org.jpox.poid.transactionIsolation"/>
+ <property value="5.1" name="os.version"/>
+ <property value="c:\apache-maven-2.0.8-SNAPSHOT" name="M2_HOME"/>
+ <property value="C:\Documents and Settings\olamy" name="user.home"/>
+ <property value="Europe/Paris" name="user.timezone"/>
+ <property value="sun.awt.windows.WPrinterJob" name="java.awt.printerjob"/>
+ <property value="1.5" name="java.specification.version"/>
+ <property value="Cp1252" name="file.encoding"/>
+ <property value="org.hsqldb.jdbcDriver" name="javax.jdo.option.ConnectionDriverName"/>
+ <property value="OLAMY" name="user.name"/>
+ <property value="C:\Documents and Settings\olamy\.m2\repository\org\codehaus\plexus\plexus-archiver\1.0-alpha-7\plexus-archiver-1.0-alpha-7.jar;C:\Documents and Settings\olamy\.m2\repository\junit\junit\3.8.1\junit-3.8.1.jar;C:\Documents and Settings\olamy\.m2\repository\org\codehaus\plexus\plexus-container-default\1.0-alpha-8\plexus-container-default-1.0-alpha-8.jar;C:\Documents and Settings\olamy\.m2\repository\org\apache\maven\surefire\surefire-api\2.3\surefire-api-2.3.jar;C:\Documents and Settings\olamy\.m2\repository\classworlds\classworlds\1.1-alpha-2\classworlds-1.1-alpha-2.jar;C:\Documents and Settings\olamy\.m2\repository\org\codehaus\plexus\plexus-utils\1.1\plexus-utils-1.1.jar;C:\Documents and Settings\olamy\.m2\repository\commons-lang\commons-lang\2.1\commons-lang-2.1.jar;C:\Documents and Settings\olamy\.m2\repository\org\apache\maven\surefire\surefire-booter\2.3\surefire-booter-2.3.jar" name="java.class.path"/>
+ <property value="org.jpox.PersistenceManagerFactoryImpl" name="javax.jdo.PersistenceManagerFactoryClass"/>
+ <property value="1.0" name="java.vm.specification.version"/>
+ <property value="32" name="sun.arch.data.model"/>
+ <property value="c:\jdk1.5.0_08\jre" name="java.home"/>
+ <property value="Sun Microsystems Inc." name="java.specification.vendor"/>
+ <property value="fr" name="user.language"/>
+ <property value="sun.awt.windows.WToolkit" name="awt.toolkit"/>
+ <property value="mixed mode" name="java.vm.info"/>
+ <property value="jdbc:hsqldb:mem:org.apache.maven.continuum.DefaultContinuumTest.testAddAntProjectWithdefaultBuildDef" name="javax.jdo.option.ConnectionURL"/>
+ <property value="true" name="org.jpox.autoCreateTables"/>
+ <property value="1.5.0_08" name="java.version"/>
+ <property value="c:\jdk1.5.0_08\jre\lib\ext" name="java.ext.dirs"/>
+ <property value="c:\jdk1.5.0_08\jre\lib\rt.jar;c:\jdk1.5.0_08\jre\lib\i18n.jar;c:\jdk1.5.0_08\jre\lib\sunrsasign.jar;c:\jdk1.5.0_08\jre\lib\jsse.jar;c:\jdk1.5.0_08\jre\lib\jce.jar;c:\jdk1.5.0_08\jre\lib\charsets.jar;c:\jdk1.5.0_08\jre\classes" name="sun.boot.class.path"/>
+ <property value="Sun Microsystems Inc." name="java.vendor"/>
+ <property value="C:\Documents and Settings\olamy\.m2\repository" name="localRepository"/>
+ <property value="\" name="file.separator"/>
+ <property value="http://java.sun.com/cgi-bin/bugreport.cgi" name="java.vendor.url.bug"/>
+ <property value="little" name="sun.cpu.endian"/>
+ <property value="UnicodeLittle" name="sun.io.unicode.encoding"/>
+ <property value="c:\jdk1.5.0_08" name="JAVA_HOME"/>
+ <property value="windows" name="sun.desktop"/>
+ <property value="pentium_pro+mmx pentium_pro pentium+mmx pentium i486 i386 i86" name="sun.cpu.isalist"/>
+ </properties>
+ <testcase time="1.891" name="testContinuumConfiguration"/>
+ <testcase time="2.015" name="testLookups"/>
+ <testcase time="3.735" name="testAddMavenTwoProjectSet"/>
+ <testcase time="2.468" name="testUpdateMavenTwoProject"/>
+ <testcase time="2.391" name="testBuildDefinitions"/>
+ <testcase time="2.234" name="testProjectGroups"/>
+ <testcase time="2.141" name="testProjectAndGroupNotifiers"/>
+ <testcase time="1.953" name="testExecuteAction"/>
+ <testcase time="2.11" name="testRemoveProjectFromCheckoutQueue"/>
+ <testcase time="2.843" name="testAddAntProjectWithdefaultBuildDef"/>
+</testsuite>
\ No newline at end of file
Propchange: maven/continuum/trunk/continuum-reports/src/test/resources/continuum-core/TEST-org.apache.maven.continuum.DefaultContinuumTest.xml
------------------------------------------------------------------------------
svn:executable = *
Propchange: maven/continuum/trunk/continuum-reports/src/test/resources/continuum-core/TEST-org.apache.maven.continuum.DefaultContinuumTest.xml
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"