changeset 18385:df47f69cda83

minor clean up of replay compilation test harness
author Doug Simon <doug.simon@oracle.com>
date Sun, 16 Nov 2014 16:24:14 +0100
parents 02e3feaaada1
children 3e5ed05b7e50
files graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/GraalCompilerTest.java
diffstat 1 files changed, 19 insertions(+), 27 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/GraalCompilerTest.java	Sun Nov 16 16:15:11 2014 +0100
+++ b/graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/GraalCompilerTest.java	Sun Nov 16 16:24:14 2014 +0100
@@ -685,7 +685,7 @@
      * Determines if a {@link #checkCompilationResultsEqual mismatching} replay compilation result
      * results in a diagnostic message or a test error.
      */
-    private static final boolean TEST_REPLAY_MISMATCH_IS_FAILURE = Boolean.getBoolean("graal.testReplay.strict");
+    private static final boolean TEST_REPLAY_MISMATCH_IS_FAILURE = Boolean.parseBoolean(System.getProperty("graal.testReplay.strict", "true"));
 
     /**
      * Directory into which tests can dump content useful in debugging test failures.
@@ -713,31 +713,25 @@
         }
     }
 
-    protected void checkCompilationResultsEqual(Context c, String prefix, CompilationResult expected, CompilationResult actual, ResolvedJavaMethod installedCodeOwner) {
+    protected void checkCompilationResultsEqual(CompilationResult expected, CompilationResult actual, ResolvedJavaMethod installedCodeOwner) {
         if (!actual.equals(expected)) {
-            Mode mode = c.getMode();
-            // Temporarily force capturing mode as dumping/printing/disassembling
+            // Reset to capturing mode as dumping/printing/disassembling
             // may need to execute proxy methods that have not yet been executed
-            c.setMode(Mode.Capturing);
-            try {
-                String expectedDisFile = dissasembleToFile(expected, installedCodeOwner, "expected");
-                String actualDisFile = dissasembleToFile(actual, installedCodeOwner, "actual");
-                String message = String.format("%s compilation result differs from expected compilation result", prefix);
-                if (expectedDisFile != null && actualDisFile != null) {
-                    message += String.format(" [diff %s %s]", expectedDisFile, actualDisFile);
-                }
-                if (TEST_REPLAY_MISMATCH_IS_FAILURE) {
-                    Assert.fail(message);
-                } else {
-                    System.out.println(message);
-                }
-            } finally {
-                c.setMode(mode);
+            String expectedDisFile = dissasembleToFile(expected, installedCodeOwner, "expected");
+            String actualDisFile = dissasembleToFile(actual, installedCodeOwner, "actual");
+            String message = "Reply compilation result differs from capturing compilation result";
+            if (expectedDisFile != null && actualDisFile != null) {
+                message += String.format(" [diff %s %s]", expectedDisFile, actualDisFile);
+            }
+            if (TEST_REPLAY_MISMATCH_IS_FAILURE) {
+                Assert.fail(message);
+            } else {
+                System.out.println(message);
             }
         }
     }
 
-    protected CompilationResult testRecompile(Context c, Mode mode, CompilationResult expectedResult, ResolvedJavaMethod installedCodeOwner) {
+    protected CompilationResult recompile(Context c, Mode mode, ResolvedJavaMethod installedCodeOwner) {
         try (Debug.Scope s = Debug.scope(mode.name(), new DebugDumpScope(mode.name(), true))) {
 
             StructuredGraph graphToCompile = parseForCompile(installedCodeOwner);
@@ -748,11 +742,7 @@
             Request<CompilationResult> request = c.get(new GraalCompiler.Request<>(graphToCompile, null, cc, installedCodeOwner, getProviders(), getBackend(), getCodeCache().getTarget(), null,
                             getDefaultGraphBuilderSuite(), OptimisticOptimizations.ALL, getProfilingInfo(graphToCompile), getSpeculationLog(), getSuites(), new CompilationResult(),
                             CompilationResultBuilderFactory.Default));
-            CompilationResult result = GraalCompiler.compile(request);
-            if (expectedResult != null) {
-                checkCompilationResultsEqual(c, mode.name(), expectedResult, result, installedCodeOwner);
-            }
-            return result;
+            return GraalCompiler.compile(request);
         } catch (Throwable e) {
             throw Debug.handle(e);
         }
@@ -762,10 +752,12 @@
         try (Context c = new Context()) {
 
             // Capturing compilation
-            CompilationResult expected = testRecompile(c, Mode.Capturing, null, installedCodeOwner);
+            CompilationResult expected = recompile(c, Mode.Capturing, installedCodeOwner);
 
             // Replay compilation
-            testRecompile(c, Mode.Replaying, expected, installedCodeOwner);
+            CompilationResult actual = recompile(c, Mode.Replaying, installedCodeOwner);
+
+            checkCompilationResultsEqual(expected, actual, installedCodeOwner);
         }
     }