diff -r 0f41ac6bb9dd -r e2ee246e44e3 test/hotspot/jtreg/runtime/cds/appcds/TestCommon.java --- a/test/hotspot/jtreg/runtime/cds/appcds/TestCommon.java Fri Nov 22 15:31:52 2019 -0800 +++ b/test/hotspot/jtreg/runtime/cds/appcds/TestCommon.java Fri Nov 22 15:32:00 2019 -0800 @@ -662,4 +662,24 @@ } return linkedJar; } + + // Remove all UL log messages from a JVM's STDOUT (such as those printed by -Xlog:cds) + static Pattern logPattern = Pattern.compile("^\\[[0-9. ]*s\\].*"); + public static String filterOutLogs(String stdout) { + StringBuilder sb = new StringBuilder(); + String prefix = ""; + for (String line : stdout.split("\n")) { + if (logPattern.matcher(line).matches()) { + continue; + } + sb.append(prefix); + sb.append(line); + prefix = "\n"; + } + if (stdout.endsWith("\n")) { + // String.split("A\n") returns {"A"}, not {"A", ""}. + sb.append("\n"); + } + return sb.toString(); + } }