diff options
author | Yohann Roussel <yroussel@google.com> | 2014-12-12 14:53:33 +0100 |
---|---|---|
committer | Yohann Roussel <yroussel@google.com> | 2015-01-13 19:00:32 +0100 |
commit | 72a69488b2ac109bee04762f66696cf10492bc39 (patch) | |
tree | a8b6658dbfcbe66e89c20f977e2346b187a7b700 /jack/tests | |
parent | f8512fa88990d0e567b0459b7618c67d5c942ddb (diff) | |
download | toolchain_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.java | 40 | ||||
-rw-r--r-- | jack/tests/com/android/jack/shrob/ListingComparator.java | 17 |
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); |