summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPaulo Casanova <pasc@google.com>2016-11-17 15:35:10 +0000
committerPaulo Casanova <pasc@google.com>2016-11-17 16:04:51 +0000
commit79db1d6e059d54dded58330a7bfb535f3d1eb3e6 (patch)
treee2fd419ba00daf876872b9d7fba592ffd31ddf48 /src
parentbef0e6c1908d40200ffa04cb3d6aed648e7b45d1 (diff)
downloadapkzlib-79db1d6e059d54dded58330a7bfb535f3d1eb3e6.tar.gz
Fix bazel tests on apkzlib.
Test: This is what was actually fixed :) Change-Id: Idb2bb328896586dc54ff375ad5dd077cfc80f314
Diffstat (limited to 'src')
-rw-r--r--src/test/java/com/android/apkzlib/utils/ApkZFileTestUtils.java19
-rw-r--r--src/test/java/com/android/apkzlib/zip/ZipMergeTest.java19
-rw-r--r--src/test/java/com/android/apkzlib/zip/ZipTestUtils.java28
-rw-r--r--src/test/java/com/android/apkzlib/zip/ZipToolsTest.java43
-rw-r--r--src/test/java/com/android/apkzlib/zip/compress/MultiCompressorTest.java11
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 {