On Wed, 18 Aug 2021 18:35:53 GMT, Ian Graves <[email protected]> wrote:
>> 8271302: Regex Test Refresh
>
> Ian Graves has updated the pull request incrementally with one additional
> commit since the last revision:
>
> Couple of fixes
test/jdk/java/util/regex/NegativeArraySize.java line 2:
> 1: /*
> 2: * Copyright (c) 2019, 2021 Oracle and/or its affiliates. All rights
> reserved.
Add comma after 2021, or the copyright headers check won't pass.
test/jdk/java/util/regex/NegativeArraySize.java line 29:
> 27: * @summary Pattern.compile() can throw confusing
> NegativeArraySizeException
> 28: * @requires os.maxMemory >= 5g
> 29: * @run testng/othervm -Xms5G -Xmx5G NegativeArraySize
I note that the order of the arguments has changed. Will that work as expected?
Had it worked as expected before?
test/jdk/java/util/regex/NegativeArraySize.java line 40:
> 38: @Test
> 39: public static void testNegativeArraySize() {
> 40: assertThrows(OutOfMemoryError.class, () -> Pattern.compile("\\Q"
> + "a".repeat(42 + Integer.MAX_VALUE / 3)));
One observation on this regex. Although the regex looks invalid because `\\Q`
misses the pairing `\\E`, it can still be compiled (with a reasonable number of
a's, of course). Moreover, the resulting pattern matches strings in a
surprising way:
jshell> Pattern.compile("\\Qaaa").matcher("aaa").matches()
$1 ==> true
test/jdk/java/util/regex/RegExTest.java line 27:
> 25: * @test
> 26: * @summary tests RegExp framework (use -Dseed=X to set PRNG seed)
> 27: * @author Mike McCloskey
What happened to Mike here? :-)
test/jdk/java/util/regex/RegExTest.java line 121:
> 119: private static void check(String p, String s, boolean expected) {
> 120: Matcher matcher = Pattern.compile(p).matcher(s);
> 121: assertSame(matcher.find(), expected);
Why use `assertSame(Object, Object)`? I would expect `assertEquals(boolean,
boolean)`.
test/jdk/java/util/regex/RegExTest.java line 206:
> 204: }
> 205:
> 206: // Regular expression test// Most of the tests are in a file
Mistakenly joined comment lines?
-------------
PR: https://git.openjdk.java.net/jdk/pull/5092