View Javadoc
1   package org.apache.maven.surefire.its.jiras;
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 org.apache.maven.surefire.its.fixture.OutputValidator;
23  import org.apache.maven.surefire.its.fixture.SurefireJUnit4IntegrationTestCase;
24  import org.apache.maven.surefire.its.fixture.SurefireLauncher;
25  import org.junit.Test;
26  
27  /**
28   * Report XML should contain system properties of forked JVM.
29   *
30   * @author <a href="mailto:tibordigana@apache.org">Tibor Digana (tibor17)</a>
31   * @since 2.20.1
32   */
33  public class Surefire1364SystemPropertiesIT
34          extends SurefireJUnit4IntegrationTestCase
35  {
36      @Test
37      public void junit3Forked()
38      {
39          SurefireLauncher launcher = unpack( "surefire-1364" );
40          OutputValidator validator = launcher.setForkJvm()
41                                              .activateProfile( "junit3" )
42                                              .forkMode( "once" )
43                                              .executeTest()
44                                              .verifyErrorFree( 2 );
45  
46          validator.getSurefireReportsXmlFile( "TEST-FirstTest.xml" )
47                  .assertContainsText( "<property name=\"forkedProp\" value=\"forkedValue1\"/>" );
48  
49          validator.getSurefireReportsXmlFile( "TEST-SecondTest.xml" )
50                  .assertContainsText( "<property name=\"forkedProp\" value=\"forkedValue1\"/>" );
51      }
52  
53      @Test
54      public void junit3InProcess()
55      {
56          SurefireLauncher launcher = unpack( "surefire-1364" );
57          OutputValidator validator = launcher.setForkJvm()
58                                              .activateProfile( "junit3" )
59                                              .forkMode( "never" )
60                                              .executeTest()
61                                              .verifyErrorFree( 2 );
62  
63          validator.getSurefireReportsXmlFile( "TEST-FirstTest.xml" )
64                  .assertContainsText( "<property name=\"forkedProp\" value=\"forkedValue1\"/>" );
65  
66          validator.getSurefireReportsXmlFile( "TEST-SecondTest.xml" )
67                  .assertContainsText( "<property name=\"forkedProp\" value=\"forkedValue1\"/>" );
68      }
69  
70      @Test
71      public void junit4Forked()
72      {
73          SurefireLauncher launcher = unpack( "surefire-1364" );
74          OutputValidator validator = launcher.setForkJvm()
75                                              .forkMode( "once" )
76                                              .executeTest()
77                                              .verifyErrorFree( 2 );
78  
79          validator.getSurefireReportsXmlFile( "TEST-FirstTest.xml" )
80                  .assertContainsText( "<property name=\"forkedProp\" value=\"forkedValue1\"/>" );
81  
82          validator.getSurefireReportsXmlFile( "TEST-SecondTest.xml" )
83                  .assertContainsText( "<property name=\"forkedProp\" value=\"forkedValue1\"/>" );
84      }
85  
86      @Test
87      public void junit4InProcess()
88      {
89          SurefireLauncher launcher = unpack( "surefire-1364" );
90          OutputValidator validator = launcher.setForkJvm()
91                                              .forkMode( "never" )
92                                              .executeTest()
93                                              .verifyErrorFree( 2 );
94  
95          validator.getSurefireReportsXmlFile( "TEST-FirstTest.xml" )
96                  .assertContainsText( "<property name=\"forkedProp\" value=\"forkedValue1\"/>" );
97  
98          validator.getSurefireReportsXmlFile( "TEST-SecondTest.xml" )
99                  .assertContainsText( "<property name=\"forkedProp\" value=\"forkedValue1\"/>" );
100     }
101 
102     @Test
103     public void junit47Forked()
104     {
105         SurefireLauncher launcher = unpack( "surefire-1364" );
106         OutputValidator validator = launcher.setForkJvm()
107                                             .activateProfile( "junit47" )
108                                             .forkMode( "once" )
109                                             .executeTest()
110                                             .verifyErrorFree( 2 );
111 
112         validator.getSurefireReportsXmlFile( "TEST-FirstTest.xml" )
113                 .assertContainsText( "<property name=\"forkedProp\" value=\"forkedValue1\"/>" );
114 
115         validator.getSurefireReportsXmlFile( "TEST-SecondTest.xml" )
116                 .assertContainsText( "<property name=\"forkedProp\" value=\"forkedValue1\"/>" );
117     }
118 
119     @Test
120     public void junit47InProcess()
121     {
122         SurefireLauncher launcher = unpack( "surefire-1364" );
123         OutputValidator validator = launcher.setForkJvm()
124                                             .activateProfile( "junit47" )
125                                             .forkMode( "never" )
126                                             .executeTest()
127                                             .verifyErrorFree( 2 );
128 
129         validator.getSurefireReportsXmlFile( "TEST-FirstTest.xml" )
130                 .assertContainsText( "<property name=\"forkedProp\" value=\"forkedValue1\"/>" );
131 
132         validator.getSurefireReportsXmlFile( "TEST-SecondTest.xml" )
133                 .assertContainsText( "<property name=\"forkedProp\" value=\"forkedValue1\"/>" );
134     }
135 
136     @Test
137     public void junit47ForkedParallel()
138     {
139         SurefireLauncher launcher = unpack( "surefire-1364" );
140         OutputValidator validator = launcher.setForkJvm()
141                                             .activateProfile( "junit47" )
142                                             .forkMode( "once" )
143                                             .parallelClasses()
144                                             .threadCount( 2 )
145                                             .disablePerCoreThreadCount()
146                                             .executeTest()
147                                             .verifyErrorFree( 2 );
148 
149         validator.getSurefireReportsXmlFile( "TEST-FirstTest.xml" )
150                 .assertContainsText( "<property name=\"forkedProp\" value=\"forkedValue1\"/>" );
151 
152         validator.getSurefireReportsXmlFile( "TEST-SecondTest.xml" )
153                 .assertContainsText( "<property name=\"forkedProp\" value=\"forkedValue1\"/>" );
154     }
155 
156     @Test
157     public void junit47InProcessParallel()
158     {
159         SurefireLauncher launcher = unpack( "surefire-1364" );
160         OutputValidator validator = launcher.setForkJvm()
161                                             .activateProfile( "junit47" )
162                                             .forkMode( "never" )
163                                             .parallelClasses()
164                                             .threadCount( 2 )
165                                             .disablePerCoreThreadCount()
166                                             .executeTest()
167                                             .verifyErrorFree( 2 );
168 
169         validator.getSurefireReportsXmlFile( "TEST-FirstTest.xml" )
170                 .assertContainsText( "<property name=\"forkedProp\" value=\"forkedValue1\"/>" );
171 
172         validator.getSurefireReportsXmlFile( "TEST-SecondTest.xml" )
173                 .assertContainsText( "<property name=\"forkedProp\" value=\"forkedValue1\"/>" );
174     }
175 
176     @Test
177     public void testNg()
178     {
179         SurefireLauncher launcher = unpack( "surefire-1364" );
180         OutputValidator validator = launcher.setForkJvm()
181                                             .activateProfile( "testng" )
182                                             .forkMode( "once" )
183                                             .executeTest()
184                                             .verifyErrorFree( 3 );
185 
186         validator.getSurefireReportsXmlFile( "TEST-TestSuite.xml" )
187                 .assertContainsText( "<property name=\"forkedProp\" value=\"forkedValue1\"/>" );
188     }
189 
190     @Test
191     public void testNgInProcess()
192     {
193         SurefireLauncher launcher = unpack( "surefire-1364" );
194         OutputValidator validator = launcher.setForkJvm()
195                                             .activateProfile( "testng" )
196                                             .forkMode( "never" )
197                                             .executeTest()
198                                             .verifyErrorFree( 3 );
199 
200         validator.getSurefireReportsXmlFile( "TEST-TestSuite.xml" )
201                 .assertContainsText( "<property name=\"forkedProp\" value=\"forkedValue1\"/>" );
202     }
203 }