Skip to content

Commit 16782c3

Browse files
authored
feat: support testng 7.8 (#128)
* feat: #127 support testng 7.8
1 parent 46baf6e commit 16782c3

File tree

8 files changed

+180
-4
lines changed

8 files changed

+180
-4
lines changed

dist/pom.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,10 @@
4040
<groupId>org.testng.testng-remote</groupId>
4141
<artifactId>testng-remote6_12</artifactId>
4242
</dependency>
43+
<dependency>
44+
<groupId>org.testng.testng-remote</groupId>
45+
<artifactId>testng-remote7_8</artifactId>
46+
</dependency>
4347
</dependencies>
4448

4549
<build>
@@ -64,6 +68,7 @@
6468
<include>org.testng.testng-remote:testng-remote6_9_10</include>
6569
<include>org.testng.testng-remote:testng-remote6_10</include>
6670
<include>org.testng.testng-remote:testng-remote6_12</include>
71+
<include>org.testng.testng-remote:testng-remote7_8</include>
6772
</includes>
6873
</artifactSet>
6974
<transformers>

pom.xml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616
<modules>
1717
<module>remote</module>
18+
<module>remote7_8</module>
1819
<module>remote6_12</module>
1920
<module>remote6_10</module>
2021
<module>remote6_9_10</module>
@@ -29,8 +30,8 @@
2930
<gson.version>2.9.0</gson.version>
3031
<auto-service.version>1.0.1</auto-service.version>
3132
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
32-
<maven.compiler.source>1.7</maven.compiler.source>
33-
<maven.compiler.target>1.7</maven.compiler.target>
33+
<maven.compiler.source>11</maven.compiler.source>
34+
<maven.compiler.target>11</maven.compiler.target>
3435
<bintray.repo>testng</bintray.repo>
3536
<bintray.package>testng-remote</bintray.package>
3637
</properties>
@@ -102,6 +103,11 @@
102103
<artifactId>testng-remote6_12</artifactId>
103104
<version>${project.version}</version>
104105
</dependency>
106+
<dependency>
107+
<groupId>org.testng.testng-remote</groupId>
108+
<artifactId>testng-remote7_8</artifactId>
109+
<version>${project.version}</version>
110+
</dependency>
105111
</dependencies>
106112
</dependencyManagement>
107113

remote6_12/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
</parent>
99

1010
<artifactId>testng-remote6_12</artifactId>
11-
<name>TestNG Remote for version [6.12, -)</name>
11+
<name>TestNG Remote for version [6.12, 7.8)</name>
1212

1313
<properties>
1414
<testng.version>6.13.1</testng.version>

remote6_12/src/main/java/org/testng/remote/support/RemoteTestNGFactory6_12.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
@AutoService(RemoteTestNGFactory.class)
1010
public class RemoteTestNGFactory6_12 extends AbstractRemoteTestNGFactory {
1111

12-
private static final VersionRange RANGE = new VersionRange("6.12");
12+
private static final VersionRange RANGE = new VersionRange("[6.12,7.8)");
1313

1414
@Override
1515
public IRemoteTestNG createRemoteTestNG() {

remote7_8/pom.xml

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
<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">
2+
<modelVersion>4.0.0</modelVersion>
3+
4+
<parent>
5+
<groupId>org.testng.testng-remote</groupId>
6+
<artifactId>testng-remote-parent</artifactId>
7+
<version>1.4.1-SNAPSHOT</version>
8+
</parent>
9+
10+
<artifactId>testng-remote7_8</artifactId>
11+
<name>TestNG Remote for version [7.8.0, -)</name>
12+
13+
<properties>
14+
<testng.version>7.8.0</testng.version>
15+
</properties>
16+
17+
<dependencies>
18+
<dependency>
19+
<groupId>org.testng.testng-remote</groupId>
20+
<artifactId>testng-remote</artifactId>
21+
</dependency>
22+
<dependency>
23+
<groupId>org.testng</groupId>
24+
<artifactId>testng</artifactId>
25+
<version>${testng.version}</version>
26+
<scope>provided</scope>
27+
</dependency>
28+
<dependency>
29+
<groupId>com.google.auto.service</groupId>
30+
<artifactId>auto-service</artifactId>
31+
<optional>true</optional>
32+
</dependency>
33+
<dependency>
34+
<groupId>org.testng.testng-remote</groupId>
35+
<artifactId>testng-remote</artifactId>
36+
<type>test-jar</type>
37+
</dependency>
38+
</dependencies>
39+
40+
<build>
41+
<plugins>
42+
<plugin>
43+
<groupId>org.apache.maven.plugins</groupId>
44+
<artifactId>maven-surefire-plugin</artifactId>
45+
<configuration>
46+
<systemPropertyVariables>
47+
<test.resources.dir>${basedir}/../remote/target/test-classes</test.resources.dir>
48+
</systemPropertyVariables>
49+
</configuration>
50+
</plugin>
51+
</plugins>
52+
</build>
53+
</project>
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
package org.testng.remote.support;
2+
3+
import org.testng.IClassListener;
4+
import org.testng.IInvokedMethodListener;
5+
import org.testng.ISuite;
6+
import org.testng.ITestRunnerFactory;
7+
import org.testng.SuiteRunner;
8+
import org.testng.TestRunner;
9+
import org.testng.remote.AbstractRemoteTestNG;
10+
import org.testng.remote.strprotocol.MessageHub;
11+
import org.testng.remote.strprotocol.RemoteTestListener;
12+
import org.testng.reporters.JUnitXMLReporter;
13+
import org.testng.reporters.TestHTMLReporter;
14+
import org.testng.xml.XmlTest;
15+
16+
import java.util.Collection;
17+
import java.util.List;
18+
19+
public class RemoteTestNG7_8 extends AbstractRemoteTestNG {
20+
21+
@Override
22+
protected void initialize() {
23+
initializeEverything();
24+
}
25+
26+
@Override
27+
protected ITestRunnerFactory buildTestRunnerFactory() {
28+
if(null == m_customTestRunnerFactory) {
29+
m_customTestRunnerFactory= new ITestRunnerFactory() {
30+
@Override
31+
public TestRunner newTestRunner(ISuite suite, XmlTest xmlTest,
32+
Collection<IInvokedMethodListener> listeners, List<IClassListener> classListeners) {
33+
TestRunner runner =
34+
new TestRunner(getConfiguration(), suite, xmlTest,
35+
false /*skipFailedInvocationCounts */,
36+
listeners, classListeners, (SuiteRunner) suite);
37+
if (m_useDefaultListeners) {
38+
runner.addListener(new TestHTMLReporter());
39+
runner.addListener(new JUnitXMLReporter());
40+
}
41+
42+
return runner;
43+
}
44+
};
45+
}
46+
47+
return m_customTestRunnerFactory;
48+
}
49+
50+
@Override
51+
protected ITestRunnerFactory createDelegatingTestRunnerFactory(ITestRunnerFactory trf, MessageHub smsh) {
52+
return new DelegatingTestRunnerFactory(trf, smsh);
53+
}
54+
55+
private static class DelegatingTestRunnerFactory implements ITestRunnerFactory {
56+
private final ITestRunnerFactory m_delegateFactory;
57+
private final MessageHub m_messageSender;
58+
59+
DelegatingTestRunnerFactory(ITestRunnerFactory trf, MessageHub smsh) {
60+
m_delegateFactory= trf;
61+
m_messageSender= smsh;
62+
}
63+
64+
@Override
65+
public TestRunner newTestRunner(ISuite suite, XmlTest test,
66+
Collection<IInvokedMethodListener> listeners, List<IClassListener> classListeners) {
67+
TestRunner tr = m_delegateFactory.newTestRunner(suite, test, listeners, classListeners);
68+
tr.addListener(new RemoteTestListener(suite, test, m_messageSender));
69+
return tr;
70+
}
71+
}
72+
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package org.testng.remote.support;
2+
3+
import org.testng.remote.AbstractRemoteTestNGFactory;
4+
import org.testng.remote.IRemoteTestNG;
5+
import org.testng.shaded.osgi.framework.VersionRange;
6+
7+
import com.google.auto.service.AutoService;
8+
9+
@AutoService(RemoteTestNGFactory.class)
10+
public class RemoteTestNGFactory7_8 extends AbstractRemoteTestNGFactory {
11+
12+
private static final VersionRange RANGE = new VersionRange("7.8");
13+
14+
@Override
15+
public IRemoteTestNG createRemoteTestNG() {
16+
return new RemoteTestNG7_8();
17+
}
18+
19+
@Override
20+
protected VersionRange getAcceptableVersions() {
21+
return RANGE;
22+
}
23+
24+
@Override
25+
public int getOrder() {
26+
return 7;
27+
}
28+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package test.remote;
2+
3+
import org.testng.internal.Version;
4+
5+
public class Remote7_8_Test extends RemoteTest {
6+
7+
@Override
8+
protected String getTestNGVersion() {
9+
return Version.VERSION;
10+
}
11+
12+
}

0 commit comments

Comments
 (0)