Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save scottmarlow/cc7b689ed3ddadf1460bcea5c2f7518a to your computer and use it in GitHub Desktop.
Save scottmarlow/cc7b689ed3ddadf1460bcea5c2f7518a to your computer and use it in GitHub Desktop.
Backup of https://github.com/jakartaee/platform-tck/issues/1126 description before updating...
Continue Platform TCK refactoring using the https://github.com/eclipse-ee4j/jakartaee-tck/tree/tckrefactor branch as per https://github.com/eclipse-ee4j/jakartaee-platform/issues/554.
Pinning the https://www.eclipse.org/lists/jakartaee-tck-dev/threads.html#01731 discussion here for reference.
The challenge is to refactor 1,536,083 lines of Java code (3,965,763 lines counting all Platform TCK files).
@alwin-joseph started https://github.com/eclipse-ee4j/jakartaee-tck/wiki/Standard-Rules-while-separating-standalone-TCKs-from-platform-TCK with more details on how refactoring Platform TCK tests to JUnit might work.
Note that if the [TCK Process](https://jakarta.ee/committees/specification/tckprocess/) is amended to [allow TCK test changes to be made](https://github.com/jakartaee/specification-committee/issues/63) after the SPEC ballot completes, that should reduce the work involved with TCK refactoring process in that a TCK that is still changing could be used to ratify implementation compatibility but not prevent further test changes during the EE 11 development cycle. Without this, we either will have a very long EE 11 development cycle or won't be able to add tests after Spec ballots complete. The below plan assumes that the same TCK can contain both `SE` (needed for Spec ballot) + `EE` (needed for Platform Spec ballot) tests and meet the requirements in https://github.com/eclipse-ee4j/jakartaee-platform/issues/559.
Guidelines:
1. Completing refactoring of the `SE` mode TCKs is required for the subset of technologies that the Platform TCK generates Standalone TCKs for, these are important to complete in time for the wave of EE 11 Spec ballots which will be blocked until needed TCKs are complete.
2. Completing the refactoring of the `EE` mode tests is required for `Full Platform` + `Web Profile` profile ballots to start. Note that the TCK Process rules must be followed with regard to when test changes can be made ([pending outcome specification committee issue 63](https://github.com/jakartaee/specification-committee/issues/63)).
3. Specification teams should add new TCK tests for parts of their Specification that is expected to be difficult to implement correctly (other needed TCK tests may also be added). All community members are also encouraged to contribute such tests as well.
- [x] Sync https://github.com/eclipse-ee4j/jakartaee-tck/tree/tckrefactor with `master` (EE 10) changes already done via #1124.
- [x] #1128
- [ ] #1130
- [ ] Move contents of https://github.com/eclipse-ee4j/jakartaee-tck/tree/tckrefactor/src/com/sun/ts/tests to respective new root folders (ejb30 el jsonb jta servlet websocket).
- [ ] #1141
- [ ] Refactor a small number of `appclient` (EE mode) tests.
- [ ] Refactor a small number of `assembly` (EE mode) tests.
- [ ] Refactor a small number of `connector` (EE mode) tests.
- [ ] Refactor a small number of `ejb32` (EE mode) tests.
- [ ] Refactor a small number of `ejb30` (EE mode) tests.
- [ ] Refactor a small number of `ejb` (EE mode) tests.
- [ ] Refactor a small number of `el` (EE mode) tests.
- [ ] Refactor a small number of `integration` (EE mode) tests.
- [ ] Refactor a small number of `jacc` (EE mode) tests.
- [ ] Refactor a small number of `javaee` (EE mode) tests.
- [ ] Refactor a small number of `javamail` (EE mode) tests.
- [x] #1156
- [ ] Refactor a small number of `jaxws` (EE mode) tests.
- [ ] Refactor a small number of `jdbc` (EE mode) tests.
- [ ] Refactor a small number of `jms` (EE mode) tests.
- [ ] Refactor a small number of `jpa` (EE mode) tests.
- [ ] Refactor a small number of `jsonp` (EE mode) tests.
- [ ] Refactor a small number of `jsonb` (EE mode) tests.
- [ ] Refactor a small number of `jsp` (EE mode) tests.
- [ ] Refactor a small number of `jstl` (EE mode) tests.
- [ ] Refactor a small number of `jta` (EE mode) tests.
- [ ] Refactor a small number of `jws` (EE mode) tests.
- [ ] Refactor a small number of `saaj` (EE mode) tests.
- [x] Refactor a small number of `servlet` tests (https://github.com/eclipse-ee4j/jakartaee-tck/pull/912).
- [ ] Refactor a small number of `sql` (EE mode) tests.
- [ ] Refactor a small number of `websocket` (EE mode) tests.
- [ ] Refactor a small number of `xa` (EE mode) tests.
- [ ] Refactor Signature test Driver and recording of new Signature for both `EE` + `SE` + `Standalone` mode.
- [ ] Create milestone 1 release with `EE` mode support (optionally with `SE` mode as well).
- [ ] Introduce (active/strong) dependencies/assertion between EE 11 Specifications and TCK tests with active reporting (for new EE 11 SPEC features).
- [ ] Introduce common TCK result reporting.
- [x] #1133
- [ ] Refactor more `EE` mode tests for each test bucket mentioned above.
- [ ] Add some `SE` tests to connector
- [ ] Add some `SE` mode tests to el
- [ ] Add some `SE` mode tests to jacc
- [ ] Add some `SE` + `EE` tests to jaxws
- [ ] Add some `SE` mode tests to jms
- [ ] Add some `SE` mode tests to jpa
- [ ] Add some Standalone tests to jsp
- [ ] Add some `SE` + `EE` tests to jstl
- [ ] Add some `SE` + `EE` tests to jta
- [ ] Add some `SE` mode tests to saaj
- [ ] Add some `SE` + `EE` tests to servlet
- [ ] Add some `SE` + `EE` tests to websocket
- [ ] Create milestone 2 release with (some) `EE` mode support + (some) `SE` mode.
- [ ] Complete the refactoring of TCK tests.
- [ ] Update the Signature testing using EE 10 SPEC APIs.
- [ ] Create milestone 3 release (EE 10 implementations can still be used for testing). This is the last EE 10 based milestone.
- [ ] Apply outcome of [Fix handling of Specification integration TCKs](https://github.com/jakartaee/specification-committee/issues/70).
- [ ] Add tests to cover difficult to implement EE 11 Spec features (other tests may also be added). Confirm that each Specification team has added sufficient tests.
- [ ] Update the documentation for the various TCKs for the milestone 4 release.
- [ ] Create milestone 4 release for the first wave of Specification TCKs.
- [ ] After milestone 4 release is validated by first wave of Spec projects completing their Ballots (with milestone 4 TCKs), release final first wave of TCKs reflecting their respective EE 11 Specifications requirements (with release done however TCKs are released for EE 11, maybe via Maven or current Eclipse downloads).
- [ ] Repeat ^ for milestone 5 with second wave of Spec projects (will fill out the details soon).
More milestones to be added here...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment