test/hotspot/jtreg/runtime/cds/appcds/TestCommon.java
changeset 59236 e2ee246e44e3
parent 58990 7f1d2c3a99da
--- 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();
+    }
 }