tree 550af97bd239d4e97e996900bc743068a704ca63
parent c00da47bff4772673d4c33af25def8a579c42cae
author Alwin Joseph <44426046+alwin-joseph@users.noreply.github.com> 1632505665 +0530
committer GitHub <noreply@github.com> 1632505665 -0400
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJhTg9BCRBK7hj4Ov3rIwAAwc0IAHfaQPBeoruwQveXCoNxgZvj
 QdOL9GL6J8FUaF3Nwl0PpSK/PmTXMWWYgTRnm/WMyun/sem2pF/kZZL+vJMY1V80
 rt7sMkOedPPxtO57CZ2neo755zXLJS3MsJuV6QX+EZkRSXYC80m1U0xplGeCU6p5
 WYLOEiafl9EMJ4TkZiTH4KpFhMx6Z/jKTQP5cxXALTzsP3b31bDzFDwNzuTuM+wS
 CNsVsklqYpaYxlAGAFJkhQVjZqXXSEE2oY9Ny91FNS9iPbQISPMv6aLMSKn9TtAS
 YfInONjiX4ki0PWUlGEBZwInvo7nczj2RDm1e9prOglbsH+2c71ty00Tz8goIgw=
 =tYas
 -----END PGP SIGNATURE-----
 

TCK Migration: Move first set of REST tck tests from jakartaee-tck  (#1002)

* Initial changes lifted directly from jakartaee-tck repo to run com.sun.ts.tests.jaxrs.api.rs.core.responsebuilder tests

jakartaee-tck(source) - > jaxrs-api (target)

src/com/sun/ts/tests/jaxrs/api/rs/core/responsebuilder - > jaxrs-api/jaxrs-tck/src/main/java/jakarta/ws/rs/tck/api/rs/core/responsebuilder
src/com/sun/ts/tests/jaxrs/api/rs/core/responseclient - > jaxrs-api/jaxrs-tck/src/main/java/jakarta/ws/rs/tck/api/rs/core/responseclient
src/com/sun/ts/tests/common/webclient - > jaxrs-api/jaxrs-tck/src/main/java/jakarta/ws/rs/tck/common/webclient
src.../tests/jaxrs/common -> common
src.../tests/jaxrs/common/util -> common/util
src/com/sun/ts/lib/porting -> lib/porting/
src.../lib/util -> lib/util
src.../tests/servlet/common/util/Data.java -> lib/util/Data.java

* changes to run tck tests at jakarta.ws.rs.tck.api.rs.core.responsebuilder

* files added directly from jakartaee-tck repo to run set of ee tests

* use arquillian to start running tests in ee/rs/core/request/ using gf container

* temp fix to get server tests passing

* address some of the pending issues and review comments

 - Use system properties set in jersey-tck/pom.xml (hostname, portnumber, servlet adaptor)
 - replace the jersey jars in glassfish bundle used as container, so the server tests are run against the expected jersey jars.
 - Bring back Fault class extending Exception that will be thrown if test fails. The original source of Fault class is https://github.com/eclipse-ee4j/jakartaee-tck/blob/master/src/com/sun/ts/lib/harness/EETest.java
 - Uncomment one more test in request/JAXRSClientIT (was commented by mistake)

* adress Markus review comments

- fix pom file indentation
- use latest versions of junit-jupiter jars
- use jdk11 version (glassfish 6.1)
- remove arquillian.xml for now

* move glassfish specific jar out of jaxrs tck module

* add junit version range, remove redundant compiler version

* address recent review comments

- set porting.ts.url.class.1 as system variable
- remove commented code

* add more client tests from api.rs.core.uribuilder, improve logging

- added new system variable junit.log.traceflag for logging TestUtil.logTrace,
- printing more logs using TestUtil.logMsg
- added client tests from api.rs.core.uribuilder

* edit web xml template before deployment

- removed the hardcoded web xml string
- move web.xml.template to resources

* Tests at ee/rs/client/asyncinvoker and associated files lifted directly from jakartaee-tck

* fix to run tests at jakarta/ws/rs/tck/ee/rs/client/asyncinvoker

* fix to run the tests in api/rs/core/responseclient (85 tests)

- test files api/rs/core/responseclient were already moved, now enabled them to run

* reverting bad change in previous commit to use wrong jdk version

* disabling 13 failing tests to address later, add jaxrs api jar to glassfish for container tests