RFR: JDK-8316696: Remove the testing base classes: IntlTest and CollatorTest [v4]
Naoto Sato
naoto at openjdk.org
Fri Sep 29 22:09:54 UTC 2023
On Fri, 29 Sep 2023 21:22:01 GMT, Justin Lu <jlu at openjdk.org> wrote:
>> Please review this PR which removes the i18n related testing base classes `IntlTest` and `CollatorTest` and converts all the tests that use them,
>>
>> IntlTest and CollatorTest are testing classes which are extended by tests in `text/`, `util/Locale`, `util/TimeZone`, and `util/Calendar`. The abstract testing classes are quite dated and have caused issues such as: variation between OS, hiding stack trace, and causing tests to spuriously pass.
>>
>> This change mainly automates a low level conversion of all the tests (75) using the frameworks; all tests were converted to use JUnit instead. (With the exception of `DateFormatRoundTripTest` due to the nature of the test).
>>
>> The main changes can be viewed in the following commits
>>
>> scripted changes - [c0ece01 ](https://github.com/openjdk/jdk/commit/c0ece01e91479a020d5c6dce937dc827472b763b)
>> - Converts the IntlTest methods logln, log, err, and errln
>> - Adds the JUnit Test annotation to tests that should be ran
>> - Adjusts the Jtreg tags accordingly
>> - Remove the main method
>> - Insert initAll() methods for tests that previously adjusted the JVM default Locale/TimeZone in the main method
>>
>> manual changes - [9a54910](https://github.com/openjdk/jdk/commit/9a5491065a94a4dc7a05194f3b8330efba8077b7)
>> - Some tests that had extensive logic in the main method or did not follow the general IntlTest format had to be manually adjusted
>> - Also clarified some tests that had optional argument setup in the main method (now removed)
>>
>> removal of IntlTest and CollatorTest - [8ee9f9c](https://github.com/openjdk/jdk/commit/8ee9f9c79f79210ee6244186970d87a1cac05556) [f90266f](https://github.com/openjdk/jdk/pull/15954/commits/f90266f4f019c031c5f985dd658f62a02cc8b422) [3c67679](https://github.com/openjdk/jdk/pull/15954/commits/3c676794dd0c703db066a346c36e213d113d9acc)
>> - Removes IntlTest in both the testlib and under TimeZone/
>> - Replaces CollatorTest with CollatorTestUtils
>>
>> Tiers 1-3 clean
>
> Justin Lu has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains seven commits:
>
> - merge master and resolve conflicts
> - implement feedback
> - cleanup util classes in text/testlib
> - CollatorUtils -> CollatorTestUtils
> - remove IntlTest and CollatorTest. introduce CollatorUtils
> - manual changes
> - scripted changes
test/jdk/java/util/Locale/LegacyCodesClassInvariant.java line 94:
> 92: fail("Locale didn't maintain invariants for: "+lang);
> 93: fail(" got: "+loc);
> 94: fail(" excpeted: "+expected);
This will only log the message in the first `fail()` invocation. This may be auto-converted by the script, so you might want to check other places.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/15954#discussion_r1341824281
More information about the core-libs-dev
mailing list