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());
     }

Reply via email to