~ubuntu-branches/ubuntu/precise/surefire/precise

« back to all changes in this revision

Viewing changes to surefire-api/src/main/java/org/apache/maven/surefire/testset/TestRequest.java

  • Committer: Bazaar Package Importer
  • Author(s): Miguel Landaeta
  • Date: 2011-10-10 20:42:16 UTC
  • mfrom: (2.2.4 sid)
  • Revision ID: james.westby@ubuntu.com-20111010204216-cemva69wkagf4fay
Tags: 2.10-1
* Team upload.
* New upstream release.
* Refresh and remove unneccesary patches.
* Add Build-Depends on libsurefire-java and
  libmaven-common-artifact-filters-java.
* Drop outdated Maven artifact surefire-junit.
* Provide new Maven artifacts: surefire-junit3, maven-surefire-common,
  common-junit3, common-junit4, surefire-junit47 and surefire-testng-utils.
* Fix clean target to allow "two in a row" builds.
* Update Vcs-Browser field.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
package org.apache.maven.surefire.testset;
 
2
 
 
3
/*
 
4
 * Licensed to the Apache Software Foundation (ASF) under one
 
5
 * or more contributor license agreements.  See the NOTICE file
 
6
 * distributed with this work for additional information
 
7
 * regarding copyright ownership.  The ASF licenses this file
 
8
 * to you under the Apache License, Version 2.0 (the
 
9
 * "License"); you may not use this file except in compliance
 
10
 * with the License.  You may obtain a copy of the License at
 
11
 *
 
12
 *     http://www.apache.org/licenses/LICENSE-2.0
 
13
 *
 
14
 * Unless required by applicable law or agreed to in writing,
 
15
 * software distributed under the License is distributed on an
 
16
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 
17
 * KIND, either express or implied.  See the License for the
 
18
 * specific language governing permissions and limitations
 
19
 * under the License.
 
20
 */
 
21
 
 
22
import java.io.File;
 
23
import java.util.ArrayList;
 
24
import java.util.List;
 
25
 
 
26
/**
 
27
 * Information about the requested test.
 
28
 *
 
29
 * @author Kristian Rosenvold
 
30
 */
 
31
public class TestRequest
 
32
{
 
33
    private final List suiteXmlFiles;
 
34
 
 
35
    private final File testSourceDirectory;
 
36
 
 
37
    private final String requestedTest;
 
38
    
 
39
    /**
 
40
     * @since 2.7.3
 
41
     */
 
42
    private final String requestedTestMethod;
 
43
 
 
44
    public TestRequest( List suiteXmlFiles, File testSourceDirectory, String requestedTest )
 
45
    {
 
46
        this( suiteXmlFiles, testSourceDirectory, requestedTest, null );
 
47
    }
 
48
    
 
49
    /**
 
50
     * @since 2.7.3
 
51
     */
 
52
    public TestRequest( List suiteXmlFiles, File testSourceDirectory, String requestedTest, String requestedTestMethod )
 
53
    {
 
54
        this.suiteXmlFiles = createFiles( suiteXmlFiles );
 
55
        this.testSourceDirectory = testSourceDirectory;
 
56
        this.requestedTest = requestedTest;
 
57
        this.requestedTestMethod = requestedTestMethod;
 
58
    }
 
59
 
 
60
    /**
 
61
     * Represents suitexmlfiles that define the test-run request
 
62
     * @return A list of java.io.File objects.
 
63
     */
 
64
    public List getSuiteXmlFiles()
 
65
    {
 
66
        return suiteXmlFiles;
 
67
    }
 
68
 
 
69
    /**
 
70
     * Test source directory, normally ${project.build.testSourceDirectory}
 
71
     * @return A file pointing to test sources
 
72
     */
 
73
    public File getTestSourceDirectory()
 
74
    {
 
75
        return testSourceDirectory;
 
76
    }
 
77
 
 
78
    /**
 
79
     * A specific test request issued with -Dtest= from the command line.
 
80
     * @return The string specified at the command line
 
81
     */
 
82
    public String getRequestedTest()
 
83
    {
 
84
        return requestedTest;
 
85
    }
 
86
    
 
87
    /**
 
88
     * A specific test request method issued with -Dtest=class#method from the command line.
 
89
     * @return The string specified at the command line
 
90
     * @since 2.7.3
 
91
     */    
 
92
    public String getRequestedTestMethod()
 
93
    {
 
94
        return requestedTestMethod;
 
95
    }    
 
96
 
 
97
    private static List createFiles( List suiteXmlFiles )
 
98
    {
 
99
        if ( suiteXmlFiles != null )
 
100
        {
 
101
            List files = new ArrayList();
 
102
            Object element;
 
103
            for ( int i = 0; i < suiteXmlFiles.size(); i++ )
 
104
            {
 
105
                element = suiteXmlFiles.get( i );
 
106
                files.add( element instanceof String ? new File( (String) element ) : (File) element );
 
107
            }
 
108
            return files;
 
109
        }
 
110
        return null;
 
111
    }
 
112
 
 
113
}