summaryrefslogtreecommitdiffstats
path: root/jack/tests
diff options
context:
space:
mode:
authorYohann Roussel <yroussel@google.com>2014-12-12 14:53:33 +0100
committerYohann Roussel <yroussel@google.com>2015-01-13 19:00:32 +0100
commit72a69488b2ac109bee04762f66696cf10492bc39 (patch)
treea8b6658dbfcbe66e89c20f977e2346b187a7b700 /jack/tests
parentf8512fa88990d0e567b0459b7618c67d5c942ddb (diff)
downloadtoolchain_jack-72a69488b2ac109bee04762f66696cf10492bc39.tar.gz
toolchain_jack-72a69488b2ac109bee04762f66696cf10492bc39.tar.bz2
toolchain_jack-72a69488b2ac109bee04762f66696cf10492bc39.zip
Use DexBuffer instead of dexdump in multidex tests
Bug: 18198750 Change-Id: Ic091f405584cf1857eb595fdbf9a97ed9cc8113c
Diffstat (limited to 'jack/tests')
-rw-r--r--jack/tests/com/android/jack/shrob/AbstractListingComparator.java40
-rw-r--r--jack/tests/com/android/jack/shrob/ListingComparator.java17
2 files changed, 52 insertions, 5 deletions
diff --git a/jack/tests/com/android/jack/shrob/AbstractListingComparator.java b/jack/tests/com/android/jack/shrob/AbstractListingComparator.java
index a40855ef..eb1b5808 100644
--- a/jack/tests/com/android/jack/shrob/AbstractListingComparator.java
+++ b/jack/tests/com/android/jack/shrob/AbstractListingComparator.java
@@ -24,6 +24,7 @@ import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
+import java.io.StringReader;
import java.util.logging.Level;
import java.util.logging.Logger;
@@ -31,6 +32,45 @@ import javax.annotation.CheckForNull;
import javax.annotation.Nonnull;
public abstract class AbstractListingComparator {
+ protected static interface Readable {
+ @Nonnull
+ BufferedReader openReader() throws IOException;
+ }
+
+ protected static class FileReadable implements Readable {
+
+ @Nonnull
+ private final File input;
+
+ protected FileReadable(@Nonnull File input) {
+ this.input = input;
+ }
+
+ @Nonnull
+ @Override
+ public BufferedReader openReader() throws IOException {
+ return new BufferedReader(new InputStreamReader(new FileInputStream(input)));
+ }
+
+ }
+
+ protected static class StringReadable implements Readable {
+
+ @Nonnull
+ private final String input;
+
+ protected StringReadable(@Nonnull String input) {
+ this.input = input;
+ }
+
+ @Nonnull
+ @Override
+ public BufferedReader openReader() {
+ return new BufferedReader(new StringReader(input));
+ }
+
+ }
+
protected static class ParseException extends IOException {
private static final long serialVersionUID = 1L;
diff --git a/jack/tests/com/android/jack/shrob/ListingComparator.java b/jack/tests/com/android/jack/shrob/ListingComparator.java
index e781b414..917ca259 100644
--- a/jack/tests/com/android/jack/shrob/ListingComparator.java
+++ b/jack/tests/com/android/jack/shrob/ListingComparator.java
@@ -35,14 +35,21 @@ public class ListingComparator extends AbstractListingComparator {
public static void compare(@Nonnull File reference, @Nonnull File candidate)
throws IOException, DifferenceFoundException {
- new ListingComparator().compareFiles(reference, candidate);
+ new ListingComparator().compareReadables(new FileReadable(reference),
+ new FileReadable(candidate));
}
- private void compareFiles(@Nonnull File reference, @Nonnull File candidate)
+ public static void compare(@Nonnull File reference, @Nonnull String candidate)
+ throws IOException, DifferenceFoundException {
+ new ListingComparator().compareReadables(new FileReadable(reference),
+ new StringReadable(candidate));
+ }
+
+ private void compareReadables(@Nonnull Readable reference, @Nonnull Readable candidate)
throws IOException, DifferenceFoundException {
List<String> candidateTypesList;
{
- BufferedReader candidateReader = createStreamReader(candidate);
+ BufferedReader candidateReader = candidate.openReader();
try {
candidateTypesList = getTypeList(candidateReader);
} finally {
@@ -50,7 +57,7 @@ public class ListingComparator extends AbstractListingComparator {
}
}
- BufferedReader referenceReader = createStreamReader(reference);
+ BufferedReader referenceReader = reference.openReader();
try {
String currentReferenceLine = referenceReader.readLine();
while (currentReferenceLine != null) {
@@ -61,7 +68,7 @@ public class ListingComparator extends AbstractListingComparator {
int typeIndex = candidateTypesList.indexOf(currentReferenceLine);
if (typeIndex != -1) {
candidateTypesList.remove(currentReferenceLine);
- BufferedReader candidateReader = createStreamReader(candidate);
+ BufferedReader candidateReader = candidate.openReader();
try {
if (findLine(currentReferenceLine, candidateReader)) {
currentReferenceLine = checkMembers(referenceReader, candidateReader, currentType);