From 632027249b813bfabd457c07ebc89c4456e8175d Mon Sep 17 00:00:00 2001 From: Reinier Zwitserloot Date: Wed, 10 Nov 2010 22:19:46 +0100 Subject: All tests pass! - The test framework has been updated a bit to fit with the new way delombok works. --- test/core/src/lombok/AbstractRunTests.java | 16 +++++++++++++--- test/core/src/lombok/DirectoryRunner.java | 8 +++----- 2 files changed, 16 insertions(+), 8 deletions(-) (limited to 'test/core/src') diff --git a/test/core/src/lombok/AbstractRunTests.java b/test/core/src/lombok/AbstractRunTests.java index 7d5992be..7bf2f452 100644 --- a/test/core/src/lombok/AbstractRunTests.java +++ b/test/core/src/lombok/AbstractRunTests.java @@ -28,6 +28,7 @@ import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; +import java.io.StringReader; import java.io.StringWriter; import java.util.ArrayList; import java.util.List; @@ -35,17 +36,26 @@ import java.util.List; public abstract class AbstractRunTests { protected static final String LINE_SEPARATOR = System.getProperty("line.separator"); - public void compareFile(DirectoryRunner.TestParams params, File file) throws Throwable { + public boolean compareFile(DirectoryRunner.TestParams params, File file) throws Throwable { StringBuilder messages = new StringBuilder(); StringWriter writer = new StringWriter(); transformCode(messages, writer, file); + String expectedFile = readFile(params.getAfterDirectory(), file, false); + String expectedMessages = readFile(params.getMessagesDirectory(), file, true); + + StringReader r = new StringReader(expectedFile); + BufferedReader br = new BufferedReader(r); + if ("//ignore".equals(br.readLine())) return false; + compare( file.getName(), - readFile(params.getAfterDirectory(), file, false), + expectedFile, writer.toString(), - readFile(params.getMessagesDirectory(), file, true), + expectedMessages, messages.toString(), params.printErrors()); + + return true; } protected abstract void transformCode(StringBuilder message, StringWriter result, File file) throws Throwable; diff --git a/test/core/src/lombok/DirectoryRunner.java b/test/core/src/lombok/DirectoryRunner.java index 89fe6ab0..f84198f8 100644 --- a/test/core/src/lombok/DirectoryRunner.java +++ b/test/core/src/lombok/DirectoryRunner.java @@ -118,15 +118,13 @@ public class DirectoryRunner extends Runner { } switch (params.getCompiler()) { case DELOMBOK: - new RunTestsViaDelombok().compareFile(params, file); - break; + return new RunTestsViaDelombok().compareFile(params, file); case ECJ: - new RunTestsViaEcj().compareFile(params, file); - break; + return new RunTestsViaEcj().compareFile(params, file); + default: case JAVAC: throw new UnsupportedOperationException(); } - return true; } private boolean mustIgnore(File file) throws FileNotFoundException, IOException { -- cgit From a0847b4c380026bb3599e8ae37a5157521fbd9e6 Mon Sep 17 00:00:00 2001 From: Reinier Zwitserloot Date: Wed, 10 Nov 2010 23:48:30 +0100 Subject: Tests were failing due to a bug in the compare error output part of the test runner. --- test/core/src/lombok/RunTestsViaDelombok.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'test/core/src') diff --git a/test/core/src/lombok/RunTestsViaDelombok.java b/test/core/src/lombok/RunTestsViaDelombok.java index 59a0ee89..bcaa66a2 100644 --- a/test/core/src/lombok/RunTestsViaDelombok.java +++ b/test/core/src/lombok/RunTestsViaDelombok.java @@ -45,7 +45,9 @@ public class RunTestsViaDelombok extends AbstractRunTests { delombok.setDiagnosticsListener(new DiagnosticListener() { @Override public void report(Diagnostic d) { String msg = d.getMessage(Locale.ENGLISH); - Matcher m = Pattern.compile("^" + Pattern.quote(file.getAbsolutePath()) + "\\s*:\\s*\\d+\\s*:\\s*(?:warning:\\s*)?(.*)$").matcher(msg); + Matcher m = Pattern.compile( + "^" + Pattern.quote(file.getAbsolutePath()) + + "\\s*:\\s*\\d+\\s*:\\s*(?:warning:\\s*)?(.*)$", Pattern.DOTALL).matcher(msg); if (m.matches()) msg = m.group(1); messages.append(String.format("%d:%d %s %s\n", d.getLineNumber(), d.getColumnNumber(), d.getKind(), msg)); } -- cgit