RFR: JDK-8301833: Add manual tests for FDLIBM porting
Joe Darcy
darcy at openjdk.org
Mon Feb 6 17:55:48 UTC 2023
On Mon, 6 Feb 2023 09:18:35 GMT, Alan Bateman <alanb at openjdk.org> wrote:
> Manual tests are the tests of last resort :-) This test may be useful for the current transliteration work but it's not clear how this manual test would be run by someone tasked with running the manual tests. Right now, it looks like it's more of a long running stress test but I think the expectation is that someone running this test needs to do a special build or somehow compare results with an older JDK release. Have you explored alternatives to adding a manual test? Long running HotSpot stress tests run in higher tiers. For comparison, I'm wondering if samples could be captured in a golden file for the test to use.
>
> If we are adding a manual test here then I think it will need good instructions. @bwhuang-us has done work in recent times on making sure that the manual tests are in test groups with instructions.
To add some quick background: the FDLIBM porting effort is now doing two ports per method:
* A transliteration port that is as close to the original FDLIBM C as possible
* A (more) idiomatic port closed to regular Java coding
In the future, there may be further changes to the idiomatic port to enhance performance or clarity _while returning the same results_, etc.
These exhaustive tests are helpful now to provide another layer of checking to the transliteration port (by validating it against say, a JDK 20 build) and also helpful in the future to validate any implementation optimization to the idiomatic port when run against the transliteration port.
The tests are long-running (one of the order of at least a minute or two per method under test) and in my estimation don't provide enough utility for their cost to be run all the time. However, they have much higher utility to help validate this initial port and for future refactorings. Therefore, I think these tests should be included in the repository, but not run all the time, which led me to declare them as a manual jtreg test.
-------------
PR: https://git.openjdk.org/jdk/pull/12430
More information about the core-libs-dev
mailing list