This is an automated email from the ASF dual-hosted git repository.
ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-compress.git
The following commit(s) were added to refs/heads/master by this push:
new 729c172d Reuse Apache Commons IO BrokenInputStream
new 974cd467 Merge branch 'master' of
https://gitbox.apache.org/repos/asf/commons-compress.git
729c172d is described below
commit 729c172d509c3f21078ac49f2c27d6baaf50f6c9
Author: Gary Gregory <[email protected]>
AuthorDate: Sun May 7 14:52:44 2023 -0400
Reuse Apache Commons IO BrokenInputStream
---
.../commons/compress/MockEvilInputStream.java | 41 ----------------------
.../archivers/ArchiveStreamFactoryTest.java | 4 +--
.../compressors/DetectCompressorTestCase.java | 5 ++-
3 files changed, 4 insertions(+), 46 deletions(-)
diff --git a/src/test/java/org/apache/commons/compress/MockEvilInputStream.java
b/src/test/java/org/apache/commons/compress/MockEvilInputStream.java
deleted file mode 100644
index ec316179..00000000
--- a/src/test/java/org/apache/commons/compress/MockEvilInputStream.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * 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;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-/**
- * Simple mock InputStream that always throws an IOException
- * when {@link #read()} or {@link #read(byte[], int, int)}
- * is called.
- */
-public class MockEvilInputStream extends InputStream {
-
- @Override
- public int read() throws IOException {
- throw new IOException("Evil");
- }
-
- @Override
- public int read(final byte[] bytes, final int offset, final int length)
throws IOException {
- throw new IOException("Evil");
- }
-}
-
diff --git
a/src/test/java/org/apache/commons/compress/archivers/ArchiveStreamFactoryTest.java
b/src/test/java/org/apache/commons/compress/archivers/ArchiveStreamFactoryTest.java
index 409d310d..64cf6b7a 100644
---
a/src/test/java/org/apache/commons/compress/archivers/ArchiveStreamFactoryTest.java
+++
b/src/test/java/org/apache/commons/compress/archivers/ArchiveStreamFactoryTest.java
@@ -32,7 +32,6 @@ import java.io.InputStream;
import java.lang.reflect.Field;
import org.apache.commons.compress.AbstractTestCase;
-import org.apache.commons.compress.MockEvilInputStream;
import org.apache.commons.compress.archivers.arj.ArjArchiveInputStream;
import org.apache.commons.compress.archivers.cpio.CpioArchiveInputStream;
import org.apache.commons.compress.archivers.dump.DumpArchiveInputStream;
@@ -40,6 +39,7 @@ import
org.apache.commons.compress.archivers.jar.JarArchiveInputStream;
import org.apache.commons.compress.archivers.tar.TarArchiveInputStream;
import org.apache.commons.compress.archivers.zip.ZipArchiveInputStream;
import org.apache.commons.compress.utils.ByteUtils;
+import org.apache.commons.io.input.BrokenInputStream;
import org.junit.jupiter.api.Test;
public class ArchiveStreamFactoryTest extends AbstractTestCase {
@@ -314,7 +314,7 @@ public class ArchiveStreamFactoryTest extends
AbstractTestCase {
"shouldn't be able to detect null stream");
assertEquals("Stream must not be null.", e2.getMessage());
- final ArchiveException e3 = assertThrows(ArchiveException.class, () ->
ArchiveStreamFactory.detect(new BufferedInputStream(new MockEvilInputStream())),
+ final ArchiveException e3 = assertThrows(ArchiveException.class, () ->
ArchiveStreamFactory.detect(new BufferedInputStream(new BrokenInputStream())),
"Expected ArchiveException");
assertEquals("IOException while reading signature.", e3.getMessage());
}
diff --git
a/src/test/java/org/apache/commons/compress/compressors/DetectCompressorTestCase.java
b/src/test/java/org/apache/commons/compress/compressors/DetectCompressorTestCase.java
index 8ef1789d..8b4ec780 100644
---
a/src/test/java/org/apache/commons/compress/compressors/DetectCompressorTestCase.java
+++
b/src/test/java/org/apache/commons/compress/compressors/DetectCompressorTestCase.java
@@ -32,7 +32,6 @@ import java.io.InputStream;
import java.nio.file.Files;
import org.apache.commons.compress.MemoryLimitException;
-import org.apache.commons.compress.MockEvilInputStream;
import
org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream;
import
org.apache.commons.compress.compressors.deflate.DeflateCompressorInputStream;
import org.apache.commons.compress.compressors.gzip.GzipCompressorInputStream;
@@ -40,6 +39,7 @@ import
org.apache.commons.compress.compressors.pack200.Pack200CompressorInputStr
import org.apache.commons.compress.compressors.xz.XZCompressorInputStream;
import
org.apache.commons.compress.compressors.zstandard.ZstdCompressorInputStream;
import org.apache.commons.compress.utils.ByteUtils;
+import org.apache.commons.io.input.BrokenInputStream;
import org.junit.jupiter.api.Test;
@SuppressWarnings("deprecation") // deliberately tests
setDecompressConcatenated
@@ -137,7 +137,6 @@ public final class DetectCompressorTestCase {
@Test
public void testDetect() throws Exception {
-
assertEquals(CompressorStreamFactory.BZIP2, detect("bla.txt.bz2"));
assertEquals(CompressorStreamFactory.GZIP, detect("bla.tgz"));
assertEquals(CompressorStreamFactory.PACK200, detect("bla.pack"));
@@ -159,7 +158,7 @@ public final class DetectCompressorTestCase {
"shouldn't be able to detect null stream");
assertEquals("Stream must not be null.", e.getMessage());
- final CompressorException ce = assertThrows(CompressorException.class,
() -> CompressorStreamFactory.detect(new BufferedInputStream(new
MockEvilInputStream())),
+ final CompressorException ce = assertThrows(CompressorException.class,
() -> CompressorStreamFactory.detect(new BufferedInputStream(new
BrokenInputStream())),
"Expected IOException");
assertEquals("IOException while reading signature.", ce.getMessage());
}