< prev index next >

src/utils/LogCompilation/src/test/java/com/sun/hotspot/tools/compiler/TestLogCompilation.java

Print this page

        

@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019 Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.

@@ -23,46 +23,70 @@
  */
 package com.sun.hotspot.tools.compiler;
 
 import java.util.Arrays;
 import java.util.Collection;
-import org.junit.Test;
 import org.junit.BeforeClass;
-import org.junit.experimental.categories.Category;
-import junit.framework.Assert;
-import org.junit.After;
-import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
 import org.junit.runners.Parameterized.Parameters;
-import static org.junit.Assert.*;
 
 @RunWith(value = Parameterized.class)
 public class TestLogCompilation {
 
     String logFile;
 
-    public TestLogCompilation(String logFile) {
-        this.logFile = logFile;
-    }
+    static final String setupArgsTiered[] = {
+        "java",
+        "-XX:+UnlockDiagnosticVMOptions",
+        "-XX:+LogCompilation",
+        "-XX:LogFile=target/tiered_short.log",
+        "-version"
+    };
+
+    static final String setupArgsNoTiered[] = {
+        "java",
+        "-XX:-TieredCompilation",
+        "-XX:+UnlockDiagnosticVMOptions",
+        "-XX:+LogCompilation",
+        "-XX:LogFile=target/no_tiered_short.log",
+        "-version"
+    };
+
+    static final String allSetupArgs[][] = {
+        setupArgsTiered,
+        setupArgsNoTiered
+    };
 
     @Parameters
     public static Collection data() {
         Object[][] data = new Object[][]{
-            // Simply running this jar with jdk-9 no args,
-            // no file (just prints the help)
-            {"./src/test/resources/hotspot_pid23756.log"},
-            // LogCompilation output of running on above file
-            {"./src/test/resources/hotspot_pid25109.log"},
-            {"./src/test/resources/no_tiered_short.log"},
-            {"./src/test/resources/tiered_short.log"}
-
+            // Take care these match whats created in the setup method
+            {"./target/tiered_short.log"},
+            {"./target/no_tiered_short.log"}
         };
         return Arrays.asList(data);
     }
 
+    @BeforeClass
+    public static void setup() {
+        try {
+            for (String[] setupArgs : allSetupArgs) {
+                Process p = Runtime.getRuntime().exec(setupArgs);
+                p.waitFor();
+                assert p.exitValue() == 0 : "setup failed on " + setupArgs;
+            }
+        } catch (Exception e) {
+            System.out.println(e + ": exec failed:" + setupArgsNoTiered[0]);
+        }
+    }
+
+    public TestLogCompilation(String logFile) {
+        this.logFile = logFile;
+    }
+
     @Test
     public void testDashi() throws Exception {
         String[] args = {"-i",
             logFile
         };
< prev index next >