On Thu, 17 Apr 2025 21:35:08 GMT, Justin Lu <j...@openjdk.org> wrote:
>> Please review this PR which improves the _ValidateISO4217_ Currency test by >> adding testing of future currencies after the transition date. >> >> This is done by creating a patched version of Currency that replaces >> `System.currentTimeMillis()` calls with a mocked value equivalent to >> `Long.MAX_VALUE`. A module patch is then applied to supply the new Currency >> class files. >> >> The mocked time behavior is tested by using the `currency.properties` >> override in a separate invocation. > > Justin Lu has updated the pull request incrementally with one additional > commit since the last revision: > > simple/special case in check invocation Good to see the future currency testing. test/jdk/java/util/Currency/ValidateISO4217.java line 157: > 155: // "check" invocation only runs the main method (and not any tests) > to determine if the > 156: // future time checking is correct > 157: public static void main(String[] args) { It would probably helpful to check if the patched Currency class does exist or not. Same for the `MOCKED.TIME=true` case. test/jdk/java/util/Currency/ValidateISO4217.java line 203: > 201: CodeTransform codeTransform = (codeBuilder, e) -> { > 202: switch (e) { > 203: case InvokeInstruction i when > i.name().stringValue().equals("currentTimeMillis") -> `equalsString()` may be used. Regardless, is there a way to tell this call is indeed `System.currentTimeMillis()`? Might do that check in case a method on Currency with the same name is introduced (not likely though). ------------- PR Review: https://git.openjdk.org/jdk/pull/24701#pullrequestreview-2777025817 PR Review Comment: https://git.openjdk.org/jdk/pull/24701#discussion_r2049702515 PR Review Comment: https://git.openjdk.org/jdk/pull/24701#discussion_r2049704312