From 17cc5df6a1ad4ccb5489dddc3c41a563f49399b1 Mon Sep 17 00:00:00 2001 From: Pavel Marek Date: Fri, 31 Jan 2025 12:50:02 +0100 Subject: [PATCH] CompilerTest.assertIR uses IGV dumper --- .../org/enso/compiler/test/CompilerTests.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/engine/runtime-integration-tests/src/test/java/org/enso/compiler/test/CompilerTests.java b/engine/runtime-integration-tests/src/test/java/org/enso/compiler/test/CompilerTests.java index 42a8cbd6735b..524f54f83d03 100644 --- a/engine/runtime-integration-tests/src/test/java/org/enso/compiler/test/CompilerTests.java +++ b/engine/runtime-integration-tests/src/test/java/org/enso/compiler/test/CompilerTests.java @@ -12,8 +12,11 @@ import org.enso.compiler.core.IR; import org.enso.compiler.core.ir.Expression; import org.enso.compiler.core.ir.Module; +import org.enso.test.utils.IRDumperTestWrapper; public abstract class CompilerTests { + private static IRDumperTestWrapper irDumper = new IRDumperTestWrapper(); + protected static Module parse(CharSequence code) { Module ir = EnsoParser.compile(code); assertNotNull("IR was generated", ir); @@ -52,7 +55,18 @@ public static void assertEqualsIR(String msg, String testName, IR old, IR now) StandardOpenOption.TRUNCATE_EXISTING, StandardOpenOption.CREATE, StandardOpenOption.WRITE); - fail("IRs contained in files " + file1 + " and " + file2 + " should equal: " + msg); + irDumper.dump(old, "CompilerTest", "old"); + irDumper.dump(now, "CompilerTest", "now"); + var errMsg = new StringBuilder(); + errMsg.append("IRs differ: ").append(msg).append(System.lineSeparator()); + errMsg + .append("Contained in files: ") + .append(file1.toAbsolutePath()) + .append(" and ") + .append(file2.toAbsolutePath()) + .append(System.lineSeparator()); + errMsg.append("Also dumped to IGV graphs named 'CompilerTest'"); + fail(errMsg.toString()); } }