Skip to content

Commit 288ac84

Browse files
committed
Make multiple TCK instances running on the same machin.
1 parent ded1660 commit 288ac84

File tree

12 files changed

+103
-59
lines changed

12 files changed

+103
-59
lines changed

analyze.pl

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ sub unique {
2727
# Maybe remove some details so failures can be more easily grouped
2828

2929
$t =~ s,(Could not load WEB-INF/classes/).*(.class),${1}.....${2},;
30-
$t =~ s,(http://localhost:8080).*(_vehicle_[^/]+)/.*,$1/.....$2.....,;
30+
$t =~ s,(http://localhost:).*(_vehicle_[^/]+)/.*,$1/.....$2.....,;
3131
$t =~ s,(404 Not Found for http://localhost:8080/jsf_).*,$1.....,;
3232
$t =~ s,(Module failed validation.).*,$1.....,;
3333
$t =~ s,(No provider available for resource-ref 'null' of type 'com.sun.ts.tests.common.connector.whitebox.TSConnectionFactory').*,$1.....,;

pom.xml

+28-4
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,6 @@
6262

6363
<!-- externalized ports for tx.jte file -->
6464
<webcontainer.default.host>localhost</webcontainer.default.host>
65-
<webcontainer.default.port>8080</webcontainer.default.port>
66-
<webcontainer.default.ssl.port>8443</webcontainer.default.ssl.port>
67-
<webcontainer.default.clientcert.port>8444</webcontainer.default.clientcert.port>
6865
<webcontainer.ri.host>localhost</webcontainer.ri.host>
6966
<webcontainer.ri.port>8000</webcontainer.ri.port>
7067
<orb.default.host>localhost</orb.default.host>
@@ -532,7 +529,7 @@
532529
</goals>
533530
<configuration>
534531
<driver>org.apache.derby.jdbc.ClientDriver</driver>
535-
<url>jdbc:derby://localhost:1527/derbydb;create=true</url>
532+
<url>jdbc:derby://localhost:${derby.server.port}/derbydb;create=true</url>
536533
<username>cts</username>
537534
<password>cts</password>
538535
<autocommit>true</autocommit>
@@ -616,6 +613,30 @@
616613
</configuration>
617614
</plugin>
618615

616+
<plugin>
617+
<groupId>org.codehaus.mojo</groupId>
618+
<artifactId>build-helper-maven-plugin</artifactId>
619+
<version>1.7</version>
620+
<executions>
621+
<execution>
622+
<id>reserve-network-port</id>
623+
<phase>pre-integration-test</phase>
624+
<goals>
625+
<goal>reserve-network-port</goal>
626+
</goals>
627+
<configuration>
628+
<portNames>
629+
<portName>webcontainer.default.port</portName>
630+
<portName>webcontainer.default.ssl.port</portName>
631+
<portName>webcontainer.default.clientcert.port</portName>
632+
<portName>webcontainer.default.shutdown.port</portName>
633+
<portName>derby.server.port</portName>
634+
</portNames>
635+
</configuration>
636+
</execution>
637+
</executions>
638+
</plugin>
639+
619640
<plugin>
620641
<groupId>org.codehaus.mojo</groupId>
621642
<artifactId>exec-maven-plugin</artifactId>
@@ -630,6 +651,9 @@
630651
</execution>
631652
</executions>
632653
<configuration>
654+
<arguments>
655+
<argument>${derby.server.port}</argument>
656+
</arguments>
633657
<mainClass>org.apache.openejb.cts.DerbyRunner</mainClass>
634658
</configuration>
635659
</plugin>

src/test/resources/testsuite.properties

+5-4
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ command.testExecuteAppClient=com.sun.ts.lib.harness.ExecTSTestCmd \
5151
${JAVA_HOME}/bin/java \
5252
${command.testExecuteAppClient.debugopts} \
5353
-Dopenejb.server.uri=${openejb.server.uri} \
54-
-DResource/javax.sql.DataSource=datasource:org.apache.derby.jdbc.ClientDataSource:jdbc\:derby\://localhost\:1527/${derby.dbName};create\=true;user=${derby.user};password=${derby.passwd} \
54+
-DResource/javax.sql.DataSource=datasource:org.apache.derby.jdbc.ClientDataSource:jdbc\:derby\://localhost\:${derby.server.port}/${derby.dbName};create\=true;user=${derby.user};password=${derby.passwd} \
5555
-DResource/javax.jms.ConnectionFactory=connectionfactory:org.apache.activemq.ActiveMQConnectionFactory:tcp://localhost:61616 \
5656
-DResource/org.omg.CORBA.ORB=orb:/ \
5757
-Djdbc/DB1=link:Resource/javax.sql.DataSource \
@@ -74,7 +74,7 @@ command.testExecuteEjbEmbed=com.sun.ts.lib.harness.ExecTSTestCmd \
7474
-Djava.endorsed.dirs=${openejb.home}/endorsed \
7575
-DDB1=new://Resource?type=DataSource \
7676
-DDB1.JdbcDriver=org.apache.derby.jdbc.ClientDriver \
77-
-DDB1.JdbcUrl=jdbc:derby://localhost:1527/derbydb;create=true \
77+
-DDB1.JdbcUrl=jdbc:derby://localhost:${derby.server.port}/derbydb;create=true \
7878
-DDB1.UserName=cts \
7979
-DDB1.Password=cts \
8080
-DsingletonContainer=new://Container?type=SINGLETON&AccessTimeout=2minutes \
@@ -111,11 +111,11 @@ hsql.properties=user\=${hsql.user}\:password\=${hsql.passwd}
111111
hsql.url=jdbc\:hsqldb\:hsql\://localhost/${hsql.dbName}
112112
hsql.user=cts
113113

114-
derby.url=jdbc\:derby\://localhost\:1527/${derby.dbName};create\=true
114+
derby.url=jdbc\:derby\://localhost\:${derby.server.port}/${derby.dbName};create\=true
115115
derby.poolName=cts-derby-pool
116116
derby.user=cts
117117
derby.properties=DatabaseName\="${derby.dbName}"\:user\=${derby.user}\:password\=${derby.passwd}
118-
derby.port=1527
118+
derby.port=${derby.server.port}
119119
derby.dataSource=org.apache.derby.jdbc.ClientDataSource
120120
derby.pool.url='jdbc\\\:derby\\\:${derby.dbName}\\;create\=true'
121121
derby.server=${orb.host}
@@ -161,6 +161,7 @@ openejb.home=%openejb.home%
161161
openejb.version=%openejb.version%
162162
openejb.lib=%openejb.lib%
163163
openejb.server.uri=%openejb.server.uri%
164+
derby.server.port=%derby.server.port%
164165

165166
orb.host.ri=%orb.ri.host%
166167
orb.host=%orb.default.host%

src/test/script/openejb/tck/commands/CommandSupport.groovy

+2-1
Original file line numberDiff line numberDiff line change
@@ -157,12 +157,13 @@ abstract class CommandSupport
157157
def javaeetckHome = get('javaee.cts.home')
158158
def javaeeRiHome = get('javaee.ri.home')
159159
def webcontainer = get('webcontainer')
160+
def tomeeHttpPort = get('webcontainer.default.port')
160161

161162
def openejbLib
162163
def openejbServerUri
163164
if (webcontainer.startsWith("tom")) {
164165
openejbLib = "${openejbHome}/lib"
165-
openejbServerUri = "http://localhost:8080/tomee/ejb"
166+
openejbServerUri = "http://localhost:${tomeeHttpPort}/tomee/ejb"
166167
} else {
167168
openejbLib = "${openejbHome}/lib"
168169
openejbServerUri = "ejbd://localhost:4201"

src/test/script/openejb/tck/commands/JavaTestCommand.groovy

+1
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,7 @@ class JavaTestCommand
206206
sysproperty(key: "openejb.server.uri", value: require('openejb.server.uri'))
207207
sysproperty(key: "openejb.servicemanager.enabled", value: true)
208208

209+
sysproperty(key: "server.shutdown.port", value: require('webcontainer.default.shutdown.port'))
209210
sysproperty(key: "openejb.home", file: openejbHome)
210211
sysproperty(key: "com.sun.ejb.home", file: openejbHome)
211212
sysproperty(key: "TS_HOME", file: javaeeCtsHome)

src/test/script/openejb/tck/commands/SetupCommand.groovy

+22-5
Original file line numberDiff line numberDiff line change
@@ -262,15 +262,32 @@ class SetupCommand
262262
//
263263
// Copy openejb configuration files into server
264264
//
265-
ant.copy(todir: "${openejbHome}", overwrite: true) {
265+
ant.copy(todir: "${openejbHome}", filtering: true, overwrite: true) {
266+
267+
def map = [:]
268+
map.putAll(System.properties)
269+
map.putAll(project.properties)
270+
271+
def wcFiles
272+
266273
if ("tomcat".equals(System.getProperty("webcontainer"))) {
267-
fileset(dir: "${project.basedir}/src/test/tomcat")
274+
wcFiles = "${project.basedir}/src/test/tomcat"
275+
268276
} else if ("tomee".equals(System.getProperty("webcontainer"))) {
269-
fileset(dir: "${project.basedir}/src/test/tomee")
277+
wcFiles = "${project.basedir}/src/test/tomee"
278+
270279
} else if ("tomee-plus".equals(System.getProperty("webcontainer"))) {
271-
fileset(dir: "${project.basedir}/src/test/tomee-plus")
280+
wcFiles = "${project.basedir}/src/test/tomee-plus"
281+
272282
} else {
273-
fileset(dir: "${project.basedir}/src/test/openejb")
283+
wcFiles = "${project.basedir}/src/test/openejb"
284+
}
285+
286+
fileset(dir: wcFiles)
287+
filterset(begintoken: '%', endtoken: '%') {
288+
map.each {
289+
filter(token: it.key, value: it.value)
290+
}
274291
}
275292
}
276293

src/test/tomee-plus/conf/server.xml

+5-5
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
define subcomponents such as "Valves" at this level.
2020
Documentation at /docs/config/server.html
2121
-->
22-
<Server port="8005" shutdown="SHUTDOWN">
22+
<Server port="%webcontainer.default.shutdown.port%" shutdown="SHUTDOWN">
2323
<!-- OpenEJB plugin for Tomcat -->
2424
<Listener className="org.apache.tomee.catalina.ServerListener" />
2525
<!-- Security listener. Documentation at /docs/config/listeners.html
@@ -69,9 +69,9 @@
6969
APR (HTTP/AJP) Connector: /docs/apr.html
7070
Define a non-SSL HTTP/1.1 Connector on port 8080
7171
-->
72-
<Connector port="8080" protocol="HTTP/1.1"
72+
<Connector port="%webcontainer.default.port%" protocol="HTTP/1.1"
7373
connectionTimeout="20000"
74-
redirectPort="8443" />
74+
redirectPort="%webcontainer.default.ssl.port%" />
7575
<!-- A "Connector" using the shared thread pool-->
7676
<!--
7777
<Connector executor="tomcatThreadPool"
@@ -83,14 +83,14 @@
8383
This connector uses the JSSE configuration, when using APR, the
8484
connector should be using the OpenSSL style configuration
8585
described in the APR documentation -->
86-
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
86+
<Connector port="%webcontainer.default.ssl.port%" protocol="HTTP/1.1" SSLEnabled="true"
8787
maxThreads="150" scheme="https" secure="true"
8888
clientAuth="false" sslProtocol="TLS"
8989
keystoreFile="conf/clientcert.jks" keystorePass="changeit" keyAlias="cts"
9090
truststoreFile="conf/ssl-truststore" truststorePass="changeit" />
9191

9292
<!-- Define an AJP 1.3 Connector on port 8009 -->
93-
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
93+
<!-- <Connector port="%tomee.ajp.port%" protocol="AJP/1.3" redirectPort="%tomee.ssl.port%" /> -->
9494

9595

9696
<!-- An Engine represents the entry point (within Catalina) that processes

src/test/tomee-plus/conf/system.properties

+15-15
Original file line numberDiff line numberDiff line change
@@ -21,27 +21,27 @@ RESOURCE.whitebox-tx|poolMaxSize=100
2121
RESOURCE.whitebox-xa-param|poolMaxSize=100
2222
RESOURCE.whitebox-xa|poolMaxSize=100
2323

24-
RESOURCE.JDBCwhitebox-notx-param|ConnectionURL=jdbc:derby://localhost:1527/derbydb;create=true;user=cts;password=cts
24+
RESOURCE.JDBCwhitebox-notx-param|ConnectionURL=jdbc:derby://localhost:%derby.server.port%/derbydb;create=true;user=cts;password=cts
2525
RESOURCE.JDBCwhitebox-notx-param|DriverName=org.apache.derby.jdbc.ClientDriver
2626
RESOURCE.JDBCwhitebox-notx-param|poolMaxSize=100
2727

28-
RESOURCE.JDBCwhitebox-notx|ConnectionURL=jdbc:derby://localhost:1527/derbydb;create=true;user=cts;password=cts
28+
RESOURCE.JDBCwhitebox-notx|ConnectionURL=jdbc:derby://localhost:%derby.server.port%/derbydb;create=true;user=cts;password=cts
2929
RESOURCE.JDBCwhitebox-notx|DriverName=org.apache.derby.jdbc.ClientDriver
3030
RESOURCE.JDBCwhitebox-notx|poolMaxSize=100
3131

32-
RESOURCE.JDBCwhitebox-tx-param|ConnectionURL=jdbc:derby://localhost:1527/derbydb;create=true;user=cts;password=cts
32+
RESOURCE.JDBCwhitebox-tx-param|ConnectionURL=jdbc:derby://localhost:%derby.server.port%/derbydb;create=true;user=cts;password=cts
3333
RESOURCE.JDBCwhitebox-tx-param|DriverName=org.apache.derby.jdbc.ClientDriver
3434
RESOURCE.JDBCwhitebox-tx-param|poolMaxSize=100
3535

36-
RESOURCE.JDBCwhitebox-tx|ConnectionURL=jdbc:derby://localhost:1527/derbydb;create=true;user=cts;password=cts
36+
RESOURCE.JDBCwhitebox-tx|ConnectionURL=jdbc:derby://localhost:%derby.server.port%/derbydb;create=true;user=cts;password=cts
3737
RESOURCE.JDBCwhitebox-tx|DriverName=org.apache.derby.jdbc.ClientDriver
3838
RESOURCE.JDBCwhitebox-tx|poolMaxSize=100
3939

40-
RESOURCE.JDBCwhitebox-xa-param|XAProps=JdbcUrl="jdbc:derby://localhost:1527/derbydb;create=true;user=cts;password=cts"
40+
RESOURCE.JDBCwhitebox-xa-param|XAProps=JdbcUrl="jdbc:derby://localhost:%derby.server.port%/derbydb;create=true;user=cts;password=cts"
4141
RESOURCE.JDBCwhitebox-xa-param|XADataSourceName=org.apache.openejb.cts.DriverManagerXADataSource
4242
RESOURCE.JDBCwhitebox-xa-param|poolMaxSize=100
4343

44-
RESOURCE.JDBCwhitebox-xa|XAProps=JdbcUrl='jdbc:jdbc:derby://localhost:1527/derbydb;create=true;user=cts;password=cts'
44+
RESOURCE.JDBCwhitebox-xa|XAProps=JdbcUrl='jdbc:jdbc:derby://localhost:%derby.server.port%/derbydb;create=true;user=cts;password=cts'
4545
RESOURCE.JDBCwhitebox-xa|XADataSourceName=org.apache.openejb.cts.DriverManagerXADataSource
4646
RESOURCE.JDBCwhitebox-xa|poolMaxSize=100
4747

@@ -75,50 +75,50 @@ old-dd-whitebox-xa.rar.moduleId=oldwhitebox-xa
7575

7676

7777
compds.JdbcDriver=org.apache.derby.jdbc.ClientDriver
78-
compds.JdbcUrl=jdbc:derby://localhost:1527/derbydb;create=true
78+
compds.JdbcUrl=jdbc:derby://localhost:%derby.server.port%/derbydb;create=true
7979
compds.UserName=cts
8080
compds.Password=cts
8181

8282
compds2.JdbcDriver=org.apache.derby.jdbc.ClientDriver
83-
compds2.JdbcUrl=jdbc:derby://localhost:1527/derbydb;create=true
83+
compds2.JdbcUrl=jdbc:derby://localhost:%derby.server.port%/derbydb;create=true
8484
compds2.UserName=cts
8585
compds2.Password=cts
8686

8787
defaultds.JdbcDriver=org.apache.derby.jdbc.ClientDriver
88-
defaultds.JdbcUrl=jdbc:derby://localhost:1527/derbydb;create=true
88+
defaultds.JdbcUrl=jdbc:derby://localhost:%derby.server.port%/derbydb;create=true
8989
defaultds.UserName=cts
9090
defaultds.Password=cts
9191

9292
defaultds2.JdbcDriver=org.apache.derby.jdbc.ClientDriver
93-
defaultds2.JdbcUrl=jdbc:derby://localhost:1527/derbydb;create=true
93+
defaultds2.JdbcUrl=jdbc:derby://localhost:%derby.server.port%/derbydb;create=true
9494
defaultds2.UserName=cts
9595
defaultds2.Password=cts
9696

9797
module/env/moduleds.JdbcDriver=org.apache.derby.jdbc.ClientDriver
98-
module/env/moduleds.JdbcUrl=jdbc:derby://localhost:1527/derbydb;create=true
98+
module/env/moduleds.JdbcUrl=jdbc:derby://localhost:%derby.server.port%/derbydb;create=true
9999
module/env/moduleds.UserName=cts
100100
module/env/moduleds.Password=cts
101101

102102
module/env/moduleds2.JdbcDriver=org.apache.derby.jdbc.ClientDriver
103-
module/env/moduleds2.JdbcUrl=jdbc:derby://localhost:1527/derbydb;create=true
103+
module/env/moduleds2.JdbcUrl=jdbc:derby://localhost:%derby.server.port%/derbydb;create=true
104104
module/env/moduleds2.UserName=cts
105105
module/env/moduleds2.Password=cts
106106

107107
app/env/appds2.JdbcDriver=org.apache.derby.jdbc.ClientDriver
108-
app/env/appds2.JdbcUrl=jdbc:derby://localhost:1527/derbydb;create=true
108+
app/env/appds2.JdbcUrl=jdbc:derby://localhost:%derby.server.port%/derbydb;create=true
109109
app/env/appds2.UserName=cts
110110
app/env/appds2.Password=cts
111111

112112
app/env/appds.JdbcDriver=org.apache.derby.jdbc.ClientDriver
113-
app/env/appds.JdbcUrl=jdbc:derby://localhost:1527/derbydb;create=true
113+
app/env/appds.JdbcUrl=jdbc:derby://localhost:%derby.server.port%/derbydb;create=true
114114
app/env/appds.UserName=cts
115115
app/env/appds.Password=cts
116116

117117
#
118118
#for n in app/env/appds2; do
119119
#cat <<EOF
120120
#$n.JdbcDriver=org.apache.derby.jdbc.ClientDriver
121-
#$n.JdbcUrl=jdbc:derby://localhost:1527/derbydb;create=true
121+
#$n.JdbcUrl=jdbc:derby://localhost:%derby.server.port%/derbydb;create=true
122122
#$n.UserName=cts
123123
#$n.Password=cts
124124
#

src/test/tomee-plus/conf/tomee.xml

+2-2
Original file line numberDiff line numberDiff line change
@@ -53,14 +53,14 @@
5353
<!-- That should be also specified in the system.properties file of the target environment -->
5454
<Resource id="jdbc/DB1" type="DataSource">
5555
JdbcDriver org.apache.derby.jdbc.ClientDriver
56-
JdbcUrl jdbc:derby://localhost:1527/derbydb;create=true
56+
JdbcUrl jdbc:derby://localhost:%derby.server.port%/derbydb;create=true
5757
UserName cts
5858
Password cts
5959
</Resource>
6060

6161
<Resource id="jdbc/DB1Unmanaged" type="DataSource">
6262
JdbcDriver org.apache.derby.jdbc.ClientDriver
63-
JdbcUrl jdbc:derby://localhost:1527/derbydb;create=true
63+
JdbcUrl jdbc:derby://localhost:%derby.server.port%/derbydb;create=true
6464
UserName cts
6565
Password cts
6666
JtaManaged false

src/test/tomee/conf/server.xml

+5-5
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
define subcomponents such as "Valves" at this level.
2020
Documentation at /docs/config/server.html
2121
-->
22-
<Server port="8005" shutdown="SHUTDOWN">
22+
<Server port="%webcontainer.default.shutdown.port%" shutdown="SHUTDOWN">
2323
<!-- OpenEJB plugin for Tomcat -->
2424
<Listener className="org.apache.tomee.catalina.ServerListener" />
2525
<!-- Security listener. Documentation at /docs/config/listeners.html
@@ -69,9 +69,9 @@
6969
APR (HTTP/AJP) Connector: /docs/apr.html
7070
Define a non-SSL HTTP/1.1 Connector on port 8080
7171
-->
72-
<Connector port="8080" protocol="HTTP/1.1"
72+
<Connector port="%webcontainer.default.port%" protocol="HTTP/1.1"
7373
connectionTimeout="20000"
74-
redirectPort="8443" />
74+
redirectPort="%webcontainer.default.ssl.port%" />
7575
<!-- A "Connector" using the shared thread pool-->
7676
<!--
7777
<Connector executor="tomcatThreadPool"
@@ -83,14 +83,14 @@
8383
This connector uses the JSSE configuration, when using APR, the
8484
connector should be using the OpenSSL style configuration
8585
described in the APR documentation -->
86-
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
86+
<Connector port="%webcontainer.default.ssl.port%" protocol="HTTP/1.1" SSLEnabled="true"
8787
maxThreads="150" scheme="https" secure="true"
8888
clientAuth="false" sslProtocol="TLS"
8989
keystoreFile="conf/clientcert.jks" keystorePass="changeit" keyAlias="cts"
9090
truststoreFile="conf/ssl-truststore" truststorePass="changeit" />
9191

9292
<!-- Define an AJP 1.3 Connector on port 8009 -->
93-
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
93+
<!-- <Connector port="%tomee.ajp.port%" protocol="AJP/1.3" redirectPort="%tomee.ssl.port%" /> -->
9494

9595

9696
<!-- An Engine represents the entry point (within Catalina) that processes

0 commit comments

Comments
 (0)