This is an automated email from the ASF dual-hosted git repository. jgallimore pushed a commit to branch TOMEE-4159_Concurrency_TCK in repository https://gitbox.apache.org/repos/asf/tomee.git
commit 1f2fd80df9ea67ed21b2f290d32c74ff8a305255 Author: Jonathan Gallimore <j...@jrg.me.uk> AuthorDate: Wed Jan 11 13:46:58 2023 +0000 Adding concurrency TCK --- tck/concurrency-signature-test/pom.xml | 164 +++++++++++++++++++ tck/concurrency-standalone/logging.properties | 40 +++++ tck/concurrency-standalone/pom.xml | 221 ++++++++++++++++++++++++++ tck/concurrency-standalone/suite-web.xml | 35 ++++ tck/concurrency-standalone/suite.xml | 35 ++++ tck/pom.xml | 1 + 6 files changed, 496 insertions(+) diff --git a/tck/concurrency-signature-test/pom.xml b/tck/concurrency-signature-test/pom.xml new file mode 100644 index 0000000000..447cc11695 --- /dev/null +++ b/tck/concurrency-signature-test/pom.xml @@ -0,0 +1,164 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + --> +<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"> + <parent> + <artifactId>tck</artifactId> + <groupId>org.apache.tomee</groupId> + <version>10.0.0-SNAPSHOT</version> + </parent> + + <modelVersion>4.0.0</modelVersion> + <artifactId>jsonb-signature-test</artifactId> + <name>TomEE :: TCK :: JSON-B Signature Tests</name> + + <dependencies> + <dependency> + <groupId>org.apache.johnzon</groupId> + <artifactId>johnzon-core</artifactId> + <classifier>jakarta</classifier> + <exclusions> + <exclusion> + <groupId>org.apache.johnzon</groupId> + <artifactId>*</artifactId> + </exclusion> + <exclusion> + <groupId>org.apache.geronimo.specs</groupId> + <artifactId>*</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>org.apache.johnzon</groupId> + <artifactId>johnzon-mapper</artifactId> + <classifier>jakarta</classifier> + <exclusions> + <exclusion> + <groupId>org.apache.johnzon</groupId> + <artifactId>*</artifactId> + </exclusion> + <exclusion> + <groupId>org.apache.geronimo.specs</groupId> + <artifactId>*</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>org.apache.johnzon</groupId> + <artifactId>johnzon-jsonb</artifactId> + <classifier>jakarta</classifier> + <exclusions> + <exclusion> + <groupId>org.apache.johnzon</groupId> + <artifactId>*</artifactId> + </exclusion> + <exclusion> + <groupId>org.apache.geronimo.specs</groupId> + <artifactId>*</artifactId> + </exclusion> + </exclusions> + </dependency> + + <dependency> + <groupId>org.apache.tomee</groupId> + <artifactId>jakartaee-api</artifactId> + </dependency> + + <dependency> + <groupId>jakarta.json.bind</groupId> + <artifactId>jakarta.json.bind-tck</artifactId> + <version>3.0.0</version> + <scope>test</scope> + </dependency> + + <dependency> + <groupId>org.apache.openwebbeans</groupId> + <artifactId>openwebbeans-se</artifactId> + <version>2.0.27</version> + <classifier>jakarta</classifier> + <exclusions> + <exclusion> + <groupId>org.apache.openwebbeans</groupId> + <artifactId>*</artifactId> + </exclusion> + <exclusion> + <groupId>org.apache.geronimo.specs</groupId> + <artifactId>*</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>org.apache.openwebbeans</groupId> + <artifactId>openwebbeans-impl</artifactId> + <version>2.0.27</version> + <classifier>jakarta</classifier> + <exclusions> + <exclusion> + <groupId>org.apache.openwebbeans</groupId> + <artifactId>*</artifactId> + </exclusion> + <exclusion> + <groupId>org.apache.geronimo.specs</groupId> + <artifactId>*</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>org.apache.openwebbeans</groupId> + <artifactId>openwebbeans-spi</artifactId> + <version>2.0.27</version> + <classifier>jakarta</classifier> + <exclusions> + <exclusion> + <groupId>org.apache.openwebbeans</groupId> + <artifactId>*</artifactId> + </exclusion> + <exclusion> + <groupId>org.apache.geronimo.specs</groupId> + <artifactId>*</artifactId> + </exclusion> + </exclusions> + </dependency> + </dependencies> + + <build> + <testResources> + <testResource> + <directory>src/test/resources</directory> + <filtering>true</filtering> + </testResource> + </testResources> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-surefire-plugin</artifactId> + <version>${surefire.version}</version> + <configuration> + <reuseForks>false</reuseForks> + <forkCount>1</forkCount> + <dependenciesToScan> + <dependency>jakarta.json.bind:jakarta.json.bind-tck</dependency> + </dependenciesToScan> + <includes> + <include>**/JSONBSigTest</include> + </includes> + </configuration> + </plugin> + </plugins> + </build> + +</project> \ No newline at end of file diff --git a/tck/concurrency-standalone/logging.properties b/tck/concurrency-standalone/logging.properties new file mode 100644 index 0000000000..891082e145 --- /dev/null +++ b/tck/concurrency-standalone/logging.properties @@ -0,0 +1,40 @@ +# Ensure that both your client and sever JVMs point to this file using the java.util.logging property +# -Djava.util.logging.config.file=/path/to/logging.properties + +#Handlers we plan to use +handlers=java.util.logging.FileHandler,java.util.logging.ConsoleHandler + +#Global logger - By default only log warnings +.level=WARNING + +#Concurrency logger - By default log everything for concurrency loggers +ee.jakarta.tck.concurrent.level=ALL + +#Formatting for the simple formatter +java.util.logging.SimpleFormatter.class.log=true +java.util.logging.SimpleFormatter.class.full=false +java.util.logging.SimpleFormatter.class.length=30 + +java.util.logging.SimpleFormatter.level.log=true + +java.util.logging.SimpleFormatter.method.log=true +java.util.logging.SimpleFormatter.method.length=30 + +java.util.logging.SimpleFormatter.thread.log=true +java.util.logging.SimpleFormatter.thread.length=3 + +java.util.logging.SimpleFormatter.time.log=true +java.util.logging.SimpleFormatter.time.format=[MM/dd/yyyy HH:mm:ss:SSS z] + +java.util.logging.SimpleFormatter.format=[%1$tF %1$tT] %4$.1s %3$s %5$s %n + +#File logging +java.util.logging.FileHandler.pattern=ConcurrentTCK%g%u.log +java.util.logging.FileHandler.limit = 500000 +java.util.logging.FileHandler.count = 5 +java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter +java.util.logging.FileHandler.level=CONFIG + +# Console Logging +java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter +java.util.logging.ConsoleHandler.level=WARNING \ No newline at end of file diff --git a/tck/concurrency-standalone/pom.xml b/tck/concurrency-standalone/pom.xml new file mode 100644 index 0000000000..678bd6fb2d --- /dev/null +++ b/tck/concurrency-standalone/pom.xml @@ -0,0 +1,221 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + --> +<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"> + <parent> + <artifactId>tck</artifactId> + <groupId>org.apache.tomee</groupId> + <version>10.0.0-SNAPSHOT</version> + </parent> + + <modelVersion>4.0.0</modelVersion> + <artifactId>concurrency-standalone</artifactId> + <name>TomEE :: TCK :: Concurrency Standalone</name> + + <properties> + <!-- General properties --> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + <maven.compiler.source>11</maven.compiler.source> + <maven.compiler.target>11</maven.compiler.target> + + <!-- Dependency and Plugin Versions --> + <jakarta.concurrent.version>3.0.0</jakarta.concurrent.version> + <jakarta.servlet.version>6.0.0</jakarta.servlet.version> + <arquillian.version>1.7.0.Alpha10</arquillian.version> + <testng.version>6.14.3</testng.version> + <sigtest.version>1.6</sigtest.version> + <derby.version>10.15.2.0</derby.version> + <maven.dep.plugin.version>3.3.0</maven.dep.plugin.version> + <maven.comp.plugin.version>3.10.1</maven.comp.plugin.version> + <maven.surefire.plugin.version>2.22.2</maven.surefire.plugin.version> + + <!-- Location to put test application dependencies --> +<!-- <application.server.lib>[path/to/appserver/lib]</application.server.lib>--> + + <!-- Pointer to suite.xml file that has the TestNG configuration. + Use suite.xml to test the full profile + Use suite-web.xml to test the web profile + --> + <suiteXmlFile>suite.xml</suiteXmlFile> + + <!-- Pointer to logging.properties file that has the java.util.logging configuration --> + <logging.config>logging.properties</logging.config> + + <!-- Output directory --> + <targetDirectory>${project.basedir}/target</targetDirectory> + </properties> + + <repositories> + <!-- TODO add private repo if your implementation is not public --> + <!-- TODO add staging repo if you want to use SNAPSHOT versions of the + API and TCK --> + </repositories> + + <!-- tag::testClientDep[] --> + <!-- The Arquillian test framework --> + <dependencyManagement> + <dependencies> + <dependency> + <groupId>org.jboss.arquillian</groupId> + <artifactId>arquillian-bom</artifactId> + <version>${arquillian.version}</version> + <type>pom</type> + <scope>import</scope> + </dependency> + </dependencies> + </dependencyManagement> + + <!-- Client Dependencies --> + <dependencies> + <!-- The TCK --> + <dependency> + <groupId>jakarta.enterprise.concurrent</groupId> + <artifactId>jakarta.enterprise.concurrent-tck</artifactId> + <version>${jakarta.concurrent.version}</version> + </dependency> + <!-- The API --> + <dependency> + <groupId>jakarta.enterprise.concurrent</groupId> + <artifactId>jakarta.enterprise.concurrent-api</artifactId> + <version>${jakarta.concurrent.version}</version> + </dependency> + <!-- Arquillian Implementation for TestNG --> + <dependency> + <groupId>org.jboss.arquillian.testng</groupId> + <artifactId>arquillian-testng-container</artifactId> + <version>${arquillian.version}</version> + </dependency> + <!-- Arquillian Deps for Apache TomEE --> + + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>apache-tomee</artifactId> + <version>${project.version}</version> + <type>zip</type> + <classifier>plus</classifier> + <scope>test</scope> + </dependency> + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>arquillian-tomee-remote</artifactId> + <version>${project.version}</version> + <scope>test</scope> + </dependency> + <!-- End of deps for Apache TomEE --> + + <!-- Arquillian transitive dependency on Servlet --> + <dependency> + <groupId>jakarta.servlet</groupId> + <artifactId>jakarta.servlet-api</artifactId> + <version>${jakarta.servlet.version}</version> + </dependency> + <!-- TestNG --> + <dependency> + <groupId>org.testng</groupId> + <artifactId>testng</artifactId> + <version>${testng.version}</version> + </dependency> + <!-- Signature Test Plugin --> + <dependency> + <groupId>org.netbeans.tools</groupId> + <artifactId>sigtest-maven-plugin</artifactId> + <version>${sigtest.version}</version> + </dependency> + </dependencies> + <!-- end::testClientDep[] --> + + <build> + <directory>${targetDirectory}</directory> + <defaultGoal>clean test</defaultGoal> + <plugins> + <!-- tag::testServerDep[] --> + <!-- Test Server Dependencies --> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-dependency-plugin</artifactId> + <version>${maven.dep.plugin.version}</version> + <configuration> + <artifactItems> + <artifactItem> + <groupId>org.testng</groupId> + <artifactId>testng</artifactId> + <version>${testng.version}</version> + </artifactItem> + <artifactItem> + <groupId>org.apache.derby</groupId> + <artifactId>derby</artifactId> + <version>${derby.version}</version> + </artifactItem> + <artifactItem> + <groupId>org.netbeans.tools</groupId> + <artifactId>sigtest-maven-plugin</artifactId> + <version>${sigtest.version}</version> + </artifactItem> + </artifactItems> +<!-- <outputDirectory>${application.server.lib}</outputDirectory>--> + </configuration> + </plugin> + <!-- end::testServerDep[] --> + <!-- Compile plugin for any supplemental class files --> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <version>${maven.comp.plugin.version}</version> + <configuration> + <source>${maven.compiler.source}</source> + <target>${maven.compiler.target}</target> + </configuration> + </plugin> + <!-- tag::configTestNG[] --> + <!-- Surefire plugin - Entrypoint for TestNG --> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-surefire-plugin</artifactId> + <version>${maven.surefire.plugin.version}</version> + <configuration> + <!-- tag::logging[] --> + <systemProperties> + <property> + <name>java.util.logging.config.file</name> + <value>${logging.config}</value> + </property> + </systemProperties> + <!-- end::logging[] --> + <!-- tag::ignore[] --> + <systemPropertyVariables> + <!-- Properties shared with Arquillian --> +<!-- <tck_server>[TODO]</tck_server>--> +<!-- <tck_hostname>[TODO]</tck_hostname>--> +<!-- <tck_username>[TODO]</tck_username>--> +<!-- <tck_password>[TODO]</tck_password>--> +<!-- <tck_port>[TODO]</tck_port>--> +<!-- <tck_port>[TODO]</tck_port>--> + </systemPropertyVariables> + <!-- end::ignore[] --> + <suiteXmlFiles> + <suiteXmlFile>${suiteXmlFile}</suiteXmlFile> + </suiteXmlFiles> + <!-- Ensure surfire plugin looks under src/main/java instead of src/test/java --> + <testSourceDirectory>${basedir}${file.separarator}src${file.separarator}main${file.separarator}java${file.separarator}</testSourceDirectory> + </configuration> + </plugin> + <!-- end::configTestNG[] --> + <!-- TODO: you can include a plugin to start your application server here --> + </plugins> + </build> + +</project> \ No newline at end of file diff --git a/tck/concurrency-standalone/suite-web.xml b/tck/concurrency-standalone/suite-web.xml new file mode 100644 index 0000000000..08b74dfa1c --- /dev/null +++ b/tck/concurrency-standalone/suite-web.xml @@ -0,0 +1,35 @@ +<!-- + /* + * Copyright (c) 2022 Contributors to the Eclipse Foundation + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v. 2.0, which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * This Source Code may also be made available under the following Secondary + * Licenses when the conditions for such availability set forth in the + * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + * version 2 with the GNU Classpath Exception, which is available at + * https://www.gnu.org/software/classpath/license.html. + * + * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + */ +--> +<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" > + +<!-- + This suite file is for testing Jakarta Concurrency against the Jakarta Web Profile. + --> +<suite name="jakarta-concurrency" verbose="2" configfailurepolicy="continue"> + <test name="jakarta-concurrency.tck"> + <groups> + <run> + <exclude name="eefull" /> + </run> + </groups> + <packages> + <package name="ee.jakarta.tck.concurrent.api.*"/> + <package name="ee.jakarta.tck.concurrent.spec.*"/> + </packages> + </test> +</suite> \ No newline at end of file diff --git a/tck/concurrency-standalone/suite.xml b/tck/concurrency-standalone/suite.xml new file mode 100644 index 0000000000..21e1b7e7a4 --- /dev/null +++ b/tck/concurrency-standalone/suite.xml @@ -0,0 +1,35 @@ +<!-- + /* + * Copyright (c) 2022 Contributors to the Eclipse Foundation + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v. 2.0, which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * This Source Code may also be made available under the following Secondary + * Licenses when the conditions for such availability set forth in the + * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + * version 2 with the GNU Classpath Exception, which is available at + * https://www.gnu.org/software/classpath/license.html. + * + * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + */ +--> +<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" > + +<!-- + This suite file is for testing Jakarta Concurrency against the Jakarta Full Profile. + --> +<suite name="jakarta-concurrency" verbose="2" configfailurepolicy="continue"> + <test name="jakarta-concurrency.tck"> + <groups> + <run> + <exclude name="eeweb"/> + </run> + </groups> + <packages> + <package name="ee.jakarta.tck.concurrent.api.*"/> + <package name="ee.jakarta.tck.concurrent.spec.*"/> + </packages> + </test> +</suite> \ No newline at end of file diff --git a/tck/pom.xml b/tck/pom.xml index 7a0bf23cb2..4c63e37664 100644 --- a/tck/pom.xml +++ b/tck/pom.xml @@ -45,6 +45,7 @@ <module>jsonb-signature-test</module> <module>jsonp-standalone</module> <module>jsonp-signature-test</module> + <module>concurrency-standalone</module> <module>microprofile-tck</module> </modules>