aboutsummaryrefslogtreecommitdiff
path: root/test/core/src
diff options
context:
space:
mode:
authorRoel Spilker <r.spilker@gmail.com>2010-11-11 02:03:38 +0100
committerRoel Spilker <r.spilker@gmail.com>2010-11-11 02:03:38 +0100
commitddf54dcfaea71e50ae32b45785b8624b9137843b (patch)
treeb43f5733c138eb9602b0db2b0f88270ce5fc633b /test/core/src
parent1c323332493148f0aaa936e668e1b0da5d09c8be (diff)
parenteae3e45ae7dd965cc642d7f03b833574e974fc1b (diff)
downloadlombok-ddf54dcfaea71e50ae32b45785b8624b9137843b.tar.gz
lombok-ddf54dcfaea71e50ae32b45785b8624b9137843b.tar.bz2
lombok-ddf54dcfaea71e50ae32b45785b8624b9137843b.zip
Merge branch 'master' into lazyinit
Conflicts: src/core/lombok/javac/handlers/HandleGetter.java
Diffstat (limited to 'test/core/src')
-rw-r--r--test/core/src/lombok/AbstractRunTests.java16
-rw-r--r--test/core/src/lombok/DirectoryRunner.java8
-rw-r--r--test/core/src/lombok/RunTestsViaDelombok.java4
3 files changed, 19 insertions, 9 deletions
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 {
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<JavaFileObject>() {
@Override public void report(Diagnostic<? extends JavaFileObject> 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));
}