You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by bo...@apache.org on 2017/07/06 07:07:34 UTC
[5/7] commons-compress git commit: Random coveralls bait.
Random coveralls bait.
Signed-off-by: Simon Spero <se...@gmail.com>
Project: http://git-wip-us.apache.org/repos/asf/commons-compress/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-compress/commit/ffa1c55e
Tree: http://git-wip-us.apache.org/repos/asf/commons-compress/tree/ffa1c55e
Diff: http://git-wip-us.apache.org/repos/asf/commons-compress/diff/ffa1c55e
Branch: refs/heads/master
Commit: ffa1c55e7f9d8808e4e440effe78e31aa89a4ec1
Parents: 983fcdc
Author: Simon Spero <se...@gmail.com>
Authored: Sat Jun 24 16:53:26 2017 -0400
Committer: Stefan Bodewig <bo...@apache.org>
Committed: Thu Jul 6 09:07:16 2017 +0200
----------------------------------------------------------------------
.../commons/compress/archivers/sevenz/CLI.java | 2 +-
.../compress/archivers/zip/AsiExtraField.java | 16 ++++----
.../compress/archivers/arj/CoverageTest.java | 23 +++++++++++
.../compress/archivers/jar/JarMarkerTest.java | 39 +++++++++++++++++++
.../compress/archivers/sevenz/CoverageTest.java | 24 ++++++++++++
.../compress/archivers/zip/BinaryTreeTest.java | 24 ++++++++++++
.../archivers/zip/ExplodeSupportTest.java | 18 +++++++++
.../archivers/zip/ExtraFieldUtilsTest.java | 12 ++++++
.../archivers/zip/PkWareExtraHeaderTest.java | 28 +++++++++++++
.../archivers/zip/StreamCompressorTest.java | 23 ++++++++---
.../archivers/zip/ZipClassCoverageTest.java | 41 ++++++++++++++++++++
11 files changed, 236 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/commons-compress/blob/ffa1c55e/src/main/java/org/apache/commons/compress/archivers/sevenz/CLI.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/compress/archivers/sevenz/CLI.java b/src/main/java/org/apache/commons/compress/archivers/sevenz/CLI.java
index 58e52ee..0db5a42 100644
--- a/src/main/java/org/apache/commons/compress/archivers/sevenz/CLI.java
+++ b/src/main/java/org/apache/commons/compress/archivers/sevenz/CLI.java
@@ -23,7 +23,6 @@ import java.io.IOException;
public class CLI {
- private static final byte[] BUF = new byte[8192];
private static enum Mode {
LIST("Analysing") {
@@ -65,6 +64,7 @@ public class CLI {
}
},
EXTRACT("Extracting") {
+ private final byte[] BUF = new byte[8192];
@Override
public void takeAction(final SevenZFile archive, final SevenZArchiveEntry entry)
throws IOException {
http://git-wip-us.apache.org/repos/asf/commons-compress/blob/ffa1c55e/src/main/java/org/apache/commons/compress/archivers/zip/AsiExtraField.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/compress/archivers/zip/AsiExtraField.java b/src/main/java/org/apache/commons/compress/archivers/zip/AsiExtraField.java
index e4afa95..4d8b65c 100644
--- a/src/main/java/org/apache/commons/compress/archivers/zip/AsiExtraField.java
+++ b/src/main/java/org/apache/commons/compress/archivers/zip/AsiExtraField.java
@@ -325,13 +325,13 @@ public class AsiExtraField implements ZipExtraField, UnixStat, Cloneable {
@Override
public Object clone() {
- try {
- final AsiExtraField cloned = (AsiExtraField) super.clone();
- cloned.crc = new CRC32();
- return cloned;
- } catch (final CloneNotSupportedException cnfe) {
- // impossible
- throw new RuntimeException(cnfe); //NOSONAR
- }
+ AsiExtraField cloned = new AsiExtraField();
+ cloned.mode = mode;
+ cloned.uid = uid;
+ cloned.gid =gid;
+ cloned.link = link;
+ cloned.dirFlag = dirFlag;
+ cloned.crc = new CRC32();
+ return cloned;
}
}
http://git-wip-us.apache.org/repos/asf/commons-compress/blob/ffa1c55e/src/test/java/org/apache/commons/compress/archivers/arj/CoverageTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/compress/archivers/arj/CoverageTest.java b/src/test/java/org/apache/commons/compress/archivers/arj/CoverageTest.java
new file mode 100644
index 0000000..bd394f7
--- /dev/null
+++ b/src/test/java/org/apache/commons/compress/archivers/arj/CoverageTest.java
@@ -0,0 +1,23 @@
+package org.apache.commons.compress.archivers.arj;
+
+import static org.junit.Assert.assertNotNull;
+
+import org.apache.commons.compress.archivers.arj.ArjArchiveEntry.HostOs;
+import org.junit.Test;
+
+public class CoverageTest {
+
+ @Test
+ public void testHostOsInstance() {
+ HostOs hostOs = new HostOs();
+ assertNotNull(hostOs);
+ }
+ @Test
+ public void testHeaderInstances() {
+ assertNotNull(new LocalFileHeader.FileTypes());
+ assertNotNull(new LocalFileHeader.Methods());
+ assertNotNull(new LocalFileHeader.Flags());
+ assertNotNull(new MainHeader.Flags());
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/commons-compress/blob/ffa1c55e/src/test/java/org/apache/commons/compress/archivers/jar/JarMarkerTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/compress/archivers/jar/JarMarkerTest.java b/src/test/java/org/apache/commons/compress/archivers/jar/JarMarkerTest.java
new file mode 100644
index 0000000..507a814
--- /dev/null
+++ b/src/test/java/org/apache/commons/compress/archivers/jar/JarMarkerTest.java
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.commons.compress.archivers.jar;
+
+import static org.junit.Assert.fail;
+
+import java.util.zip.ZipException;
+import org.apache.commons.compress.archivers.zip.JarMarker;
+import org.junit.Test;
+
+public class JarMarkerTest {
+
+ @Test public void testJarMarkerLengthCheck() {
+ JarMarker jarMarker = JarMarker.getInstance();
+ try {
+ jarMarker.parseFromLocalFileData(null,0,1);
+ fail("should have thrown exception due to length of 1");
+ } catch (ZipException e) {
+
+ }
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/commons-compress/blob/ffa1c55e/src/test/java/org/apache/commons/compress/archivers/sevenz/CoverageTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/compress/archivers/sevenz/CoverageTest.java b/src/test/java/org/apache/commons/compress/archivers/sevenz/CoverageTest.java
new file mode 100644
index 0000000..c6801ae
--- /dev/null
+++ b/src/test/java/org/apache/commons/compress/archivers/sevenz/CoverageTest.java
@@ -0,0 +1,24 @@
+package org.apache.commons.compress.archivers.sevenz;
+
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.fail;
+
+import org.junit.Test;
+
+public class CoverageTest {
+
+ @Test public void testNidInstance() {
+ assertNotNull(new NID());
+ }
+
+ @Test public void testCLIInstance() {
+ CLI foo = new CLI();
+ assertNotNull(foo);
+ try {
+ CLI.main(new String[]{"/dev/null/not-there"});
+ fail("shouldn't be able to list contents of a file that isn't there");
+ } catch (Exception ignored) {
+
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/commons-compress/blob/ffa1c55e/src/test/java/org/apache/commons/compress/archivers/zip/BinaryTreeTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/compress/archivers/zip/BinaryTreeTest.java b/src/test/java/org/apache/commons/compress/archivers/zip/BinaryTreeTest.java
index 930df01..fc0e94a 100644
--- a/src/test/java/org/apache/commons/compress/archivers/zip/BinaryTreeTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/zip/BinaryTreeTest.java
@@ -47,4 +47,28 @@ public class BinaryTreeTest {
assertEquals(6, tree.read(stream));
assertEquals(7, tree.read(stream));
}
+ @Test
+ public void testExceptions() {
+ BinaryTree binaryFinary = new BinaryTree(4);
+ binaryFinary.addLeaf(0,0,0,1);
+ try {
+ binaryFinary.addLeaf(0,0,0,1);
+ fail("should have thrown illegalArgumentException");
+ } catch (IllegalArgumentException e) {
+ }
+
+ InputStream is = new ByteArrayInputStream(new byte[]{});
+ try {
+ BinaryTree.decode(is,0);
+ fail("should have thrown IOException");
+ } catch (IOException e) {
+
+ }
+ binaryFinary = new BinaryTree(4);
+ try {
+ binaryFinary.read(new BitStream(new ByteArrayInputStream(new byte[] {0})));
+ fail("expected read fail");
+ } catch (IOException e) {
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/commons-compress/blob/ffa1c55e/src/test/java/org/apache/commons/compress/archivers/zip/ExplodeSupportTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/compress/archivers/zip/ExplodeSupportTest.java b/src/test/java/org/apache/commons/compress/archivers/zip/ExplodeSupportTest.java
index 5716fd7..13bdb53 100644
--- a/src/test/java/org/apache/commons/compress/archivers/zip/ExplodeSupportTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/zip/ExplodeSupportTest.java
@@ -20,6 +20,8 @@
package org.apache.commons.compress.archivers.zip;
import static org.junit.Assert.*;
+
+import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
@@ -99,4 +101,20 @@ public class ExplodeSupportTest {
testZipStreamWithImplodeCompression("target/test-classes/moby-imploded.zip", "README");
}
+ @Test
+ public void testConstructorThrowsExceptions() {
+ try {
+ ExplodingInputStream eis = new ExplodingInputStream(4095,2,new ByteArrayInputStream(new byte[] {}));
+ fail("should have failed with illegal argument exception");
+ } catch (IllegalArgumentException e) {
+ }
+
+ try {
+ ExplodingInputStream eis = new ExplodingInputStream(4096,4,new ByteArrayInputStream(new byte[] {}));
+ fail("should have failed with illegal argument exception");
+ } catch (IllegalArgumentException e) {
+ }
+
+ }
+
}
http://git-wip-us.apache.org/repos/asf/commons-compress/blob/ffa1c55e/src/test/java/org/apache/commons/compress/archivers/zip/ExtraFieldUtilsTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/compress/archivers/zip/ExtraFieldUtilsTest.java b/src/test/java/org/apache/commons/compress/archivers/zip/ExtraFieldUtilsTest.java
index afa122e..3803817 100644
--- a/src/test/java/org/apache/commons/compress/archivers/zip/ExtraFieldUtilsTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/zip/ExtraFieldUtilsTest.java
@@ -93,6 +93,18 @@ public class ExtraFieldUtilsTest implements UnixStat {
e.getMessage());
}
}
+ @Test
+ public void testParseCentral() throws Exception {
+ final ZipExtraField[] ze = ExtraFieldUtils.parse(data,false);
+ assertEquals("number of fields", 2, ze.length);
+ assertTrue("type field 1", ze[0] instanceof AsiExtraField);
+ assertEquals("mode field 1", 040755,
+ ((AsiExtraField) ze[0]).getMode());
+ assertTrue("type field 2", ze[1] instanceof UnrecognizedExtraField);
+ assertEquals("data length field 2", 1,
+ ze[1].getCentralDirectoryLength().getValue());
+
+ }
@Test
public void testParseWithRead() throws Exception {
http://git-wip-us.apache.org/repos/asf/commons-compress/blob/ffa1c55e/src/test/java/org/apache/commons/compress/archivers/zip/PkWareExtraHeaderTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/compress/archivers/zip/PkWareExtraHeaderTest.java b/src/test/java/org/apache/commons/compress/archivers/zip/PkWareExtraHeaderTest.java
new file mode 100644
index 0000000..315a189
--- /dev/null
+++ b/src/test/java/org/apache/commons/compress/archivers/zip/PkWareExtraHeaderTest.java
@@ -0,0 +1,28 @@
+package org.apache.commons.compress.archivers.zip;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import org.apache.commons.compress.archivers.zip.PKWareExtraHeader.EncryptionAlgorithm;
+import org.apache.commons.compress.archivers.zip.PKWareExtraHeader.HashAlgorithm;
+import org.junit.Test;
+
+public class PkWareExtraHeaderTest {
+
+ @Test public void testEncryptionAlgorithm() {
+ String name = "AES256";
+ int code = EncryptionAlgorithm.AES256.getCode();
+ EncryptionAlgorithm e = EncryptionAlgorithm.valueOf(name);
+ assertEquals(code,e.getCode());
+ assertNotNull(e);
+ }
+
+ @Test public void testHashAlgorithm() {
+ String name = "SHA256";
+ int code = HashAlgorithm.SHA256.getCode();
+ HashAlgorithm e = HashAlgorithm.valueOf(name);
+ assertEquals(code,e.getCode());
+ assertNotNull(e);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/commons-compress/blob/ffa1c55e/src/test/java/org/apache/commons/compress/archivers/zip/StreamCompressorTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/compress/archivers/zip/StreamCompressorTest.java b/src/test/java/org/apache/commons/compress/archivers/zip/StreamCompressorTest.java
index 27505c4..38ed531 100644
--- a/src/test/java/org/apache/commons/compress/archivers/zip/StreamCompressorTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/zip/StreamCompressorTest.java
@@ -17,14 +17,18 @@
*/
package org.apache.commons.compress.archivers.zip;
-import org.junit.Test;
+import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
+import java.io.DataOutput;
+import java.io.DataOutputStream;
+import java.io.IOException;
+import java.util.zip.Deflater;
import java.util.zip.ZipEntry;
-
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertEquals;
+import org.junit.Test;
public class StreamCompressorTest {
@@ -55,4 +59,13 @@ public class StreamCompressorTest {
// Note that this test really asserts stuff about the java Deflater, which might be a little bit brittle
assertArrayEquals(expected, actuals);
}
-}
\ No newline at end of file
+
+ @Test
+ public void testCreateDataOutputCompressor() throws IOException {
+ DataOutput dataOutputStream = new DataOutputStream(new ByteArrayOutputStream());
+ try (StreamCompressor streamCompressor = StreamCompressor
+ .create(dataOutputStream, new Deflater(9))) {
+ assertNotNull(streamCompressor);
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/commons-compress/blob/ffa1c55e/src/test/java/org/apache/commons/compress/archivers/zip/ZipClassCoverageTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/compress/archivers/zip/ZipClassCoverageTest.java b/src/test/java/org/apache/commons/compress/archivers/zip/ZipClassCoverageTest.java
new file mode 100644
index 0000000..3387b63
--- /dev/null
+++ b/src/test/java/org/apache/commons/compress/archivers/zip/ZipClassCoverageTest.java
@@ -0,0 +1,41 @@
+package org.apache.commons.compress.archivers.zip;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertThat;
+
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+import org.hamcrest.core.IsInstanceOf;
+import org.junit.Test;
+
+public class ZipClassCoverageTest {
+
+ @Test
+ public void testConstructZip64RequiredException() {
+ Zip64RequiredException e = new Zip64RequiredException("critique of pure");
+ assertNotNull(e);
+ }
+ @Test
+ public void testMessageException() {
+ ZipArchiveEntry ze = new ZipArchiveEntry("hello");
+ String entryTooBigMessage = Zip64RequiredException.getEntryTooBigMessage(ze);
+ assertEquals("hello's size exceeds the limit of 4GByte.",
+ entryTooBigMessage);
+ }
+
+ @Test
+ public void testConstantConstructor()
+ throws NoSuchMethodException, IllegalAccessException, InvocationTargetException, InstantiationException {
+ Class<ZipConstants> clazz = ZipConstants.class;
+ Constructor<ZipConstants> constructor = clazz.getDeclaredConstructor();
+ assertFalse(constructor.isAccessible());
+ constructor.setAccessible(true);
+ Object o = constructor.newInstance();
+ assertThat(o, IsInstanceOf.instanceOf(clazz));
+ constructor.setAccessible(false);
+
+ }
+
+}