Backport some changes from 9.1 branch
diff --git a/src/test/resources/testsuite.properties b/src/test/resources/testsuite.properties
index c7da597..086988d 100644
--- a/src/test/resources/testsuite.properties
+++ b/src/test/resources/testsuite.properties
@@ -39,7 +39,7 @@
-Djavax.net.ssl.keyStorePassword=changeit \
-Djavax.net.ssl.trustStore=${keystores.dir}/ssl-truststore \
-Djavax.net.ssl.trustStorePassword=changeit \
- -Djava.endorsed.dirs=${s1as.java.endorsed.dirs}${pathsep}${ts.home}/endorsedlib \
+ ${command.testExecute.endorsed.dir} \
-Dcom.sun.aas.installRoot=${javaee.home} \
-Dcatalina.base=${openejb.home} \
-Dlog.file.location=${log.file.location} \
@@ -50,6 +50,7 @@
-Ddeliverable.class=${deliverable.class} \
-Dopenejb.validation.output.level=3 \
-Djava.security.egd=file:/dev/./urandom \
+ -Dbin.dir=%bin_dir% \
$testExecuteClass \
$testExecuteArgs
@@ -78,7 +79,7 @@
${JAVA_HOME}/bin/java \
-javaagent:${openejb.home}/lib/openejb-javaagent.jar \
${command.testExecuteEmbedded.debugopts} \
- -Djava.endorsed.dirs=${openejb.home}/endorsed \
+ ${command.testExecuteEjbEmbed.endorsed.dir} \
-DDB1=new://Resource?type=DataSource \
-DDB1.JdbcDriver=org.apache.derby.jdbc.ClientDriver \
-DDB1.JdbcUrl=jdbc:derby://localhost:${derby.server.port}/derbydb;create=true \
@@ -199,7 +200,9 @@
porting.ts.login.class.1=org.apache.openejb.cts.LoginContextImpl
porting.ts.url.class.1=org.apache.openejb.cts.URLImpl
-sigTestClasspath=${s1as.modules}/javax.servlet.jar${pathsep}${s1as.modules}/javax.ejb.jar${pathsep}${endorsed.dirs}/javax.annotation.jar${pathsep}${s1as.modules}/javax.enterprise.deploy.jar${pathsep}${s1as.modules}/javax.mail.jar${pathsep}${s1as.modules}/javax.persistence.jar${pathsep}${s1as.modules}/javax.resource.jar${pathsep}${s1as.modules}/javax.security.auth.message.jar${pathsep}${s1as.modules}/javax.security.jacc.jar${pathsep}${s1as.modules}/javax.servlet.jsp.jar${pathsep}${s1as.modules}/javax.transaction.jar${pathsep}${endorsed.dirs}/jaxb-api-osgi.jar${pathsep}${s1as.modules}/jaxb-osgi.jar${pathsep}${s1as.modules}/jsf-api.jar${pathsep}${s1as.modules}/javax.servlet.jsp.jstl.jar${pathsep}${endorsed.dirs}/webservices-api-osgi.jar${pathsep}${s1as.modules}/jsr311-api.jar${pathsep}${s1as.modules}/javax.jms.jar${pathsep}${s1as.modules}/javax.management.j2ee.jar${pathsep}${s1as.modules}/ejb.security.jar${pathsep}${s1as.modules}/webservices-osgi.jar${pathsep}${FELIX_CLASSES}${pathsep}${JAVA_HOME}/lib/rt.jar${pathsep}${JAVA_HOME}/lib/jce.jar${pathsep}${s1as.modules}/bean-validator.jar
+jimage.dir=${ts.home}/tmp/jdk-bundles
+#sigTestClasspath=${s1as.modules}/javax.servlet.jar${pathsep}${s1as.modules}/javax.ejb.jar${pathsep}${endorsed.dirs}/javax.annotation.jar${pathsep}${s1as.modules}/javax.enterprise.deploy.jar${pathsep}${s1as.modules}/javax.mail.jar${pathsep}${s1as.modules}/javax.persistence.jar${pathsep}${s1as.modules}/javax.resource.jar${pathsep}${s1as.modules}/javax.security.auth.message.jar${pathsep}${s1as.modules}/javax.security.jacc.jar${pathsep}${s1as.modules}/javax.servlet.jsp.jar${pathsep}${s1as.modules}/javax.transaction.jar${pathsep}${endorsed.dirs}/jaxb-api-osgi.jar${pathsep}${s1as.modules}/jaxb-osgi.jar${pathsep}${s1as.modules}/jsf-api.jar${pathsep}${s1as.modules}/javax.servlet.jsp.jstl.jar${pathsep}${endorsed.dirs}/webservices-api-osgi.jar${pathsep}${s1as.modules}/jsr311-api.jar${pathsep}${s1as.modules}/javax.jms.jar${pathsep}${s1as.modules}/javax.management.j2ee.jar${pathsep}${s1as.modules}/ejb.security.jar${pathsep}${s1as.modules}/webservices-osgi.jar${pathsep}${FELIX_CLASSES}${pathsep}${JAVA_HOME}/lib/rt.jar${pathsep}${JAVA_HOME}/lib/jce.jar${pathsep}${s1as.modules}/bean-validator.jar
+sigTestClasspath=%openejb.jee.classes%
ts.run.classpath=%ts.run.classpath%
openejb.embedded.classpath=%openejb.embedded.classpath%
@@ -226,7 +229,7 @@
harness.log.port=%harness.log.port%
-ws_wait=6
+# ws_wait=5
javatest.timeout.factor=3.0
imap.port = 3143
@@ -239,4 +242,5 @@
j2eelogin.name=j2ee
j2eelogin.password=j2ee
servlet.is.jsr115.compatible=false
-logical.hostname.servlet=Catalina/localhost
\ No newline at end of file
+logical.hostname.servlet=Catalina/localhost
+bin.dir=%bin_dir%
diff --git a/src/test/script/openejb/tck/commands/CommandSupport.groovy b/src/test/script/openejb/tck/commands/CommandSupport.groovy
index 43f4f00..25621da 100644
--- a/src/test/script/openejb/tck/commands/CommandSupport.groovy
+++ b/src/test/script/openejb/tck/commands/CommandSupport.groovy
@@ -199,6 +199,8 @@
builder.directory = openejbLib
builder.appendAll("geronimo-*_spec-*.jar")
builder.append("javaee-api-*.jar")
+ builder.directory = javaHome() +"/lib/"
+ builder.append("rt.jar")
builder.getPath("openejb.jee.classes")
// ts.run.classpath - used to run the appclient
@@ -291,6 +293,11 @@
builder.getPath("openejb.embedded.classpath")
}
+ private String javaHome() {
+ def file = new File(System.getProperty("java.home"))
+ return file.getAbsolutePath();
+ }
+
def selectTests() {
def builder = new TestListBuilder(this)
return builder.getTests()
diff --git a/src/test/script/openejb/tck/commands/JavaTestCommand.groovy b/src/test/script/openejb/tck/commands/JavaTestCommand.groovy
index 17e5fff..6d9666c 100644
--- a/src/test/script/openejb/tck/commands/JavaTestCommand.groovy
+++ b/src/test/script/openejb/tck/commands/JavaTestCommand.groovy
@@ -204,6 +204,8 @@
if (tckJavaHome != null) {
log.info("Using java home (javatest) ${tckJavaHome}")
jvmarg(value: "-Dtck.java.home=${tckJavaHome}")
+ } else {
+ tckJavaHome = javaHome
}
def tckJavaVersion = get('tck.java.version')
@@ -222,6 +224,8 @@
if (containerJavaHome != null) {
log.info("Using java home (container) ${containerJavaHome}")
jvmarg(value: "-Dcontainer.java.home=${containerJavaHome}")
+ } else {
+ containerJavaHome = javaHome
}
def containerJavaVersion = get('container.java.version')
@@ -231,9 +235,17 @@
def containerJavaOpts = get('container.java.opts', "")
- // force memory on tasks because with JDK 8 it's computed with a bit too much
- containerJavaOpts += " -Xmx512m -Dtest.ejb.stateful.timeout.wait.seconds=60"
+ // not sure about this ....
+ if (tckJavaHome == null || !new File(tckJavaHome, 'jmods').exists()/*j9 doesnt support it*/) {
+ sysproperty(key: "java.endorsed.dirs", file: "${javaeeRiHome}/lib/endorsed")
+ sysproperty(key: "command.testExecute.endorsed.dir", value: "-Djava.endorsed.dirs=${javaeeCtsHome}/endorsedlib")
+ sysproperty(key: "command.testExecuteEjbEmbed.endorsed.dir", value: "-Djava.endorsed.dirs=${openejbHome}/endorsed")
+ containerJavaOpts += " -Djava.locale.providers=COMPAT"
+ }
+
+ // force memory on tasks because with JDK 8 it's computed with a bit too much
+ // containerJavaOpts += " -Xmx512m -Dtest.ejb.stateful.timeout.wait.seconds=60"
if (options.contains('security')) {
log.info("Enabling server security manager")
@@ -289,9 +301,6 @@
sysproperty(key: "java.security.policy", file: "${javaeeRiHome}/bin/harness.policy")
sysproperty(key: "J2EE_HOME_RI", file: javaeeRiHome)
sysproperty(key: "deliverable.class", value: require('deliverable.class'))
- if (tckJavaHome == null || !new File(tckJavaHome, 'jmods').exists()/*j9 doesnt support it*/) {
- sysproperty(key: "java.endorsed.dirs", file: "${javaeeRiHome}/lib/endorsed")
- }
sysproperty(key: "com.sun.enterprise.home", file: javaeeRiHome)
sysproperty(key: "com.sun.aas.installRoot", file: javaeeRiHome)
sysproperty(key: "DEPLOY_DELAY_IN_MINUTES", value: require('deploy_delay_in_minutes'))
@@ -332,6 +341,8 @@
sysproperty(key: "SYSTEMROOT", value: System.getenv('SystemRoot'))
}
+ sysproperty(key: "bin.dir", value: "${javaeeCtsHome}/bin")
+
// Include system properties
arg(value: "-EsysProps")
diff --git a/src/test/script/openejb/tck/commands/SetupCommand.groovy b/src/test/script/openejb/tck/commands/SetupCommand.groovy
index 87c03b4..6c889b9 100644
--- a/src/test/script/openejb/tck/commands/SetupCommand.groovy
+++ b/src/test/script/openejb/tck/commands/SetupCommand.groovy
@@ -51,6 +51,7 @@
'ts.run.classpath',
'ts.run.classpath.ri.suffix',
'ts.harness.classpath',
+ 'openejb.jee.classes',
'openejb.embedded.classpath',
'geronimo.specs.classpath',
'geronimo.porting.classes'
@@ -79,6 +80,9 @@
map['javaee.level'] = 'web'
}
+ log.info("Setting bin.dir to " + javaeeCtsHome.getAbsolutePath() + "/bin")
+ map['bin_dir'] = javaeeCtsHome.getAbsolutePath() + "/bin"
+
// map['servlet_adaptor'] = 'org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet'
map['servlet_adaptor'] = 'org.apache.openejb.server.rest.OpenEJBRestServlet'
map['jaxrs_impl_name'] = 'cxf'
diff --git a/src/test/tomcat/conf/server.xml b/src/test/tomcat/conf/server.xml
index 991f1a4..5cdf835 100644
--- a/src/test/tomcat/conf/server.xml
+++ b/src/test/tomcat/conf/server.xml
@@ -83,13 +83,16 @@
This connector uses the JSSE configuration, when using APR, the
connector should be using the OpenSSL style configuration
described in the APR documentation -->
- <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
- maxThreads="150" scheme="https" secure="true"
- clientAuth="false" sslProtocol="TLS"
- keystoreFile="conf/clientcert.jks"/>
+ <Connector port="%webcontainer.default.ssl.port%" protocol="HTTP/1.1" SSLEnabled="true">
+ <SSLHostConfig truststoreFile="conf/ssl-truststore">
+ <Certificate certificateKeystoreFile="conf/clientcert.jks"
+ certificateKeystorePassword="changeit"
+ type="RSA" />
+ </SSLHostConfig>
+ </Connector>
<!-- Define an AJP 1.3 Connector on port 8009 -->
- <Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/>
+ <!-- <Connector port="%tomee.ajp.port%" protocol="AJP/1.3" redirectPort="%tomee.ssl.port%" /> -->
<!-- An Engine represents the entry point (within Catalina) that processes
diff --git a/src/test/tomee-plume/conf/catalina.policy b/src/test/tomee-plume/conf/catalina.policy
index 4fb8777..fcc2572 100644
--- a/src/test/tomee-plume/conf/catalina.policy
+++ b/src/test/tomee-plume/conf/catalina.policy
@@ -171,22 +171,25 @@
permission java.util.PropertyPermission "openejb.*", "read";
permission java.util.PropertyPermission "user.name", "read";
permission java.util.PropertyPermission "java.io.tmpdir", "read";
- permission java.io.FilePermission "${catalina.base}/lib/-", "read"; // java ee api class, slf4j, owb, etc
permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.loader"; // tomee
permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.core"; // tomee
permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.realm"; // tomee
- permission java.lang.RuntimePermission "setContextClassLoader"; // tomee
+ permission java.io.FilePermission "${catalina.base}/lib/-", "read"; // java ee api class, slf4j, owb, etc
permission java.lang.RuntimePermission "accessDeclaredMembers"; // owb
permission java.lang.reflect.ReflectPermission "suppressAccessChecks"; // owb
permission java.net.SocketPermission "localhost", "connect,resolve"; // jndi
permission java.net.SocketPermission "127.0.0.1", "connect,resolve"; // jndi
- permission javax.security.auth.AuthPermission "doAsPrivileged"; // tomee security
permission javax.security.auth.AuthPermission "modifyPrincipals"; // tomee security
permission javax.security.auth.AuthPermission "modifyPrivateCredentials"; // tomee security
// TomEE for CTS classes in webapps
permission java.io.FilePermission "${cts.home}/dist/-", "read";
+ // weird on ec2, it does not seem to work well for security api
+ // try a small hard coded version
+ permission java.io.FilePermission "/home/ec2-user/-", "read";
+ permission java.io.FilePermission "/home/ec2-user/jakartaeetck-9.1.0-2021-04-20.1739/dist/com/sun/ts/tests/securityapi/idstore/idstorepermission/securityapi_idstore_idstorepermission/securityapi_idstore_idstorepermission_web/-", "read";
+
// Required for OpenJMX
permission java.lang.RuntimePermission "getAttribute";
@@ -300,11 +303,18 @@
permission java.io.FilePermission "${catalina.base}/temp/-", "read,write";
permission java.io.FilePermission "${catalina.base}/logs/-", "read,write";
permission java.io.FilePermission "${catalina.base}/work/-", "read,write";
+
+ // weird on ec2, it does not seem to work well for security api
+ // try a small hard coded version
+ permission java.io.FilePermission "/home/ec2-user/-", "read";
+ permission java.io.FilePermission "/home/ec2-user/jakartaeetck-9.1.0-2021-04-20.1739/dist/com/sun/ts/tests/securityapi/idstore/idstorepermission/securityapi_idstore_idstorepermission/securityapi_idstore_idstorepermission_web/-", "read";
+
permission java.util.PropertyPermission "*", "read,write"; // the log file
permission java.security.SecurityPermission "getProperty.authconfigprovider.factory";
permission java.security.SecurityPermission "setProperty.authconfigprovider.factory";
permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.authenticator.jaspic";
permission java.util.logging.LoggingPermission "control";
+ permission java.net.SocketPermission "*", "connect,resolve"; // logger
};
grant codeBase "file:${cts.home}/dist/com/sun/ts/tests/servlet/ee/spec/security/permissiondd/servlet_ee_spec_security_permissiondd_web/-" {
permission java.util.PropertyPermission "cts.*", "read";
diff --git a/src/test/tomee-plume/conf/system.properties b/src/test/tomee-plume/conf/system.properties
index fe18b1b..0fff9ca 100644
--- a/src/test/tomee-plume/conf/system.properties
+++ b/src/test/tomee-plume/conf/system.properties
@@ -188,3 +188,5 @@
#
#EOF
#done
+
+jpa_ee_packaging_ejb_standalone_client.jar.moduleId=jpa_ee_packaging_ejb_standalone_ejb_client