RFR: 8358697: java/awt/font/TextLayout/MyanmarTextTest.java gives false positive result when preconditions not met
Alexey Ivanov
aivanov at openjdk.org
Wed Jun 18 18:21:32 UTC 2025
On Wed, 18 Jun 2025 16:20:14 GMT, Manukumar V S <mvs at openjdk.org> wrote:
> Issue:
> MyanmarTextTest.java produces a false positive result when some of the test preconditions are not met. It checks whether certain fonts are present in the system, for example, 'Padauk' on Linux. If the required font is missing, the test simply returns early, and the test ends up passing, which is incorrect. Ideally, it should throw a jtreg.SkippedException when the necessary preconditions are not satisfied.
>
> Another scenario is that the test passes on headless machines even though it creates GUI components. Ideally, when GUI components are created in code running on a headless machine, a HeadlessException should be thrown. However, since MyanmarTextTest.java exits before reaching the point where the GUI is created (due to unmet preconditions), it incorrectly reports a pass. This behavior may lead to a misinterpretation of the test as being headless, which it is not.
>
> Fix:
> Need to throw jtreg.SkippedException in cases where some pre-conditions for running the test are not met.
>
> Testing:
> Tested using mach5 in all available platforms and got full PASS.
Changes requested by aivanov (Reviewer).
test/jdk/java/awt/font/TextLayout/MyanmarTextTest.java line 58:
> 56: private static final String FONT_LINUX = "Padauk";
> 57: private static final String FONT_MACOS = "Myanmar MN";
> 58: private static final String osName = System.getProperty("os.name").toLowerCase();
I would put this above the font names, and a blank line before and after its declaration.
test/jdk/java/awt/font/TextLayout/MyanmarTextTest.java line 69:
> 67: if (FONT_NAME == null) {
> 68: System.err.println("Unsupported OS: exiting");
> 69: throw new SkippedException("Unsupported OS: "+osName);
Suggestion:
throw new SkippedException("Unsupported OS: " + osName);
-------------
PR Review: https://git.openjdk.org/jdk/pull/25879#pullrequestreview-2940248798
PR Review Comment: https://git.openjdk.org/jdk/pull/25879#discussion_r2155225389
PR Review Comment: https://git.openjdk.org/jdk/pull/25879#discussion_r2155225704
More information about the client-libs-dev
mailing list