diff options
author | Paulo Casanova <pasc@google.com> | 2016-11-17 15:35:10 +0000 |
---|---|---|
committer | Paulo Casanova <pasc@google.com> | 2016-11-17 16:04:51 +0000 |
commit | 79db1d6e059d54dded58330a7bfb535f3d1eb3e6 (patch) | |
tree | e2fd419ba00daf876872b9d7fba592ffd31ddf48 /src | |
parent | bef0e6c1908d40200ffa04cb3d6aed648e7b45d1 (diff) | |
download | apkzlib-79db1d6e059d54dded58330a7bfb535f3d1eb3e6.tar.gz |
Fix bazel tests on apkzlib.
Test: This is what was actually fixed :)
Change-Id: Idb2bb328896586dc54ff375ad5dd077cfc80f314
Diffstat (limited to 'src')
5 files changed, 55 insertions, 65 deletions
diff --git a/src/test/java/com/android/apkzlib/utils/ApkZFileTestUtils.java b/src/test/java/com/android/apkzlib/utils/ApkZFileTestUtils.java index bb379b5..380bb51 100644 --- a/src/test/java/com/android/apkzlib/utils/ApkZFileTestUtils.java +++ b/src/test/java/com/android/apkzlib/utils/ApkZFileTestUtils.java @@ -19,13 +19,14 @@ package com.android.apkzlib.utils; import static org.junit.Assert.assertTrue; import com.android.annotations.NonNull; +import com.android.testutils.TestResources; import com.google.common.base.Preconditions; +import com.google.common.io.ByteSource; import com.google.common.io.Resources; import java.io.EOFException; import java.io.File; import java.io.IOException; import java.io.RandomAccessFile; -import java.net.URL; /** * Utility functions for tests. @@ -73,22 +74,20 @@ public final class ApkZFileTestUtils { */ @NonNull public static File getResource(@NonNull String path) { - URL url = Resources.getResource(ApkZFileTestUtils.class, path); - File resource = new File(url.getFile()); + File resource = TestResources.getFile(ApkZFileTestUtils.class, path); assertTrue(resource.exists()); return resource; } /** - * Sleeps the current thread for enough time to ensure that the local file system had enough - * time to notice a "tick". This method is usually called in tests when it is necessary to - * ensure filesystem writes are detected through timestamp modification. + * Obtains the test resource with the given path. * - * @throws InterruptedException waiting interrupted - * @throws IOException issues creating a temporary file + * @param path the path + * @return the test resource */ - public static void waitForFileSystemTick() throws InterruptedException, IOException { - waitForFileSystemTick(getFreshTimestamp()); + @NonNull + public static ByteSource getResourceBytes(@NonNull String path) { + return Resources.asByteSource(Resources.getResource(ApkZFileTestUtils.class, path)); } /** diff --git a/src/test/java/com/android/apkzlib/zip/ZipMergeTest.java b/src/test/java/com/android/apkzlib/zip/ZipMergeTest.java index aa3e787..0090bc7 100644 --- a/src/test/java/com/android/apkzlib/zip/ZipMergeTest.java +++ b/src/test/java/com/android/apkzlib/zip/ZipMergeTest.java @@ -28,17 +28,14 @@ import com.google.common.base.Charsets; import com.google.common.hash.Hashing; import com.google.common.io.ByteStreams; import com.google.common.io.Closer; -import com.google.common.io.Files; - -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.TemporaryFolder; - import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileOutputStream; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.TemporaryFolder; public class ZipMergeTest { @Rule @@ -96,7 +93,7 @@ public class ZipMergeTest { public void mergeZipWithDeferredCrc() throws Exception { File foo = mTemporaryFolder.newFile("foo"); - byte[] wBytes = Files.toByteArray(ZipTestUtils.rsrcFile("text-files/wikipedia.html")); + byte[] wBytes = ZipTestUtils.rsrcBytes("text-files/wikipedia.html"); try (ZipOutputStream fooOut = new ZipOutputStream(new FileOutputStream(foo))) { fooOut.putNextEntry(new ZipEntry("w")); @@ -127,8 +124,8 @@ public class ZipMergeTest { public void mergeZipKeepsDeflatedAndStored() throws Exception { File foo = mTemporaryFolder.newFile("foo"); - byte[] wBytes = Files.toByteArray(ZipTestUtils.rsrcFile("text-files/wikipedia.html")); - byte[] lBytes = Files.toByteArray(ZipTestUtils.rsrcFile("images/lena.png")); + byte[] wBytes = ZipTestUtils.rsrcBytes("text-files/wikipedia.html"); + byte[] lBytes = ZipTestUtils.rsrcBytes("images/lena.png"); try (ZipOutputStream fooOut = new ZipOutputStream(new FileOutputStream(foo))) { fooOut.putNextEntry(new ZipEntry("w")); @@ -175,8 +172,8 @@ public class ZipMergeTest { public void mergeZipWithSorting() throws Exception { File foo = mTemporaryFolder.newFile("foo"); - byte[] wBytes = Files.toByteArray(ZipTestUtils.rsrcFile("text-files/wikipedia.html")); - byte[] lBytes = Files.toByteArray(ZipTestUtils.rsrcFile("images/lena.png")); + byte[] wBytes = ZipTestUtils.rsrcBytes("text-files/wikipedia.html"); + byte[] lBytes = ZipTestUtils.rsrcBytes("images/lena.png"); try (ZipOutputStream fooOut = new ZipOutputStream(new FileOutputStream(foo))) { fooOut.putNextEntry(new ZipEntry("w")); diff --git a/src/test/java/com/android/apkzlib/zip/ZipTestUtils.java b/src/test/java/com/android/apkzlib/zip/ZipTestUtils.java index d9c6aa8..9c67cff 100644 --- a/src/test/java/com/android/apkzlib/zip/ZipTestUtils.java +++ b/src/test/java/com/android/apkzlib/zip/ZipTestUtils.java @@ -17,16 +17,13 @@ package com.android.apkzlib.zip; import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; import com.android.annotations.NonNull; import com.android.apkzlib.utils.ApkZFileTestUtils; import com.google.common.io.Files; - -import org.junit.rules.TemporaryFolder; - import java.io.File; import java.io.IOException; +import org.junit.rules.TemporaryFolder; /** * Utility method for zip tests. @@ -34,19 +31,15 @@ import java.io.IOException; class ZipTestUtils { /** - * Obtains the file with a resource with the given name. This is a file that lays in - * the packaging subdirectory of test resources. + * Obtains the data of a resource with the given name. * * @param rsrcName the resource name inside packaging resource folder - * @return the resource file, guaranteed to exist + * @return the resource data + * @throws IOException I/O failed */ @NonNull - static File rsrcFile(@NonNull String rsrcName) { - File packagingRoot = ApkZFileTestUtils.getResource("/testData/packaging"); - String rsrcPath = packagingRoot.getAbsolutePath() + "/" + rsrcName; - File rsrcFile = new File(rsrcPath); - assertTrue(rsrcFile.isFile()); - return rsrcFile; + static byte[] rsrcBytes(@NonNull String rsrcName) throws IOException { + return ApkZFileTestUtils.getResourceBytes("/testData/packaging/" + rsrcName).read(); } /** @@ -83,12 +76,15 @@ class ZipTestUtils { * @return the file that was created with the resource * @throws IOException failed to clone the resource */ - static File cloneRsrc(@NonNull String rsrcName, @NonNull TemporaryFolder folder, - @NonNull String cloneName) throws IOException { + static File cloneRsrc( + @NonNull String rsrcName, + @NonNull TemporaryFolder folder, + @NonNull String cloneName) + throws IOException { File result = new File(folder.getRoot(), cloneName); assertFalse(result.exists()); - Files.copy(rsrcFile(rsrcName), result); + Files.write(rsrcBytes(rsrcName), result); return result; } } diff --git a/src/test/java/com/android/apkzlib/zip/ZipToolsTest.java b/src/test/java/com/android/apkzlib/zip/ZipToolsTest.java index e7f837e..b9dbc8d 100644 --- a/src/test/java/com/android/apkzlib/zip/ZipToolsTest.java +++ b/src/test/java/com/android/apkzlib/zip/ZipToolsTest.java @@ -30,23 +30,20 @@ import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.io.ByteStreams; import com.google.common.io.Files; - -import org.junit.Assume; -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.TemporaryFolder; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; - import java.io.ByteArrayInputStream; import java.io.File; -import java.io.FileInputStream; import java.io.InputStream; import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; +import org.junit.Assume; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.TemporaryFolder; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; @RunWith(Parameterized.class) public class ZipToolsTest { @@ -103,7 +100,7 @@ public class ZipToolsTest { private File cloneZipFile() throws Exception { File zfile = mTemporaryFolder.newFile("file.zip"); - Files.copy(ZipTestUtils.rsrcFile(mZipFile), zfile); + Files.write(ZipTestUtils.rsrcBytes(mZipFile), zfile); return zfile; } @@ -115,7 +112,7 @@ public class ZipToolsTest { byte[] inZipData = ByteStreams.toByteArray(is); is.close(); - byte[] inFileData = Files.toByteArray(ZipTestUtils.rsrcFile(name)); + byte[] inFileData = ZipTestUtils.rsrcBytes(name); assertArrayEquals(inFileData, inZipData); } @@ -156,14 +153,18 @@ public class ZipToolsTest { File zfile = new File (mTemporaryFolder.getRoot(), "zfile.zip"); try (ZFile zf = new ZFile(zfile, options)) { - zf.add("root", new FileInputStream(ZipTestUtils.rsrcFile("root"))); + zf.add("root", new ByteArrayInputStream(ZipTestUtils.rsrcBytes("root"))); zf.add("images/", new ByteArrayInputStream(new byte[0])); - zf.add("images/lena.png", new FileInputStream(ZipTestUtils.rsrcFile("images/lena.png"))); + zf.add( + "images/lena.png", + new ByteArrayInputStream(ZipTestUtils.rsrcBytes("images/lena.png"))); zf.add("text-files/", new ByteArrayInputStream(new byte[0])); - zf.add("text-files/rfc2460.txt", new FileInputStream( - ZipTestUtils.rsrcFile("text-files/rfc2460.txt"))); - zf.add("text-files/wikipedia.html", - new FileInputStream(ZipTestUtils.rsrcFile("text-files/wikipedia.html"))); + zf.add( + "text-files/rfc2460.txt", + new ByteArrayInputStream(ZipTestUtils.rsrcBytes("text-files/rfc2460.txt"))); + zf.add( + "text-files/wikipedia.html", + new ByteArrayInputStream(ZipTestUtils.rsrcBytes("text-files/wikipedia.html"))); } List<String> command = Lists.newArrayList(mUnzipCommand); @@ -200,13 +201,13 @@ public class ZipToolsTest { assertSize(new String[] { "images/", "images" }, 0, sizes); assertSize(new String[] { "text-files/", "text-files"}, 0, sizes); - assertSize(new String[] { "root" }, ZipTestUtils.rsrcFile("root").length(), sizes); + assertSize(new String[] { "root" }, ZipTestUtils.rsrcBytes("root").length, sizes); assertSize(new String[] { "images/lena.png", "images\\lena.png" }, - ZipTestUtils.rsrcFile("images/lena.png").length(), sizes); + ZipTestUtils.rsrcBytes("images/lena.png").length, sizes); assertSize(new String[] { "text-files/rfc2460.txt", "text-files\\rfc2460.txt" }, - ZipTestUtils.rsrcFile("text-files/rfc2460.txt").length(), sizes); + ZipTestUtils.rsrcBytes("text-files/rfc2460.txt").length, sizes); assertSize(new String[] { "text-files/wikipedia.html", "text-files\\wikipedia.html" }, - ZipTestUtils.rsrcFile("text-files/wikipedia.html").length(), sizes); + ZipTestUtils.rsrcBytes("text-files/wikipedia.html").length, sizes); } private static void assertSize(String[] names, long size, Map<String, Integer> sizes) { diff --git a/src/test/java/com/android/apkzlib/zip/compress/MultiCompressorTest.java b/src/test/java/com/android/apkzlib/zip/compress/MultiCompressorTest.java index 97903b2..f19962c 100644 --- a/src/test/java/com/android/apkzlib/zip/compress/MultiCompressorTest.java +++ b/src/test/java/com/android/apkzlib/zip/compress/MultiCompressorTest.java @@ -20,13 +20,12 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; +import com.android.apkzlib.utils.ApkZFileTestUtils; import com.android.apkzlib.zip.CentralDirectoryHeaderCompressInfo; import com.android.apkzlib.zip.CompressionMethod; import com.android.apkzlib.zip.StoredEntry; import com.android.apkzlib.zip.ZFile; import com.android.apkzlib.zip.ZFileOptions; -import com.android.apkzlib.utils.ApkZFileTestUtils; -import com.google.common.io.Files; import com.google.common.util.concurrent.MoreExecutors; import java.io.ByteArrayInputStream; import java.io.File; @@ -40,11 +39,9 @@ public class MultiCompressorTest { public TemporaryFolder mTemporaryFolder = new TemporaryFolder(); private static byte[] getCompressibleData() throws Exception { - File textFiles = ApkZFileTestUtils.getResource("/testData/packaging/text-files"); - assertTrue(textFiles.isDirectory()); - File wikipediaFile = new File(textFiles, "wikipedia.html"); - assertTrue(wikipediaFile.isFile()); - return Files.asByteSource(wikipediaFile).read(); + return ApkZFileTestUtils + .getResourceBytes("/testData/packaging/text-files/wikipedia.html") + .read(); } private static byte[] compress(byte[] data, int level) throws Exception { |