This is an automated email from the ASF dual-hosted git repository. jlmonteiro pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/tomee-tck.git
commit 8cb13900dd743daa13d704612cdab01ece739e2b Author: Jean-Louis Monteiro <jlmonte...@tomitribe.com> AuthorDate: Wed Jun 9 17:10:04 2021 +0200 Backport some changes from 9.1 branch --- src/test/resources/testsuite.properties | 14 +++++++++----- .../openejb/tck/commands/CommandSupport.groovy | 7 +++++++ .../openejb/tck/commands/JavaTestCommand.groovy | 21 ++++++++++++++++----- .../script/openejb/tck/commands/SetupCommand.groovy | 4 ++++ src/test/tomcat/conf/server.xml | 13 ++++++++----- src/test/tomee-plume/conf/catalina.policy | 16 +++++++++++++--- src/test/tomee-plume/conf/system.properties | 2 ++ 7 files changed, 59 insertions(+), 18 deletions(-) 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 @@ command.testExecute=com.sun.ts.lib.harness.ExecTSTestCmd \ -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 @@ command.testExecute=com.sun.ts.lib.harness.ExecTSTestCmd \ -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 @@ command.testExecuteEjbEmbed=com.sun.ts.lib.harness.ExecTSTestCmd \ ${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.jms.class.1=org.apache.openejb.cts.JMSAdminImpl 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.mo [...] +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.m [...] +sigTestClasspath=%openejb.jee.classes% ts.run.classpath=%ts.run.classpath% openejb.embedded.classpath=%openejb.embedded.classpath% @@ -226,7 +229,7 @@ test.ejb.stateful.timeout.wait.seconds=660 harness.log.port=%harness.log.port% -ws_wait=6 +# ws_wait=5 javatest.timeout.factor=3.0 imap.port = 3143 @@ -239,4 +242,5 @@ provider.configuration.file=%basedir%/%openejb.home%/conf/ProviderConfiguration. 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 @@ abstract class CommandSupport { 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 @@ abstract class CommandSupport { 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 @@ class JavaTestCommand 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 @@ class JavaTestCommand 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 @@ class JavaTestCommand 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 @@ class JavaTestCommand 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 @@ class JavaTestCommand 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 @@ class SetupCommand '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 @@ class SetupCommand 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 @@ grant { 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 @@ grant codeBase "file:${cts.home}/dist/com/sun/ts/tests/jaspic/-" { 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 @@ j2eelogin.password=j2ee # #EOF #done + +jpa_ee_packaging_ejb_standalone_client.jar.moduleId=jpa_ee_packaging_ejb_standalone_ejb_client