You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2021/12/26 23:47:32 UTC

[commons-compress] branch master updated: Continue porting from JUnit 4 to JUnit 5.

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 82ac0e1  Continue porting from JUnit 4 to JUnit 5.
82ac0e1 is described below

commit 82ac0e1f2811aa39ceec0367aac031897947f1ad
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Sun Dec 26 18:47:22 2021 -0500

    Continue porting from JUnit 4 to JUnit 5.
---
 pom.xml                                            |  23 +-
 .../apache/commons/compress/AbstractTestCase.java  |   8 +-
 .../apache/commons/compress/ArchiveReadTest.java   |  45 ++--
 .../apache/commons/compress/ArchiveUtilsTest.java  |   4 +-
 .../apache/commons/compress/ChainingTestCase.java  |   2 +-
 .../commons/compress/DetectArchiverTestCase.java   |   2 +-
 .../org/apache/commons/compress/IOMethodsTest.java |   2 +-
 .../org/apache/commons/compress/OsgiITest.java     |   7 +-
 .../commons/compress/archivers/ArTestCase.java     |   8 +-
 .../archivers/ArchiveOutputStreamTest.java         |   2 +-
 .../archivers/ArchiveServiceLoaderTest.java        |   6 +-
 .../archivers/ArchiveStreamFactoryTest.java        |   6 +-
 .../commons/compress/archivers/CpioTestCase.java   |   2 +-
 .../commons/compress/archivers/DumpTestCase.java   |   2 +-
 .../compress/archivers/ExceptionMessageTest.java   |   2 +-
 .../commons/compress/archivers/JarTestCase.java    |   2 +-
 .../commons/compress/archivers/LongPathTest.java   |  53 ++---
 .../compress/archivers/LongSymLinkTest.java        |  39 ++-
 .../commons/compress/archivers/SevenZTestCase.java |   6 +-
 .../commons/compress/archivers/TarTestCase.java    |   2 +-
 .../commons/compress/archivers/ZipTestCase.java    |   8 +-
 .../archivers/ar/ArArchiveInputStreamTest.java     |   6 +-
 .../archivers/ar/ArArchiveOutputStreamTest.java    |   2 +-
 .../archivers/arj/ArjArchiveInputStreamTest.java   |   2 +-
 .../compress/archivers/arj/CoverageTest.java       |   2 +-
 .../archivers/cpio/CpioArchiveInputStreamTest.java |   2 +-
 .../cpio/CpioArchiveOutputStreamTest.java          |   2 +-
 .../compress/archivers/cpio/CpioArchiveTest.java   |  35 ++-
 .../compress/archivers/cpio/CpioUtilTest.java      |   8 +-
 .../archivers/dump/DumpArchiveEntryTest.java       |   2 +-
 .../archivers/dump/DumpArchiveInputStreamTest.java |   2 +-
 .../archivers/dump/DumpArchiveUtilTest.java        |   2 +-
 .../compress/archivers/examples/ExpanderTest.java  |   6 +-
 .../examples/ParameterizedArchiverTest.java        |  67 +++---
 .../examples/ParameterizedExpanderTest.java        |  77 +++---
 .../archivers/examples/SevenZArchiverTest.java     |  10 +-
 .../archivers/jar/JarArchiveOutputStreamTest.java  |   2 +-
 .../compress/archivers/jar/JarMarkerTest.java      |   5 +-
 .../archivers/memory/MemoryArchiveTestCase.java    |   3 +-
 .../archivers/sevenz/AES256SHA256DecoderTest.java  |   2 +-
 .../compress/archivers/sevenz/CoverageTest.java    |  10 +-
 .../compress/archivers/sevenz/FolderTest.java      |   2 +-
 .../archivers/sevenz/SevenZArchiveEntryTest.java   |   8 +-
 .../compress/archivers/sevenz/SevenZFileTest.java  |   4 +-
 .../sevenz/SevenZMethodConfigurationTest.java      |   6 +-
 .../archivers/sevenz/SevenZNativeHeapTest.java     |   2 +-
 .../archivers/sevenz/SevenZOutputFileTest.java     |   2 +-
 .../commons/compress/archivers/tar/BigFilesIT.java |   2 +-
 .../compress/archivers/tar/SparseFilesTest.java    |   2 +-
 .../archivers/tar/TarArchiveEntryTest.java         |  51 ++--
 .../archivers/tar/TarArchiveInputStreamTest.java   |  18 +-
 .../archivers/tar/TarArchiveOutputStreamTest.java  |   6 +-
 .../compress/archivers/tar/TarFileTest.java        |  18 +-
 .../archivers/tar/TarMemoryFileSystemTest.java     |   2 +-
 .../compress/archivers/tar/TarUtilsTest.java       |   2 +-
 .../compress/archivers/zip/AsiExtraFieldTest.java  |   2 +-
 .../compress/archivers/zip/BinaryTreeTest.java     |   4 +-
 .../compress/archivers/zip/BitStreamTest.java      |   2 +-
 .../compress/archivers/zip/CircularBufferTest.java |   2 +-
 .../compress/archivers/zip/DataDescriptorTest.java |  10 +-
 .../archivers/zip/EncryptedArchiveTest.java        |   4 +-
 .../compress/archivers/zip/ExplodeSupportTest.java |   2 +-
 .../archivers/zip/ExtraFieldUtilsTest.java         |   6 +-
 .../archivers/zip/GeneralPurposeBitTest.java       |   2 +-
 .../archivers/zip/Maven221MultiVolumeTest.java     |   4 +-
 .../compress/archivers/zip/NioZipEncodingTest.java |   2 +-
 .../zip/ParallelScatterZipCreatorTest.java         |  10 +-
 .../archivers/zip/PkWareExtraHeaderTest.java       |   2 +-
 .../compress/archivers/zip/ScatterSampleTest.java  |   2 +-
 .../archivers/zip/ScatterZipOutputStreamTest.java  |   6 +-
 .../archivers/zip/StreamCompressorTest.java        |   2 +-
 .../compress/archivers/zip/UTF8ZipFilesTest.java   |   2 +-
 .../compress/archivers/zip/X000A_NTFSTest.java     |   2 +-
 .../archivers/zip/X5455_ExtendedTimestampTest.java |  10 +-
 .../compress/archivers/zip/X7875_NewUnixTest.java  |   6 +-
 .../Zip64ExtendedInformationExtraFieldTest.java    |   2 +-
 .../compress/archivers/zip/Zip64SupportIT.java     |   2 +-
 .../archivers/zip/ZipArchiveEntryTest.java         |   2 +-
 .../archivers/zip/ZipArchiveInputStreamTest.java   |   4 +-
 .../archivers/zip/ZipClassCoverageTest.java        |   2 +-
 .../archivers/zip/ZipEightByteIntegerTest.java     |   2 +-
 .../compress/archivers/zip/ZipEncodingTest.java    |   2 +-
 .../zip/ZipFileIgnoringLocalFileHeaderTest.java    |  10 +-
 .../compress/archivers/zip/ZipFileTest.java        |  16 +-
 .../compress/archivers/zip/ZipLongTest.java        |   2 +-
 .../archivers/zip/ZipMemoryFileSystemTest.java     |  10 +-
 .../compress/archivers/zip/ZipShortTest.java       |   4 +-
 .../archivers/zip/ZipSplitOutputStreamTest.java    |   2 +-
 .../compress/archivers/zip/ZipUtilTest.java        |  10 +-
 .../compress/changes/ChangeSetTestCase.java        |   2 +-
 .../commons/compress/changes/ChangeTest.java       |   8 +-
 .../compress/compressors/BZip2TestCase.java        |   2 +-
 .../compress/compressors/BZip2UtilsTestCase.java   |   2 +-
 .../compressors/CompressorServiceLoaderTest.java   |   6 +-
 .../CompressorStreamFactoryRoundtripTest.java      |  44 ++--
 .../compress/compressors/DeflateTestCase.java      |   2 +-
 .../compressors/DetectCompressorTestCase.java      |  10 +-
 .../compress/compressors/FramedSnappyTestCase.java |   2 +-
 .../commons/compress/compressors/GZipTestCase.java |   2 +-
 .../compress/compressors/GzipUtilsTestCase.java    |   2 +-
 .../commons/compress/compressors/LZMATestCase.java |   2 +-
 .../compress/compressors/Pack200TestCase.java      |   2 +-
 .../commons/compress/compressors/XZTestCase.java   |   3 +-
 .../commons/compress/compressors/ZTestCase.java    |   2 +-
 .../brotli/BrotliCompressorInputStreamTest.java    |   2 +-
 .../bzip2/BZip2CompressorInputStreamTest.java      |   8 +-
 .../bzip2/BZip2NSelectorsOverflowTest.java         |   2 +-
 .../compress/compressors/bzip2/BlockSortTest.java  |   2 +-
 .../bzip2/PythonTruncatedBzip2Test.java            |  16 +-
 .../deflate/DeflateCompressorInputStreamTest.java  |   2 +-
 .../deflate/DeflateCompressorOutputStreamTest.java |   2 +-
 .../compressors/deflate/DeflateParametersTest.java |   6 +-
 .../compressors/deflate64/Deflate64BugsTest.java   |   2 +-
 .../Deflate64CompressorInputStreamTest.java        | 263 +++++++++++----------
 .../compressors/deflate64/HuffmanDecoderTest.java  |   2 +-
 .../lz4/BlockLZ4CompressorInputStreamTest.java     |   2 +-
 .../lz4/BlockLZ4CompressorOutputStreamTest.java    |   8 +-
 .../lz4/BlockLZ4CompressorRoundtripTest.java       |  54 ++---
 .../compress/compressors/lz4/FactoryTest.java      |   2 +-
 .../lz4/FramedLZ4CompressorInputStreamTest.java    |   4 +-
 .../lz4/FramedLZ4CompressorRoundtripTest.java      |  69 +++---
 .../compress/compressors/lz4/XXHash32Test.java     |  39 ++-
 .../AbstractLZ77CompressorInputStreamTest.java     |   4 +-
 .../lz77support/LZ77CompressorTest.java            |   6 +-
 .../compressors/lz77support/ParametersTest.java    |   6 +-
 .../compressors/lzma/LZMAUtilsTestCase.java        |   2 +-
 .../compressors/pack200/Pack200UtilsTest.java      |   2 +-
 .../FramedSnappyCompressorInputStreamTest.java     |   2 +-
 .../compressors/snappy/SnappyRoundtripTest.java    |   2 +-
 .../xz/XZCompressorInputStreamTest.java            |   2 +-
 .../xz/XZCompressorOutputStreamTest.java           |   2 +-
 .../compress/compressors/xz/XZUtilsTestCase.java   |   2 +-
 .../compressors/z/ZCompressorInputStreamTest.java  |   4 +-
 .../zstandard/ZstdCompressorInputStreamTest.java   |   2 +-
 .../compressors/zstandard/ZstdRoundtripTest.java   |   2 +-
 .../compressors/zstandard/ZstdUtilsTest.java       |   2 +-
 .../Codec_decodeInts_OutOfMemoryErrorTest.java     |   6 +-
 .../commons/compress/utils/BitInputStreamTest.java |   6 +-
 .../BoundedSeekableByteChannelInputStreamTest.java |   2 +-
 .../commons/compress/utils/ByteUtilsTest.java      |  18 +-
 .../commons/compress/utils/CharsetsTest.java       |   3 +-
 .../utils/ChecksumCalculatingInputStreamTest.java  |   8 +-
 .../utils/ChecksumVerifyingInputStreamTest.java    |   6 +-
 .../commons/compress/utils/CountingStreamTest.java |   4 +-
 .../commons/compress/utils/FileNameUtilsTest.java  |   2 +-
 .../utils/FixedLengthBlockOutputStreamTest.java    |   2 +-
 .../apache/commons/compress/utils/IOUtilsTest.java |  10 +-
 .../MultiReadOnlySeekableByteChannelTest.java      |   6 +-
 .../commons/compress/utils/OsgiUtilsTest.java      |   2 +-
 .../utils/SeekableInMemoryByteChannelTest.java     |  30 +--
 .../compress/utils/ServiceLoaderIteratorTest.java  |   6 +-
 .../utils/SkipShieldingInputStreamTest.java        |   2 +-
 .../ZipSplitReadOnlySeekableByteChannelTest.java   |   6 +-
 153 files changed, 731 insertions(+), 759 deletions(-)

diff --git a/pom.xml b/pom.xml
index 98ce584..6cddc13 100644
--- a/pom.xml
+++ b/pom.xml
@@ -73,7 +73,8 @@ Brotli, Zstandard and ar, cpio, jar, tar, zip, dump, 7z, arj.
     <commons.scmPubUrl>https://svn.apache.org/repos/infra/websites/production/commons/content/proper/${project.artifactId}</commons.scmPubUrl>
     <japicmp.skip>false</japicmp.skip>
 
-    <pax.exam.version>4.13.1</pax.exam.version>
+    <junit.version>5.8.2</junit.version>
+    <pax.exam.version>4.13.5</pax.exam.version>
     <slf4j.version>1.7.30</slf4j.version>
     <commons.jacoco.version>0.8.7</commons.jacoco.version>
     <commons.japicmp.version>0.15.4</commons.japicmp.version>
@@ -88,9 +89,21 @@ Brotli, Zstandard and ar, cpio, jar, tar, zip, dump, 7z, arj.
 
   <dependencies>
     <dependency>
+      <groupId>org.junit.jupiter</groupId>
+      <artifactId>junit-jupiter-api</artifactId>
+      <version>${junit.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.junit.jupiter</groupId>
+      <artifactId>junit-jupiter-params</artifactId>
+      <version>${junit.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
       <groupId>org.junit.vintage</groupId>
       <artifactId>junit-vintage-engine</artifactId>
-      <version>5.8.2</version>
+      <version>${junit.version}</version>
       <scope>test</scope>
     </dependency>
     <dependency>
@@ -133,6 +146,12 @@ Brotli, Zstandard and ar, cpio, jar, tar, zip, dump, 7z, arj.
       <version>${mockito.version}</version>
       <scope>test</scope>
     </dependency>
+	<dependency>
+      <groupId>org.mockito</groupId>
+      <artifactId>mockito-junit-jupiter</artifactId>
+      <version>${mockito.version}</version>
+      <scope>test</scope>
+    </dependency>
     <dependency>
       <groupId>com.github.marschall</groupId>
       <artifactId>memoryfilesystem</artifactId>
diff --git a/src/test/java/org/apache/commons/compress/AbstractTestCase.java b/src/test/java/org/apache/commons/compress/AbstractTestCase.java
index 2fe3824..10e0e15 100644
--- a/src/test/java/org/apache/commons/compress/AbstractTestCase.java
+++ b/src/test/java/org/apache/commons/compress/AbstractTestCase.java
@@ -42,8 +42,8 @@ import org.apache.commons.compress.archivers.ArchiveInputStream;
 import org.apache.commons.compress.archivers.ArchiveOutputStream;
 import org.apache.commons.compress.archivers.ArchiveStreamFactory;
 import org.apache.commons.compress.utils.IOUtils;
-import org.junit.After;
-import org.junit.Before;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
 
 public abstract class AbstractTestCase {
 
@@ -55,7 +55,7 @@ public abstract class AbstractTestCase {
 
     protected final ArchiveStreamFactory factory = ArchiveStreamFactory.DEFAULT;
 
-    @Before
+    @BeforeEach
     public void setUp() throws Exception {
         dir = mkdir("dir");
         resultDir = mkdir("dir-result");
@@ -84,7 +84,7 @@ public abstract class AbstractTestCase {
         return getFile(path).toPath();
     }
 
-    @After
+    @AfterEach
     public void tearDown() throws Exception {
         rmdir(dir);
         rmdir(resultDir);
diff --git a/src/test/java/org/apache/commons/compress/ArchiveReadTest.java b/src/test/java/org/apache/commons/compress/ArchiveReadTest.java
index 332ec09..112826c 100644
--- a/src/test/java/org/apache/commons/compress/ArchiveReadTest.java
+++ b/src/test/java/org/apache/commons/compress/ArchiveReadTest.java
@@ -27,14 +27,14 @@ import java.net.URISyntaxException;
 import java.nio.file.Files;
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.stream.Stream;
 
 import org.apache.commons.compress.archivers.ArchiveEntry;
 import org.apache.commons.compress.archivers.ArchiveException;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
 
 /**
  * Test that can read various archive file examples.
@@ -44,7 +44,6 @@ import org.junit.runners.Parameterized.Parameters;
  * Files must be in resources/archives, and there must be a file.txt containing
  * the list of files in the archives.
  */
-@RunWith(Parameterized.class)
 public class ArchiveReadTest extends AbstractTestCase {
 
     private static final ClassLoader CLASSLOADER = ArchiveReadTest.class.getClassLoader();
@@ -59,13 +58,7 @@ public class ArchiveReadTest extends AbstractTestCase {
         }
     }
 
-    private final File file;
-
-    public ArchiveReadTest(final String file){
-        this.file = new File(ARCDIR, file);
-    }
-
-    @BeforeClass
+    @BeforeAll
     public static void setUpFileList() throws Exception {
         assertTrue(ARCDIR.exists());
         final File listing = new File(ARCDIR, "files.txt");
@@ -80,15 +73,13 @@ public class ArchiveReadTest extends AbstractTestCase {
         }
     }
 
-    @Parameters(name = "file={0}")
-    public static Collection<Object[]> data() {
+    public static Stream<Arguments> data() {
         assertTrue(ARCDIR.exists());
-        final Collection<Object[]> params = new ArrayList<>();
-        for (final String f : ARCDIR.list((dir, name) -> !name.endsWith(".txt")))
-        {
-            params.add(new Object[] { f });
+        final Collection<Arguments> params = new ArrayList<>();
+        for (final String fileName : ARCDIR.list((dir, name) -> !name.endsWith(".txt"))) {
+            params.add(Arguments.of(new File(ARCDIR, fileName)));
         }
-      return params;
+        return params.stream();
     }
 
     // files.txt contains size and filename
@@ -97,17 +88,17 @@ public class ArchiveReadTest extends AbstractTestCase {
         return entry.getSize() + " " + entry.getName();
     }
 
-    @Test
-    public void testArchive() throws Exception{
+    @ParameterizedTest
+    @MethodSource("data")
+    public void testArchive(final File file) throws Exception {
         @SuppressWarnings("unchecked") // fileList is correct type already
-        final
-        ArrayList<String> expected= (ArrayList<String>) FILELIST.clone();
+        final ArrayList<String> expected = (ArrayList<String>) FILELIST.clone();
         try {
-           checkArchiveContent(file, expected);
+            checkArchiveContent(file, expected);
         } catch (final ArchiveException e) {
-            fail("Problem checking "+file);
+            fail("Problem checking " + file);
         } catch (final AssertionError e) { // show error in context
-            fail("Problem checking " + file + " " +e);
+            fail("Problem checking " + file + " " + e);
         }
     }
 }
diff --git a/src/test/java/org/apache/commons/compress/ArchiveUtilsTest.java b/src/test/java/org/apache/commons/compress/ArchiveUtilsTest.java
index d755fd5..abcb7e3 100644
--- a/src/test/java/org/apache/commons/compress/ArchiveUtilsTest.java
+++ b/src/test/java/org/apache/commons/compress/ArchiveUtilsTest.java
@@ -20,7 +20,7 @@ package org.apache.commons.compress;
 
 import org.apache.commons.compress.archivers.sevenz.SevenZArchiveEntry;
 import org.apache.commons.compress.utils.ArchiveUtils;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
@@ -138,7 +138,7 @@ public class ArchiveUtilsTest extends AbstractTestCase {
 
     }
 
-    @Test(expected = StringIndexOutOfBoundsException.class)
+    @Test
     public void testToAsciiStringThrowsStringIndexOutOfBoundsException() {
 
         final byte[] byteArray = new byte[3];
diff --git a/src/test/java/org/apache/commons/compress/ChainingTestCase.java b/src/test/java/org/apache/commons/compress/ChainingTestCase.java
index 879ad60..0839f3f 100644
--- a/src/test/java/org/apache/commons/compress/ChainingTestCase.java
+++ b/src/test/java/org/apache/commons/compress/ChainingTestCase.java
@@ -28,7 +28,7 @@ import org.apache.commons.compress.archivers.tar.TarArchiveEntry;
 import org.apache.commons.compress.archivers.tar.TarArchiveInputStream;
 import org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream;
 import org.apache.commons.compress.compressors.gzip.GzipCompressorInputStream;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 
 public class ChainingTestCase extends AbstractTestCase {
diff --git a/src/test/java/org/apache/commons/compress/DetectArchiverTestCase.java b/src/test/java/org/apache/commons/compress/DetectArchiverTestCase.java
index 84c633a..2e32342 100644
--- a/src/test/java/org/apache/commons/compress/DetectArchiverTestCase.java
+++ b/src/test/java/org/apache/commons/compress/DetectArchiverTestCase.java
@@ -34,7 +34,7 @@ import org.apache.commons.compress.archivers.arj.ArjArchiveInputStream;
 import org.apache.commons.compress.archivers.cpio.CpioArchiveInputStream;
 import org.apache.commons.compress.archivers.tar.TarArchiveInputStream;
 import org.apache.commons.compress.archivers.zip.ZipArchiveInputStream;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public final class DetectArchiverTestCase extends AbstractTestCase {
 
diff --git a/src/test/java/org/apache/commons/compress/IOMethodsTest.java b/src/test/java/org/apache/commons/compress/IOMethodsTest.java
index 46dacb5..6557ddc 100644
--- a/src/test/java/org/apache/commons/compress/IOMethodsTest.java
+++ b/src/test/java/org/apache/commons/compress/IOMethodsTest.java
@@ -36,7 +36,7 @@ import org.apache.commons.compress.archivers.cpio.CpioArchiveEntry;
 import org.apache.commons.compress.archivers.jar.JarArchiveEntry;
 import org.apache.commons.compress.archivers.tar.TarArchiveEntry;
 import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 /**
  * Check that the different write methods create the same output.
diff --git a/src/test/java/org/apache/commons/compress/OsgiITest.java b/src/test/java/org/apache/commons/compress/OsgiITest.java
index a89618a..9a10b12 100644
--- a/src/test/java/org/apache/commons/compress/OsgiITest.java
+++ b/src/test/java/org/apache/commons/compress/OsgiITest.java
@@ -25,6 +25,10 @@ import static org.ops4j.pax.exam.CoreOptions.composite;
 import static org.ops4j.pax.exam.CoreOptions.mavenBundle;
 import static org.ops4j.pax.exam.CoreOptions.systemProperty;
 
+import java.lang.reflect.Method;
+
+import javax.inject.Inject;
+
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.ops4j.pax.exam.Configuration;
@@ -33,9 +37,6 @@ import org.ops4j.pax.exam.junit.PaxExam;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleContext;
 
-import java.lang.reflect.Method;
-import javax.inject.Inject;
-
 @RunWith(PaxExam.class)
 public class OsgiITest {
 
diff --git a/src/test/java/org/apache/commons/compress/archivers/ArTestCase.java b/src/test/java/org/apache/commons/compress/archivers/ArTestCase.java
index ab186db..9145ed4 100644
--- a/src/test/java/org/apache/commons/compress/archivers/ArTestCase.java
+++ b/src/test/java/org/apache/commons/compress/archivers/ArTestCase.java
@@ -35,8 +35,8 @@ import org.apache.commons.compress.archivers.ar.ArArchiveEntry;
 import org.apache.commons.compress.archivers.ar.ArArchiveInputStream;
 import org.apache.commons.compress.archivers.ar.ArArchiveOutputStream;
 import org.apache.commons.compress.utils.IOUtils;
-import org.junit.Ignore;
-import org.junit.Test;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
 
 public final class ArTestCase extends AbstractTestCase {
 
@@ -188,7 +188,7 @@ public final class ArTestCase extends AbstractTestCase {
     }
 
     // TODO: revisit - does AR not support storing directories?
-    @Ignore
+    @Disabled
     @Test
     public void XtestDirectoryEntryFromFile() throws Exception {
         final File[] tmp = createTempDirAndFile();
@@ -230,7 +230,7 @@ public final class ArTestCase extends AbstractTestCase {
     }
 
     // TODO: revisit - does AR not support storing directories?
-    @Ignore
+    @Disabled
     @Test
     public void XtestExplicitDirectoryEntry() throws Exception {
         final File[] tmp = createTempDirAndFile();
diff --git a/src/test/java/org/apache/commons/compress/archivers/ArchiveOutputStreamTest.java b/src/test/java/org/apache/commons/compress/archivers/ArchiveOutputStreamTest.java
index d538e2b..a393012 100644
--- a/src/test/java/org/apache/commons/compress/archivers/ArchiveOutputStreamTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/ArchiveOutputStreamTest.java
@@ -34,7 +34,7 @@ import org.apache.commons.compress.archivers.jar.JarArchiveEntry;
 import org.apache.commons.compress.archivers.tar.TarArchiveEntry;
 import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
 import org.apache.commons.compress.utils.IOUtils;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class ArchiveOutputStreamTest extends AbstractTestCase {
 
diff --git a/src/test/java/org/apache/commons/compress/archivers/ArchiveServiceLoaderTest.java b/src/test/java/org/apache/commons/compress/archivers/ArchiveServiceLoaderTest.java
index 5c418ad..9d10105 100644
--- a/src/test/java/org/apache/commons/compress/archivers/ArchiveServiceLoaderTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/ArchiveServiceLoaderTest.java
@@ -23,16 +23,16 @@ import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 
 import org.apache.commons.compress.archivers.TestArchiveStreamProvider.ArchiveInvocationConfirmationException;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class ArchiveServiceLoaderTest {
 
-    @Test(expected = ArchiveInvocationConfirmationException.class)
+    @Test
     public void testInputStream() throws ArchiveException {
         ArchiveStreamFactory.DEFAULT.createArchiveInputStream("ArchiveTestInput1", new ByteArrayInputStream(new byte[] {}));
     }
 
-    @Test(expected = ArchiveInvocationConfirmationException.class)
+    @Test
     public void testOutputStream() throws ArchiveException {
         ArchiveStreamFactory.DEFAULT.createArchiveOutputStream("ArchiveTestOutput1", new ByteArrayOutputStream());
     }
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 0a17979..33deb04 100644
--- a/src/test/java/org/apache/commons/compress/archivers/ArchiveStreamFactoryTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/ArchiveStreamFactoryTest.java
@@ -41,7 +41,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.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class ArchiveStreamFactoryTest {
 
@@ -88,14 +88,14 @@ public class ArchiveStreamFactoryTest {
         }
     }
 
-    @Test(expected = StreamingNotSupportedException.class)
+    @Test
     public void cantRead7zFromStream() throws Exception {
         ArchiveStreamFactory.DEFAULT
             .createArchiveInputStream(ArchiveStreamFactory.SEVEN_Z,
                                       new ByteArrayInputStream(ByteUtils.EMPTY_BYTE_ARRAY));
     }
 
-    @Test(expected = StreamingNotSupportedException.class)
+    @Test
     public void cantWrite7zToStream() throws Exception {
         ArchiveStreamFactory.DEFAULT
             .createArchiveOutputStream(ArchiveStreamFactory.SEVEN_Z,
diff --git a/src/test/java/org/apache/commons/compress/archivers/CpioTestCase.java b/src/test/java/org/apache/commons/compress/archivers/CpioTestCase.java
index 32edacb..cdd6d2e 100644
--- a/src/test/java/org/apache/commons/compress/archivers/CpioTestCase.java
+++ b/src/test/java/org/apache/commons/compress/archivers/CpioTestCase.java
@@ -36,7 +36,7 @@ import org.apache.commons.compress.archivers.cpio.CpioArchiveInputStream;
 import org.apache.commons.compress.archivers.cpio.CpioArchiveOutputStream;
 import org.apache.commons.compress.archivers.cpio.CpioConstants;
 import org.apache.commons.compress.utils.IOUtils;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public final class CpioTestCase extends AbstractTestCase {
 
diff --git a/src/test/java/org/apache/commons/compress/archivers/DumpTestCase.java b/src/test/java/org/apache/commons/compress/archivers/DumpTestCase.java
index 2f3b458..58919a6 100644
--- a/src/test/java/org/apache/commons/compress/archivers/DumpTestCase.java
+++ b/src/test/java/org/apache/commons/compress/archivers/DumpTestCase.java
@@ -30,7 +30,7 @@ import java.util.ArrayList;
 import org.apache.commons.compress.AbstractTestCase;
 import org.apache.commons.compress.archivers.dump.DumpArchiveInputStream;
 import org.apache.commons.compress.utils.IOUtils;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public final class DumpTestCase extends AbstractTestCase {
 
diff --git a/src/test/java/org/apache/commons/compress/archivers/ExceptionMessageTest.java b/src/test/java/org/apache/commons/compress/archivers/ExceptionMessageTest.java
index 4a0f47c..efe76b7 100644
--- a/src/test/java/org/apache/commons/compress/archivers/ExceptionMessageTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/ExceptionMessageTest.java
@@ -3,7 +3,7 @@ package org.apache.commons.compress.archivers;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.fail;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
diff --git a/src/test/java/org/apache/commons/compress/archivers/JarTestCase.java b/src/test/java/org/apache/commons/compress/archivers/JarTestCase.java
index 2cb45a0..b19e2b4 100644
--- a/src/test/java/org/apache/commons/compress/archivers/JarTestCase.java
+++ b/src/test/java/org/apache/commons/compress/archivers/JarTestCase.java
@@ -26,7 +26,7 @@ import java.nio.file.Files;
 import org.apache.commons.compress.AbstractTestCase;
 import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
 import org.apache.commons.compress.utils.IOUtils;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public final class JarTestCase extends AbstractTestCase {
 
diff --git a/src/test/java/org/apache/commons/compress/archivers/LongPathTest.java b/src/test/java/org/apache/commons/compress/archivers/LongPathTest.java
index 49d73d1..d0ee675 100644
--- a/src/test/java/org/apache/commons/compress/archivers/LongPathTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/LongPathTest.java
@@ -28,27 +28,27 @@ import java.net.URISyntaxException;
 import java.nio.file.Files;
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.stream.Stream;
 
-import junit.framework.AssertionFailedError;
 import org.apache.commons.compress.AbstractTestCase;
 import org.apache.commons.compress.archivers.ar.ArArchiveInputStream;
 import org.apache.commons.compress.archivers.cpio.CpioArchiveInputStream;
 import org.apache.commons.compress.archivers.tar.TarArchiveEntry;
 import org.apache.commons.compress.archivers.tar.TarArchiveInputStream;
 import org.apache.commons.compress.archivers.zip.ZipArchiveInputStream;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
+
+import junit.framework.AssertionFailedError;
 
 /**
  * Test that can read various tar file examples.
  *
-  * Files must be in resources/longpath, and there must be a file.txt containing
+ * Files must be in resources/longpath, and there must be a file.txt containing
  * the list of files in the archives.
-*/
-@RunWith(Parameterized.class)
+ */
 public class LongPathTest extends AbstractTestCase {
 
     private static final ClassLoader CLASSLOADER = LongPathTest.class.getClassLoader();
@@ -63,37 +63,27 @@ public class LongPathTest extends AbstractTestCase {
         }
     }
 
-    private final File file;
-
-
-
-    public LongPathTest(final String file){
-        this.file = new File(ARCDIR, file);
-    }
-
-    @BeforeClass
+    @BeforeAll
     public static void setUpFileList() throws Exception {
         assertTrue(ARCDIR.exists());
-        final File listing= new File(ARCDIR,"files.txt");
-        assertTrue("files.txt is readable",listing.canRead());
+        final File listing = new File(ARCDIR, "files.txt");
+        assertTrue("files.txt is readable", listing.canRead());
         final BufferedReader br = new BufferedReader(Files.newBufferedReader(listing.toPath()));
         String line;
-        while ((line=br.readLine())!=null){
-            if (!line.startsWith("#")){
+        while ((line = br.readLine()) != null) {
+            if (!line.startsWith("#")) {
                 FILELIST.add(line);
             }
         }
         br.close();
     }
 
-    @Parameters(name = "file={0}")
-    public static Collection<Object[]> data() {
-        final Collection<Object[]> params = new ArrayList<>();
-        for (final String f : ARCDIR.list((dir, name) -> !name.endsWith(".txt")))
-        {
-            params.add(new Object[] { f });
+    public static Stream<Arguments> data() {
+        final Collection<Arguments> params = new ArrayList<>();
+        for (final String fileName : ARCDIR.list((dir, name) -> !name.endsWith(".txt"))) {
+            params.add(Arguments.of(new File(ARCDIR, fileName)));
         }
-      return params;
+        return params.stream();
     }
 
     @Override
@@ -107,8 +97,9 @@ public class LongPathTest extends AbstractTestCase {
         return entry.getName();
     }
 
-    @Test
-    public void testArchive() throws Exception {
+    @ParameterizedTest
+    @MethodSource("data")
+    public void testArchive(final File file) throws Exception {
         @SuppressWarnings("unchecked") // fileList is of correct type
         final
         ArrayList<String> expected = (ArrayList<String>) FILELIST.clone();
diff --git a/src/test/java/org/apache/commons/compress/archivers/LongSymLinkTest.java b/src/test/java/org/apache/commons/compress/archivers/LongSymLinkTest.java
index 8faf456..c513b1e 100644
--- a/src/test/java/org/apache/commons/compress/archivers/LongSymLinkTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/LongSymLinkTest.java
@@ -28,19 +28,20 @@ import java.net.URISyntaxException;
 import java.nio.file.Files;
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.stream.Stream;
 
-import junit.framework.AssertionFailedError;
 import org.apache.commons.compress.AbstractTestCase;
 import org.apache.commons.compress.archivers.ar.ArArchiveInputStream;
 import org.apache.commons.compress.archivers.cpio.CpioArchiveInputStream;
 import org.apache.commons.compress.archivers.tar.TarArchiveEntry;
 import org.apache.commons.compress.archivers.tar.TarArchiveInputStream;
 import org.apache.commons.compress.archivers.zip.ZipArchiveInputStream;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
+
+import junit.framework.AssertionFailedError;
 
 /**
  * Test that can read various tar file examples.
@@ -48,7 +49,6 @@ import org.junit.runners.Parameterized.Parameters;
   * Files must be in resources/longsymlink, and there must be a file.txt containing
  * the list of files in the archives.
 */
-@RunWith(Parameterized.class)
 public class LongSymLinkTest extends AbstractTestCase {
 
     private static final ClassLoader CLASSLOADER = LongSymLinkTest.class.getClassLoader();
@@ -63,13 +63,7 @@ public class LongSymLinkTest extends AbstractTestCase {
         }
     }
 
-    private final File file;
-
-    public LongSymLinkTest(final String file){
-        this.file = new File(ARCDIR, file);
-    }
-
-    @BeforeClass
+    @BeforeAll
     public static void setUpFileList() throws Exception {
         assertTrue(ARCDIR.exists());
         final File listing= new File(ARCDIR,"files.txt");
@@ -84,14 +78,12 @@ public class LongSymLinkTest extends AbstractTestCase {
         br.close();
     }
 
-    @Parameters(name = "file={0}")
-    public static Collection<Object[]> data() {
-        final Collection<Object[]> params = new ArrayList<>();
-        for (final String f : ARCDIR.list((dir, name) -> !name.endsWith(".txt")))
-        {
-            params.add(new Object[] { f });
+    public static Stream<Arguments> data() {
+        final Collection<Arguments> params = new ArrayList<>();
+        for (final String fileName : ARCDIR.list((dir, name) -> !name.endsWith(".txt"))) {
+            params.add(Arguments.of(new File(ARCDIR, fileName)));
         }
-      return params;
+        return params.stream();
     }
 
 
@@ -106,8 +98,9 @@ public class LongSymLinkTest extends AbstractTestCase {
         return entry.getName();
     }
 
-    @Test
-    public void testArchive() throws Exception {
+    @ParameterizedTest
+    @MethodSource("data")
+    public void testArchive(final File file) throws Exception {
         @SuppressWarnings("unchecked") // fileList is of correct type
         final
         ArrayList<String> expected = (ArrayList<String>) FILELIST.clone();
diff --git a/src/test/java/org/apache/commons/compress/archivers/SevenZTestCase.java b/src/test/java/org/apache/commons/compress/archivers/SevenZTestCase.java
index 6e5e461..5003a03 100644
--- a/src/test/java/org/apache/commons/compress/archivers/SevenZTestCase.java
+++ b/src/test/java/org/apache/commons/compress/archivers/SevenZTestCase.java
@@ -32,8 +32,8 @@ import org.apache.commons.compress.archivers.sevenz.SevenZFile;
 import org.apache.commons.compress.archivers.sevenz.SevenZMethod;
 import org.apache.commons.compress.archivers.sevenz.SevenZOutputFile;
 import org.junit.Assume;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
 public class SevenZTestCase extends AbstractTestCase {
 
@@ -46,7 +46,7 @@ public class SevenZTestCase extends AbstractTestCase {
     }
 
     @Override
-    @Before
+    @BeforeEach
     public void setUp() throws Exception {
         super.setUp();
         output = new File(dir, "bla.7z");
diff --git a/src/test/java/org/apache/commons/compress/archivers/TarTestCase.java b/src/test/java/org/apache/commons/compress/archivers/TarTestCase.java
index b52a5d6..d32b0de 100644
--- a/src/test/java/org/apache/commons/compress/archivers/TarTestCase.java
+++ b/src/test/java/org/apache/commons/compress/archivers/TarTestCase.java
@@ -36,7 +36,7 @@ import org.apache.commons.compress.archivers.tar.TarFile;
 import org.apache.commons.compress.utils.ByteUtils;
 import org.apache.commons.compress.utils.CharsetNames;
 import org.apache.commons.compress.utils.IOUtils;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import static java.nio.charset.StandardCharsets.*;
 import static org.junit.Assert.assertArrayEquals;
diff --git a/src/test/java/org/apache/commons/compress/archivers/ZipTestCase.java b/src/test/java/org/apache/commons/compress/archivers/ZipTestCase.java
index c63e984..2ed7b48 100644
--- a/src/test/java/org/apache/commons/compress/archivers/ZipTestCase.java
+++ b/src/test/java/org/apache/commons/compress/archivers/ZipTestCase.java
@@ -58,7 +58,7 @@ import org.apache.commons.compress.utils.IOUtils;
 import org.apache.commons.compress.utils.InputStreamStatistics;
 import org.apache.commons.compress.utils.SeekableInMemoryByteChannel;
 import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public final class ZipTestCase extends AbstractTestCase {
 
@@ -688,17 +688,17 @@ public final class ZipTestCase extends AbstractTestCase {
         testInputStreamStatistics("COMPRESS-380/COMPRESS-380.zip", expected);
     }
 
-    @Test(expected = IllegalArgumentException.class)
+    @Test
     public void buildSplitZipWithTooSmallSizeThrowsException() throws IOException {
         new ZipArchiveOutputStream(File.createTempFile("temp", "zip"), 64 * 1024 - 1);
     }
 
-    @Test(expected = IllegalArgumentException.class)
+    @Test
     public void buildSplitZipWithTooLargeSizeThrowsException() throws IOException {
         new ZipArchiveOutputStream(File.createTempFile("temp", "zip"), 4294967295L + 1);
     }
 
-    @Test(expected = IOException.class)
+    @Test
     public void buildSplitZipWithSegmentAlreadyExistThrowsException() throws IOException {
         final File directoryToZip = getFilesToZip();
         final File outputZipFile = new File(dir, "splitZip.zip");
diff --git a/src/test/java/org/apache/commons/compress/archivers/ar/ArArchiveInputStreamTest.java b/src/test/java/org/apache/commons/compress/archivers/ar/ArArchiveInputStreamTest.java
index 4d6fb85..4fc1384 100644
--- a/src/test/java/org/apache/commons/compress/archivers/ar/ArArchiveInputStreamTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/ar/ArArchiveInputStreamTest.java
@@ -34,7 +34,7 @@ import org.apache.commons.compress.AbstractTestCase;
 import org.apache.commons.compress.archivers.ArchiveEntry;
 import org.apache.commons.compress.utils.ArchiveUtils;
 import org.apache.commons.compress.utils.IOUtils;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class ArArchiveInputStreamTest extends AbstractTestCase {
 
@@ -119,7 +119,7 @@ public class ArArchiveInputStreamTest extends AbstractTestCase {
         }
     }
 
-    @Test(expected=IllegalStateException.class)
+    @Test
     public void cantReadWithoutOpeningAnEntry() throws Exception {
         try (InputStream in = Files.newInputStream(getFile("bla.ar").toPath());
              ArArchiveInputStream archive = new ArArchiveInputStream(in)) {
@@ -127,7 +127,7 @@ public class ArArchiveInputStreamTest extends AbstractTestCase {
         }
     }
 
-    @Test(expected=IllegalStateException.class)
+    @Test
     public void cantReadAfterClose() throws Exception {
         try (InputStream in = Files.newInputStream(getFile("bla.ar").toPath());
              ArArchiveInputStream archive = new ArArchiveInputStream(in)) {
diff --git a/src/test/java/org/apache/commons/compress/archivers/ar/ArArchiveOutputStreamTest.java b/src/test/java/org/apache/commons/compress/archivers/ar/ArArchiveOutputStreamTest.java
index d705f5e..bf29fbf 100644
--- a/src/test/java/org/apache/commons/compress/archivers/ar/ArArchiveOutputStreamTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/ar/ArArchiveOutputStreamTest.java
@@ -30,7 +30,7 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.commons.compress.AbstractTestCase;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class ArArchiveOutputStreamTest extends AbstractTestCase {
 
diff --git a/src/test/java/org/apache/commons/compress/archivers/arj/ArjArchiveInputStreamTest.java b/src/test/java/org/apache/commons/compress/archivers/arj/ArjArchiveInputStreamTest.java
index a16c878..607141a 100644
--- a/src/test/java/org/apache/commons/compress/archivers/arj/ArjArchiveInputStreamTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/arj/ArjArchiveInputStreamTest.java
@@ -30,7 +30,7 @@ import java.util.TimeZone;
 import org.apache.commons.compress.AbstractTestCase;
 import org.apache.commons.compress.archivers.ArchiveEntry;
 import org.apache.commons.compress.utils.IOUtils;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class ArjArchiveInputStreamTest extends AbstractTestCase {
 
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
index 29f27df..59690fa 100644
--- a/src/test/java/org/apache/commons/compress/archivers/arj/CoverageTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/arj/CoverageTest.java
@@ -21,7 +21,7 @@ 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;
+import org.junit.jupiter.api.Test;
 
 public class CoverageTest {
 
diff --git a/src/test/java/org/apache/commons/compress/archivers/cpio/CpioArchiveInputStreamTest.java b/src/test/java/org/apache/commons/compress/archivers/cpio/CpioArchiveInputStreamTest.java
index 81e17d6..57d7ed0 100644
--- a/src/test/java/org/apache/commons/compress/archivers/cpio/CpioArchiveInputStreamTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/cpio/CpioArchiveInputStreamTest.java
@@ -27,7 +27,7 @@ import java.nio.file.Files;
 import org.apache.commons.compress.AbstractTestCase;
 import org.apache.commons.compress.archivers.ArchiveEntry;
 import org.apache.commons.compress.utils.IOUtils;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class CpioArchiveInputStreamTest extends AbstractTestCase {
 
diff --git a/src/test/java/org/apache/commons/compress/archivers/cpio/CpioArchiveOutputStreamTest.java b/src/test/java/org/apache/commons/compress/archivers/cpio/CpioArchiveOutputStreamTest.java
index 180438b..27e2732 100644
--- a/src/test/java/org/apache/commons/compress/archivers/cpio/CpioArchiveOutputStreamTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/cpio/CpioArchiveOutputStreamTest.java
@@ -28,7 +28,7 @@ import java.nio.file.Files;
 
 import org.apache.commons.compress.AbstractTestCase;
 import org.apache.commons.compress.utils.IOUtils;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class CpioArchiveOutputStreamTest extends AbstractTestCase {
 
diff --git a/src/test/java/org/apache/commons/compress/archivers/cpio/CpioArchiveTest.java b/src/test/java/org/apache/commons/compress/archivers/cpio/CpioArchiveTest.java
index dc76db4..7de8055 100644
--- a/src/test/java/org/apache/commons/compress/archivers/cpio/CpioArchiveTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/cpio/CpioArchiveTest.java
@@ -20,34 +20,27 @@ package org.apache.commons.compress.archivers.cpio;
 
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
-import java.util.Arrays;
-import java.util.Collection;
+import java.util.stream.Stream;
+
 import org.apache.commons.compress.utils.IOUtils;
 import org.junit.Assert;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized.Parameters;
-import org.junit.runners.Parameterized;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
 
-@RunWith(Parameterized.class)
 public class CpioArchiveTest {
 
-    @Parameters(name = "using {0}")
-    public static Collection<Object[]> factory() {
-        return Arrays.asList(new Object[]  { CpioConstants.FORMAT_NEW },
-                new Object[]  { CpioConstants.FORMAT_NEW_CRC },
-                new Object[]  { CpioConstants.FORMAT_OLD_ASCII },
-                new Object[]  { CpioConstants.FORMAT_OLD_BINARY });
-    }
-
-    private final short format;
-
-    public CpioArchiveTest(final short format) {
-        this.format = format;
+    public static Stream<Arguments> factory() {
+        return Stream.of(
+                Arguments.of(CpioConstants.FORMAT_NEW),
+                Arguments.of(CpioConstants.FORMAT_NEW_CRC),
+                Arguments.of(CpioConstants.FORMAT_OLD_ASCII),
+                Arguments.of(CpioConstants.FORMAT_OLD_BINARY));
     }
 
-    @Test
-    public void utf18RoundtripTest() throws Exception {
+    @ParameterizedTest
+    @MethodSource("factory")
+    public void utf18RoundtripTest(final short format) throws Exception {
         try (ByteArrayOutputStream baos = new ByteArrayOutputStream()) {
             try (CpioArchiveOutputStream os = new CpioArchiveOutputStream(baos, format, CpioConstants.BLOCK_SIZE,
                 "UTF-16LE")) {
diff --git a/src/test/java/org/apache/commons/compress/archivers/cpio/CpioUtilTest.java b/src/test/java/org/apache/commons/compress/archivers/cpio/CpioUtilTest.java
index 359b6a1..f453c00 100644
--- a/src/test/java/org/apache/commons/compress/archivers/cpio/CpioUtilTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/cpio/CpioUtilTest.java
@@ -18,7 +18,7 @@
  */
 package org.apache.commons.compress.archivers.cpio;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
@@ -54,7 +54,7 @@ public class CpioUtilTest {
     }
 
 
-    @Test(expected = UnsupportedOperationException.class)
+    @Test
     public void testLong2byteArrayWithZeroThrowsUnsupportedOperationException() {
 
         CpioUtil.long2byteArray(0L, 0, false);
@@ -62,7 +62,7 @@ public class CpioUtilTest {
     }
 
 
-    @Test(expected = UnsupportedOperationException.class)
+    @Test
     public void testLong2byteArrayWithPositiveThrowsUnsupportedOperationException() {
 
         CpioUtil.long2byteArray(0L, 1021, false);
@@ -70,7 +70,7 @@ public class CpioUtilTest {
     }
 
 
-    @Test(expected = UnsupportedOperationException.class)
+    @Test
     public void testByteArray2longThrowsUnsupportedOperationException() {
 
         final byte[] byteArray = new byte[1];
diff --git a/src/test/java/org/apache/commons/compress/archivers/dump/DumpArchiveEntryTest.java b/src/test/java/org/apache/commons/compress/archivers/dump/DumpArchiveEntryTest.java
index 8cc8fd2..66b227a 100644
--- a/src/test/java/org/apache/commons/compress/archivers/dump/DumpArchiveEntryTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/dump/DumpArchiveEntryTest.java
@@ -20,7 +20,7 @@ package org.apache.commons.compress.archivers.dump;
 
 import static org.junit.Assert.assertEquals;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class DumpArchiveEntryTest {
     @Test
diff --git a/src/test/java/org/apache/commons/compress/archivers/dump/DumpArchiveInputStreamTest.java b/src/test/java/org/apache/commons/compress/archivers/dump/DumpArchiveInputStreamTest.java
index b31b635..0a9bee1 100644
--- a/src/test/java/org/apache/commons/compress/archivers/dump/DumpArchiveInputStreamTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/dump/DumpArchiveInputStreamTest.java
@@ -30,7 +30,7 @@ import org.apache.commons.compress.AbstractTestCase;
 import org.apache.commons.compress.archivers.ArchiveEntry;
 import org.apache.commons.compress.archivers.ArchiveException;
 import org.apache.commons.compress.utils.IOUtils;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class DumpArchiveInputStreamTest extends AbstractTestCase {
 
diff --git a/src/test/java/org/apache/commons/compress/archivers/dump/DumpArchiveUtilTest.java b/src/test/java/org/apache/commons/compress/archivers/dump/DumpArchiveUtilTest.java
index 2aceca3..2fb0b3c 100644
--- a/src/test/java/org/apache/commons/compress/archivers/dump/DumpArchiveUtilTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/dump/DumpArchiveUtilTest.java
@@ -20,7 +20,7 @@ package org.apache.commons.compress.archivers.dump;
 
 import static org.junit.Assert.assertEquals;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class DumpArchiveUtilTest {
 
diff --git a/src/test/java/org/apache/commons/compress/archivers/examples/ExpanderTest.java b/src/test/java/org/apache/commons/compress/archivers/examples/ExpanderTest.java
index d1935ad..7b8cb94 100644
--- a/src/test/java/org/apache/commons/compress/archivers/examples/ExpanderTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/examples/ExpanderTest.java
@@ -41,7 +41,7 @@ import org.apache.commons.compress.utils.IOUtils;
 import org.junit.Assert;
 import org.junit.Assume;
 import org.junit.Rule;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.junit.rules.ExpectedException;
 
 import static java.nio.charset.StandardCharsets.*;
@@ -67,7 +67,7 @@ public class ExpanderTest extends AbstractTestCase {
         verifyTargetDir();
     }
 
-    @Test(expected = StreamingNotSupportedException.class)
+    @Test
     public void sevenZInputStreamVersion() throws IOException, ArchiveException {
         setup7z();
         try (InputStream i = new BufferedInputStream(Files.newInputStream(archive.toPath()))) {
@@ -75,7 +75,7 @@ public class ExpanderTest extends AbstractTestCase {
         }
     }
 
-    @Test(expected = StreamingNotSupportedException.class)
+    @Test
     public void sevenZInputStreamVersionWithAutoDetection() throws IOException, ArchiveException {
         setup7z();
         try (InputStream i = new BufferedInputStream(Files.newInputStream(archive.toPath()))) {
diff --git a/src/test/java/org/apache/commons/compress/archivers/examples/ParameterizedArchiverTest.java b/src/test/java/org/apache/commons/compress/archivers/examples/ParameterizedArchiverTest.java
index 7398cfe..a37d646 100644
--- a/src/test/java/org/apache/commons/compress/archivers/examples/ParameterizedArchiverTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/examples/ParameterizedArchiverTest.java
@@ -29,6 +29,7 @@ import java.nio.file.Files;
 import java.nio.file.StandardOpenOption;
 import java.util.Arrays;
 import java.util.Collection;
+import java.util.stream.Stream;
 
 import org.apache.commons.compress.AbstractTestCase;
 import org.apache.commons.compress.archivers.ArchiveEntry;
@@ -38,39 +39,33 @@ import org.apache.commons.compress.archivers.ArchiveOutputStream;
 import org.apache.commons.compress.archivers.ArchiveStreamFactory;
 import org.apache.commons.compress.utils.IOUtils;
 import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized.Parameters;
 import org.junit.runners.Parameterized;
 
 import static java.nio.charset.StandardCharsets.*;
 
-@RunWith(Parameterized.class)
 public class ParameterizedArchiverTest extends AbstractTestCase {
 
     // can't test 7z here as 7z cannot write to non-seekable streams
     // and reading logic would be different as well - see
     // SevenZArchiverTest class
-    @Parameters(name = "format={0}")
-    public static Collection<Object[]> data() {
-        return Arrays.asList(
-            new Object[] { "tar" },
-            new Object[] { "cpio" },
-            new Object[] { "zip" }
+    public static Stream<Arguments> data() {
+        return Stream.of(
+                Arguments.of("tar"),
+                Arguments.of("cpio"),
+                Arguments.of("zip")
         );
     }
 
-    private final String format;
     private File target;
 
-    public ParameterizedArchiverTest(final String format) {
-        this.format = format;
-    }
-
-    @Before
-    @Override
-    public void setUp() throws Exception {
+    public void setUp(final String format) throws Exception {
         super.setUp();
         final File c = new File(dir, "a/b/c");
         c.mkdirs();
@@ -83,39 +78,51 @@ public class ParameterizedArchiverTest extends AbstractTestCase {
         target = new File(resultDir, "test." + format);
     }
 
-    @Test
-    public void fileVersion() throws IOException, ArchiveException {
+    @ParameterizedTest
+    @MethodSource("data")
+    public void fileVersion(final String format) throws Exception {
+        // TODO How to parameterize a BeforeEach method?
+        setUp(format);
         new Archiver().create(format, target, dir);
-        verifyContent();
+        verifyContent(format);
     }
 
-    @Test
-    public void outputStreamVersion() throws IOException, ArchiveException {
+    @ParameterizedTest
+    @MethodSource("data")
+    public void outputStreamVersion(final String format) throws Exception {
+        // TODO How to parameterize a BeforeEach method?
+        setUp(format);
         try (OutputStream os = Files.newOutputStream(target.toPath())) {
             new Archiver().create(format, os, dir);
         }
-        verifyContent();
+        verifyContent(format);
     }
 
-    @Test
-    public void channelVersion() throws IOException, ArchiveException {
+    @ParameterizedTest
+    @MethodSource("data")
+    public void channelVersion(final String format) throws Exception {
+        // TODO How to parameterize a BeforeEach method?
+        setUp(format);
         try (SeekableByteChannel c = FileChannel.open(target.toPath(), StandardOpenOption.WRITE,
             StandardOpenOption.CREATE, StandardOpenOption.TRUNCATE_EXISTING)) {
             new Archiver().create(format, c, dir);
         }
-        verifyContent();
+        verifyContent(format);
     }
 
-    @Test
-    public void archiveStreamVersion() throws IOException, ArchiveException {
+    @ParameterizedTest
+    @MethodSource("data")
+    public void archiveStreamVersion(final String format) throws Exception {
+        // TODO How to parameterize a BeforeEach method?
+        setUp(format);
         try (OutputStream os = Files.newOutputStream(target.toPath());
              ArchiveOutputStream aos = ArchiveStreamFactory.DEFAULT.createArchiveOutputStream(format, os)) {
             new Archiver().create(aos, dir);
         }
-        verifyContent();
+        verifyContent(format);
     }
 
-    private void verifyContent() throws IOException, ArchiveException {
+    private void verifyContent(final String format) throws IOException, ArchiveException {
         try (InputStream is = Files.newInputStream(target.toPath());
              BufferedInputStream bis = new BufferedInputStream(is);
              ArchiveInputStream ais = ArchiveStreamFactory.DEFAULT.createArchiveInputStream(format, bis)) {
diff --git a/src/test/java/org/apache/commons/compress/archivers/examples/ParameterizedExpanderTest.java b/src/test/java/org/apache/commons/compress/archivers/examples/ParameterizedExpanderTest.java
index da52536..3742a33 100644
--- a/src/test/java/org/apache/commons/compress/archivers/examples/ParameterizedExpanderTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/examples/ParameterizedExpanderTest.java
@@ -18,6 +18,8 @@
  */
 package org.apache.commons.compress.archivers.examples;
 
+import static java.nio.charset.StandardCharsets.UTF_8;
+
 import java.io.BufferedInputStream;
 import java.io.File;
 import java.io.IOException;
@@ -27,8 +29,7 @@ import java.nio.channels.FileChannel;
 import java.nio.channels.SeekableByteChannel;
 import java.nio.file.Files;
 import java.nio.file.StandardOpenOption;
-import java.util.Arrays;
-import java.util.Collection;
+import java.util.stream.Stream;
 
 import org.apache.commons.compress.AbstractTestCase;
 import org.apache.commons.compress.archivers.ArchiveException;
@@ -37,37 +38,27 @@ import org.apache.commons.compress.archivers.ArchiveOutputStream;
 import org.apache.commons.compress.archivers.ArchiveStreamFactory;
 import org.apache.commons.compress.utils.IOUtils;
 import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
 import org.junit.runners.Parameterized.Parameters;
-import org.junit.runners.Parameterized;
-
-import static java.nio.charset.StandardCharsets.*;
 
-@RunWith(Parameterized.class)
 public class ParameterizedExpanderTest extends AbstractTestCase {
 
     // 7z and ZIP using ZipFile is in ExpanderTest
     @Parameters(name = "format={0}")
-    public static Collection<Object[]> data() {
-        return Arrays.asList(
-            new Object[] { "tar" },
-            new Object[] { "cpio" },
-            new Object[] { "zip" }
+    public static Stream<Arguments> data() {
+        return Stream.of(
+                   Arguments.of("tar"),
+                   Arguments.of("cpio"),
+                   Arguments.of("zip")
         );
     }
 
-    private final String format;
     private File archive;
 
-    public ParameterizedExpanderTest(final String format) {
-        this.format = format;
-    }
-
-    @Before
-    @Override
-    public void setUp() throws Exception {
+    public void setUp(final String format) throws Exception {
         super.setUp();
         archive = new File(dir, "test." + format);
         final File dummy = new File(dir, "x");
@@ -92,44 +83,62 @@ public class ParameterizedExpanderTest extends AbstractTestCase {
         }
     }
 
-    @Test
-    public void fileVersion() throws IOException, ArchiveException {
+    @ParameterizedTest
+    @MethodSource("data")
+    public void fileVersion(final String format) throws Exception {
+        // TODO How to parameterize a BeforeEach method?
+        setUp(format);
         new Expander().expand(format, archive, resultDir);
         verifyTargetDir();
     }
 
-    @Test
-    public void fileVersionWithAutoDetection() throws IOException, ArchiveException {
+    @ParameterizedTest
+    @MethodSource("data")
+    public void fileVersionWithAutoDetection(final String format) throws Exception {
+        // TODO How to parameterize a BeforeEach method?
+        setUp(format);
         new Expander().expand(archive, resultDir);
         verifyTargetDir();
     }
 
-    @Test
-    public void inputStreamVersion() throws IOException, ArchiveException {
+    @ParameterizedTest
+    @MethodSource("data")
+    public void inputStreamVersion(final String format) throws Exception {
+        // TODO How to parameterize a BeforeEach method?
+        setUp(format);
         try (InputStream i = new BufferedInputStream(Files.newInputStream(archive.toPath()))) {
             new Expander().expand(format, i, resultDir);
         }
         verifyTargetDir();
     }
 
-    @Test
-    public void inputStreamVersionWithAutoDetection() throws IOException, ArchiveException {
+    @ParameterizedTest
+    @MethodSource("data")
+    public void inputStreamVersionWithAutoDetection(final String format) throws Exception {
+        // TODO How to parameterize a BeforeEach method?
+        setUp(format);
         try (InputStream i = new BufferedInputStream(Files.newInputStream(archive.toPath()))) {
             new Expander().expand(i, resultDir);
         }
         verifyTargetDir();
     }
 
-    @Test
-    public void channelVersion() throws IOException, ArchiveException {
+    @ParameterizedTest
+    @MethodSource("data")
+    public void channelVersion(final String format) throws Exception {
+        // TODO How to parameterize a BeforeEach method?
+        setUp(format);
         try (SeekableByteChannel c = FileChannel.open(archive.toPath(), StandardOpenOption.READ)) {
             new Expander().expand(format, c, resultDir);
         }
         verifyTargetDir();
     }
 
-    @Test
-    public void archiveInputStreamVersion() throws IOException, ArchiveException {
+    @ParameterizedTest
+    @MethodSource("data")
+    public void archiveInputStreamVersion(final String format) throws Exception {
+        // TODO How to parameterize a BeforeEach method?
+        setUp(format);
         try (InputStream i = new BufferedInputStream(Files.newInputStream(archive.toPath()));
              ArchiveInputStream ais = ArchiveStreamFactory.DEFAULT.createArchiveInputStream(format, i)) {
             new Expander().expand(ais, resultDir);
diff --git a/src/test/java/org/apache/commons/compress/archivers/examples/SevenZArchiverTest.java b/src/test/java/org/apache/commons/compress/archivers/examples/SevenZArchiverTest.java
index f6ce4f3..579ef93 100644
--- a/src/test/java/org/apache/commons/compress/archivers/examples/SevenZArchiverTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/examples/SevenZArchiverTest.java
@@ -32,15 +32,15 @@ import org.apache.commons.compress.archivers.ArchiveException;
 import org.apache.commons.compress.archivers.StreamingNotSupportedException;
 import org.apache.commons.compress.archivers.sevenz.SevenZFile;
 import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
 import static java.nio.charset.StandardCharsets.*;
 
 public class SevenZArchiverTest extends AbstractTestCase {
     private File target;
 
-    @Before
+    @BeforeEach
     @Override
     public void setUp() throws Exception {
         super.setUp();
@@ -61,7 +61,7 @@ public class SevenZArchiverTest extends AbstractTestCase {
         verifyContent();
     }
 
-    @Test(expected = StreamingNotSupportedException.class)
+    @Test
     public void outputStreamVersion() throws IOException, ArchiveException {
         try (OutputStream os = Files.newOutputStream(target.toPath())) {
             new Archiver().create("7z", os, dir);
@@ -78,7 +78,7 @@ public class SevenZArchiverTest extends AbstractTestCase {
     }
 
     // not really a 7z test but I didn't feel like adding a new test just for this
-    @Test(expected = ArchiveException.class)
+    @Test
     public void unknownFormat() throws IOException, ArchiveException {
         try (SeekableByteChannel c = FileChannel.open(target.toPath(), StandardOpenOption.WRITE,
             StandardOpenOption.CREATE, StandardOpenOption.TRUNCATE_EXISTING)) {
diff --git a/src/test/java/org/apache/commons/compress/archivers/jar/JarArchiveOutputStreamTest.java b/src/test/java/org/apache/commons/compress/archivers/jar/JarArchiveOutputStreamTest.java
index e63b206..5f3c893 100644
--- a/src/test/java/org/apache/commons/compress/archivers/jar/JarArchiveOutputStreamTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/jar/JarArchiveOutputStreamTest.java
@@ -26,7 +26,7 @@ import java.io.File;
 import java.io.IOException;
 import java.nio.file.Files;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.apache.commons.compress.AbstractTestCase;
 import org.apache.commons.compress.archivers.zip.JarMarker;
 import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
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
index 7f59fa1..7dce86b 100644
--- a/src/test/java/org/apache/commons/compress/archivers/jar/JarMarkerTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/jar/JarMarkerTest.java
@@ -22,11 +22,12 @@ import static org.junit.Assert.fail;
 
 import java.util.zip.ZipException;
 import org.apache.commons.compress.archivers.zip.JarMarker;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class JarMarkerTest {
 
-    @Test public void testJarMarkerLengthCheck() {
+    @Test
+    public void testJarMarkerLengthCheck() {
         final JarMarker jarMarker = JarMarker.getInstance();
         try {
             jarMarker.parseFromLocalFileData(null,0,1);
diff --git a/src/test/java/org/apache/commons/compress/archivers/memory/MemoryArchiveTestCase.java b/src/test/java/org/apache/commons/compress/archivers/memory/MemoryArchiveTestCase.java
index 2132008..d9c76b0 100644
--- a/src/test/java/org/apache/commons/compress/archivers/memory/MemoryArchiveTestCase.java
+++ b/src/test/java/org/apache/commons/compress/archivers/memory/MemoryArchiveTestCase.java
@@ -24,9 +24,8 @@ import static org.junit.Assert.assertNull;
 
 import java.io.IOException;
 
-import org.junit.Test;
-
 import org.apache.commons.compress.archivers.ArchiveEntry;
+import org.junit.jupiter.api.Test;
 
 public final class MemoryArchiveTestCase {
 
diff --git a/src/test/java/org/apache/commons/compress/archivers/sevenz/AES256SHA256DecoderTest.java b/src/test/java/org/apache/commons/compress/archivers/sevenz/AES256SHA256DecoderTest.java
index bbcf692..2813f04 100644
--- a/src/test/java/org/apache/commons/compress/archivers/sevenz/AES256SHA256DecoderTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/sevenz/AES256SHA256DecoderTest.java
@@ -18,7 +18,7 @@
  */
 package org.apache.commons.compress.archivers.sevenz;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import java.io.BufferedInputStream;
 import java.io.InputStream;
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
index fe052aa..127968f 100644
--- a/src/test/java/org/apache/commons/compress/archivers/sevenz/CoverageTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/sevenz/CoverageTest.java
@@ -18,18 +18,20 @@
  */
 package org.apache.commons.compress.archivers.sevenz;
 
+import org.junit.jupiter.api.Test;
+
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.fail;
 
-import org.junit.Test;
-
 public class CoverageTest {
 
-    @Test public void testNidInstance() {
+    @Test
+    public void testNidInstance() {
         assertNotNull(new NID());
     }
 
-    @Test public void testCLIInstance() {
+    @Test
+    public void testCLIInstance() {
         final CLI foo = new CLI();
         assertNotNull(foo);
         try {
diff --git a/src/test/java/org/apache/commons/compress/archivers/sevenz/FolderTest.java b/src/test/java/org/apache/commons/compress/archivers/sevenz/FolderTest.java
index 1b275bd..b3ceece 100644
--- a/src/test/java/org/apache/commons/compress/archivers/sevenz/FolderTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/sevenz/FolderTest.java
@@ -18,7 +18,7 @@
  */
 package org.apache.commons.compress.archivers.sevenz;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import static org.junit.Assert.assertEquals;
 
diff --git a/src/test/java/org/apache/commons/compress/archivers/sevenz/SevenZArchiveEntryTest.java b/src/test/java/org/apache/commons/compress/archivers/sevenz/SevenZArchiveEntryTest.java
index 5bb8eed..0f4205d 100644
--- a/src/test/java/org/apache/commons/compress/archivers/sevenz/SevenZArchiveEntryTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/sevenz/SevenZArchiveEntryTest.java
@@ -18,23 +18,23 @@
 package org.apache.commons.compress.archivers.sevenz;
 
 import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import java.util.Arrays;
 
 public class SevenZArchiveEntryTest {
 
-    @Test(expected=UnsupportedOperationException.class)
+    @Test
     public void shouldThrowIfNoLastModifiedDateIsSet() {
         new SevenZArchiveEntry().getLastModifiedDate();
     }
 
-    @Test(expected=UnsupportedOperationException.class)
+    @Test
     public void shouldThrowIfNoCreationDateIsSet() {
         new SevenZArchiveEntry().getCreationDate();
     }
 
-    @Test(expected=UnsupportedOperationException.class)
+    @Test
     public void shouldThrowIfNoAccessDateIsSet() {
         new SevenZArchiveEntry().getAccessDate();
     }
diff --git a/src/test/java/org/apache/commons/compress/archivers/sevenz/SevenZFileTest.java b/src/test/java/org/apache/commons/compress/archivers/sevenz/SevenZFileTest.java
index 9e9b717..d6f6edf 100644
--- a/src/test/java/org/apache/commons/compress/archivers/sevenz/SevenZFileTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/sevenz/SevenZFileTest.java
@@ -52,7 +52,7 @@ import org.apache.commons.compress.utils.IOUtils;
 import org.apache.commons.compress.utils.MultiReadOnlySeekableByteChannel;
 import org.apache.commons.compress.utils.SeekableInMemoryByteChannel;
 import org.junit.Rule;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.junit.rules.ExpectedException;
 
 public class SevenZFileTest extends AbstractTestCase {
@@ -319,7 +319,7 @@ public class SevenZFileTest extends AbstractTestCase {
         }
     }
 
-    @Test(expected = MemoryLimitException.class)
+    @Test
     public void limitExtractionMemory() throws IOException {
         try (SevenZFile sevenZFile = new SevenZFile(getFile("bla.7z"),
             SevenZFileOptions.builder().withMaxMemoryLimitInKb(1).build())) {
diff --git a/src/test/java/org/apache/commons/compress/archivers/sevenz/SevenZMethodConfigurationTest.java b/src/test/java/org/apache/commons/compress/archivers/sevenz/SevenZMethodConfigurationTest.java
index 20fccbd..b5bf09e 100644
--- a/src/test/java/org/apache/commons/compress/archivers/sevenz/SevenZMethodConfigurationTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/sevenz/SevenZMethodConfigurationTest.java
@@ -18,7 +18,7 @@
 package org.apache.commons.compress.archivers.sevenz;
 
 import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.tukaani.xz.LZMA2Options;
 
 public class SevenZMethodConfigurationTest {
@@ -67,12 +67,12 @@ public class SevenZMethodConfigurationTest {
                              .getOptions());
     }
 
-    @Test(expected = IllegalArgumentException.class)
+    @Test
     public void shouldNotAllowStringOptionsForLZMA() {
         new SevenZMethodConfiguration(SevenZMethod.LZMA, "");
     }
 
-    @Test(expected = IllegalArgumentException.class)
+    @Test
     public void shouldNotAllowStringOptionsForLZMA2() {
         new SevenZMethodConfiguration(SevenZMethod.LZMA2, "");
     }
diff --git a/src/test/java/org/apache/commons/compress/archivers/sevenz/SevenZNativeHeapTest.java b/src/test/java/org/apache/commons/compress/archivers/sevenz/SevenZNativeHeapTest.java
index 804519e..f99e739 100644
--- a/src/test/java/org/apache/commons/compress/archivers/sevenz/SevenZNativeHeapTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/sevenz/SevenZNativeHeapTest.java
@@ -30,7 +30,7 @@ import org.apache.commons.compress.archivers.sevenz.Coders.DeflateDecoder;
 import org.apache.commons.compress.archivers.sevenz.Coders.DeflateDecoder.DeflateDecoderInputStream;
 import org.apache.commons.compress.archivers.sevenz.Coders.DeflateDecoder.DeflateDecoderOutputStream;
 import org.apache.commons.compress.utils.ByteUtils;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class SevenZNativeHeapTest extends AbstractTestCase {
 
diff --git a/src/test/java/org/apache/commons/compress/archivers/sevenz/SevenZOutputFileTest.java b/src/test/java/org/apache/commons/compress/archivers/sevenz/SevenZOutputFileTest.java
index ea8c749..649edcf 100644
--- a/src/test/java/org/apache/commons/compress/archivers/sevenz/SevenZOutputFileTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/sevenz/SevenZOutputFileTest.java
@@ -23,7 +23,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import java.io.ByteArrayInputStream;
 import java.io.File;
diff --git a/src/test/java/org/apache/commons/compress/archivers/tar/BigFilesIT.java b/src/test/java/org/apache/commons/compress/archivers/tar/BigFilesIT.java
index 447262c..0d352f2 100644
--- a/src/test/java/org/apache/commons/compress/archivers/tar/BigFilesIT.java
+++ b/src/test/java/org/apache/commons/compress/archivers/tar/BigFilesIT.java
@@ -28,7 +28,7 @@ import java.util.Random;
 
 import org.apache.commons.compress.AbstractTestCase;
 import org.apache.commons.compress.compressors.gzip.GzipCompressorInputStream;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
diff --git a/src/test/java/org/apache/commons/compress/archivers/tar/SparseFilesTest.java b/src/test/java/org/apache/commons/compress/archivers/tar/SparseFilesTest.java
index 9faa7d9..1a29043 100644
--- a/src/test/java/org/apache/commons/compress/archivers/tar/SparseFilesTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/tar/SparseFilesTest.java
@@ -29,7 +29,7 @@ import static org.junit.Assume.assumeTrue;
 import org.apache.commons.compress.AbstractTestCase;
 import org.apache.commons.compress.utils.IOUtils;
 import org.junit.Assume;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import java.io.BufferedInputStream;
 import java.io.File;
diff --git a/src/test/java/org/apache/commons/compress/archivers/tar/TarArchiveEntryTest.java b/src/test/java/org/apache/commons/compress/archivers/tar/TarArchiveEntryTest.java
index 0f119d6..4f3dc2a 100644
--- a/src/test/java/org/apache/commons/compress/archivers/tar/TarArchiveEntryTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/tar/TarArchiveEntryTest.java
@@ -41,7 +41,7 @@ import java.util.Locale;
 import org.apache.commons.compress.AbstractTestCase;
 import org.apache.commons.compress.archivers.zip.ZipEncodingHelper;
 import org.apache.commons.compress.utils.CharsetNames;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class TarArchiveEntryTest implements TarConstants {
 
@@ -135,42 +135,39 @@ public class TarArchiveEntryTest implements TarConstants {
         t.setSize(0100000000000L);
     }
 
-    @Test public void testExtraPaxHeaders() throws IOException {
+    @Test
+    public void testExtraPaxHeaders() throws IOException {
         final ByteArrayOutputStream bos = new ByteArrayOutputStream();
         final TarArchiveOutputStream tos = new TarArchiveOutputStream(bos);
 
         TarArchiveEntry entry = new TarArchiveEntry("./weasels");
-        entry.addPaxHeader("APACHE.mustelida","true");
-        entry.addPaxHeader("SCHILY.xattr.user.org.apache.weasels","maximum weasels");
-        entry.addPaxHeader("size","1");
-        assertEquals("extra header count",2,entry.getExtraPaxHeaders().size());
-        assertEquals("APACHE.mustelida","true",
-            entry.getExtraPaxHeader("APACHE.mustelida"));
-        assertEquals("SCHILY.xattr.user.org.apache.weasels","maximum weasels",
-            entry.getExtraPaxHeader("SCHILY.xattr.user.org.apache.weasels"));
-        assertEquals("size",entry.getSize(),1);
+        entry.addPaxHeader("APACHE.mustelida", "true");
+        entry.addPaxHeader("SCHILY.xattr.user.org.apache.weasels", "maximum weasels");
+        entry.addPaxHeader("size", "1");
+        assertEquals("extra header count", 2, entry.getExtraPaxHeaders().size());
+        assertEquals("APACHE.mustelida", "true", entry.getExtraPaxHeader("APACHE.mustelida"));
+        assertEquals("SCHILY.xattr.user.org.apache.weasels", "maximum weasels", entry.getExtraPaxHeader("SCHILY.xattr.user.org.apache.weasels"));
+        assertEquals("size", entry.getSize(), 1);
 
         tos.putArchiveEntry(entry);
         tos.write('W');
         tos.closeArchiveEntry();
         tos.close();
-        assertNotEquals("should have extra headers before clear",0,entry.getExtraPaxHeaders().size());
+        assertNotEquals("should have extra headers before clear", 0, entry.getExtraPaxHeaders().size());
         entry.clearExtraPaxHeaders();
-        assertEquals("extra headers should be empty after clear",0,entry.getExtraPaxHeaders().size());
+        assertEquals("extra headers should be empty after clear", 0, entry.getExtraPaxHeaders().size());
         final TarArchiveInputStream tis = new TarArchiveInputStream(new ByteArrayInputStream(bos.toByteArray()));
         entry = tis.getNextTarEntry();
-        assertNotNull("couldn't get entry",entry);
+        assertNotNull("couldn't get entry", entry);
 
-        assertEquals("extra header count",2,entry.getExtraPaxHeaders().size());
-        assertEquals("APACHE.mustelida","true",
-            entry.getExtraPaxHeader("APACHE.mustelida"));
-        assertEquals("user.org.apache.weasels","maximum weasels",
-            entry.getExtraPaxHeader("SCHILY.xattr.user.org.apache.weasels"));
+        assertEquals("extra header count", 2, entry.getExtraPaxHeaders().size());
+        assertEquals("APACHE.mustelida", "true", entry.getExtraPaxHeader("APACHE.mustelida"));
+        assertEquals("user.org.apache.weasels", "maximum weasels", entry.getExtraPaxHeader("SCHILY.xattr.user.org.apache.weasels"));
 
-        assertEquals('W',tis.read());
-        assertTrue("should be at end of entry",tis.read() <0);
+        assertEquals('W', tis.read());
+        assertTrue("should be at end of entry", tis.read() < 0);
 
-        assertNull("should be at end of file",tis.getNextTarEntry());
+        assertNull("should be at end of file", tis.getNextTarEntry());
         tis.close();
     }
 
@@ -244,7 +241,7 @@ public class TarArchiveEntryTest implements TarConstants {
         assertNotEquals("", entry.getUserName());
     }
 
-    @Test(expected = IllegalArgumentException.class)
+    @Test
     public void negativeOffsetInConstructorNotAllowed() throws IOException {
         byte[] entryContent = ("test1.xml\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
                 "\u0000" +
@@ -269,7 +266,7 @@ public class TarArchiveEntryTest implements TarConstants {
         new TarArchiveEntry(entryContent, ZipEncodingHelper.getZipEncoding(CharsetNames.ISO_8859_1), false, -1);
     }
 
-    @Test(expected = IllegalArgumentException.class)
+    @Test
     public void negativeOffsetInSetterNotAllowed() {
         new TarArchiveEntry("test").setDataOffset(-1);
     }
@@ -288,7 +285,7 @@ public class TarArchiveEntryTest implements TarConstants {
         assertEquals(20, strs.get(2).getOffset());
     }
 
-    @Test(expected = IOException.class)
+    @Test
     public void getOrderedSparseHeadersRejectsOverlappingStructs() throws Exception {
         final TarArchiveEntry te = new TarArchiveEntry("test");
         te.fillStarSparseData(Collections.singletonMap("SCHILY.realsize", "201"));
@@ -296,7 +293,7 @@ public class TarArchiveEntryTest implements TarConstants {
         te.getOrderedSparseHeaders();
     }
 
-    @Test(expected = IOException.class)
+    @Test
     public void getOrderedSparseHeadersRejectsStructsWithReallyBigNumbers() throws Exception {
         final TarArchiveEntry te = new TarArchiveEntry("test");
         te.fillStarSparseData(Collections.singletonMap("SCHILY.realsize", String.valueOf(Long.MAX_VALUE)));
@@ -304,7 +301,7 @@ public class TarArchiveEntryTest implements TarConstants {
         te.getOrderedSparseHeaders();
     }
 
-    @Test(expected = IOException.class)
+    @Test
     public void getOrderedSparseHeadersRejectsStructsPointingBeyondOutputEntry() throws Exception {
         final TarArchiveEntry te = new TarArchiveEntry("test");
         te.setSparseHeaders(Arrays.asList(new TarArchiveStructSparse(200, 2)));
diff --git a/src/test/java/org/apache/commons/compress/archivers/tar/TarArchiveInputStreamTest.java b/src/test/java/org/apache/commons/compress/archivers/tar/TarArchiveInputStreamTest.java
index eab8e84..306e90c 100644
--- a/src/test/java/org/apache/commons/compress/archivers/tar/TarArchiveInputStreamTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/tar/TarArchiveInputStreamTest.java
@@ -45,7 +45,7 @@ import org.apache.commons.compress.archivers.ArchiveException;
 import org.apache.commons.compress.archivers.ArchiveStreamFactory;
 import org.apache.commons.compress.utils.CharsetNames;
 import org.apache.commons.compress.utils.IOUtils;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class TarArchiveInputStreamTest extends AbstractTestCase {
 
@@ -161,7 +161,7 @@ public class TarArchiveInputStreamTest extends AbstractTestCase {
         }
     }
 
-    @Test(expected = IOException.class)
+    @Test
     public void shouldThrowAnExceptionOnTruncatedEntries() throws Exception {
         final File dir = mkdir("COMPRESS-279");
         final TarArchiveInputStream is = getTestStream("/COMPRESS-279.tar");
@@ -354,7 +354,7 @@ public class TarArchiveInputStreamTest extends AbstractTestCase {
         }
     }
 
-    @Test(expected = IOException.class)
+    @Test
     public void testParseTarWithSpecialPaxHeaders() throws IOException {
         try (InputStream in = Files.newInputStream(getFile("COMPRESS-530.tar").toPath());
              TarArchiveInputStream archive = new TarArchiveInputStream(in)) {
@@ -363,7 +363,7 @@ public class TarArchiveInputStreamTest extends AbstractTestCase {
         }
     }
 
-    @Test(expected = IOException.class)
+    @Test
     public void testParseTarWithNonNumberPaxHeaders() throws IOException {
         try (InputStream in = Files.newInputStream(getFile("COMPRESS-529.tar").toPath());
              TarArchiveInputStream archive = new TarArchiveInputStream(in)) {
@@ -371,7 +371,7 @@ public class TarArchiveInputStreamTest extends AbstractTestCase {
         }
     }
 
-    @Test(expected = IOException.class)
+    @Test
     public void testParseTarTruncatedInPadding() throws IOException {
         try (InputStream in = Files.newInputStream(getFile("COMPRESS-544_truncated_in_padding.tar").toPath());
              TarArchiveInputStream archive = new TarArchiveInputStream(in)) {
@@ -380,7 +380,7 @@ public class TarArchiveInputStreamTest extends AbstractTestCase {
         }
     }
 
-    @Test(expected = IOException.class)
+    @Test
     public void testParseTarTruncatedInContent() throws IOException {
         try (InputStream in = Files.newInputStream(getFile("COMPRESS-544_truncated_in_content.tar").toPath());
              TarArchiveInputStream archive = new TarArchiveInputStream(in)) {
@@ -389,7 +389,7 @@ public class TarArchiveInputStreamTest extends AbstractTestCase {
         }
     }
 
-    @Test(expected = IOException.class)
+    @Test
     public void testThrowExceptionWithNullEntry() throws IOException {
         try (InputStream in = Files.newInputStream(getFile("COMPRESS-554.tar").toPath());
              TarArchiveInputStream archive = new TarArchiveInputStream(in)) {
@@ -398,7 +398,7 @@ public class TarArchiveInputStreamTest extends AbstractTestCase {
         }
     }
 
-    @Test(expected = IOException.class)
+    @Test
     public void testThrowException() throws IOException {
         try (InputStream in = Files.newInputStream(getFile("COMPRESS-553.tar").toPath());
              TarArchiveInputStream archive = new TarArchiveInputStream(in)) {
@@ -433,7 +433,7 @@ public class TarArchiveInputStreamTest extends AbstractTestCase {
         }
     }
 
-    @Test(expected = IOException.class)
+    @Test
     public void rejectsArchivesWithNegativeSizes() throws Exception {
         try (InputStream in = Files.newInputStream(getFile("COMPRESS-569.tar").toPath());
              TarArchiveInputStream archive = new TarArchiveInputStream(in)) {
diff --git a/src/test/java/org/apache/commons/compress/archivers/tar/TarArchiveOutputStreamTest.java b/src/test/java/org/apache/commons/compress/archivers/tar/TarArchiveOutputStreamTest.java
index 8777367..659d84e 100644
--- a/src/test/java/org/apache/commons/compress/archivers/tar/TarArchiveOutputStreamTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/tar/TarArchiveOutputStreamTest.java
@@ -47,7 +47,7 @@ import org.apache.commons.compress.archivers.ArchiveOutputStream;
 import org.apache.commons.compress.archivers.ArchiveStreamFactory;
 import org.apache.commons.compress.utils.IOUtils;
 import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class TarArchiveOutputStreamTest extends AbstractTestCase {
 
@@ -95,7 +95,7 @@ public class TarArchiveOutputStreamTest extends AbstractTestCase {
         }
     }
 
-    @Test(expected = IllegalArgumentException.class)
+    @Test
     public void testBigNumberErrorMode() throws Exception {
         final TarArchiveEntry t = new TarArchiveEntry("foo");
         t.setSize(0100000000000L);
@@ -785,7 +785,7 @@ public class TarArchiveOutputStreamTest extends AbstractTestCase {
         tarIn.close();
     }
 
-    @Test(expected = IllegalArgumentException.class)
+    @Test
     public void testWriteLongFileNameThrowsException() throws Exception {
         final String n = "01234567890123456789012345678901234567890123456789"
                 + "01234567890123456789012345678901234567890123456789"
diff --git a/src/test/java/org/apache/commons/compress/archivers/tar/TarFileTest.java b/src/test/java/org/apache/commons/compress/archivers/tar/TarFileTest.java
index e5a9c4f..d6248de 100644
--- a/src/test/java/org/apache/commons/compress/archivers/tar/TarFileTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/tar/TarFileTest.java
@@ -36,7 +36,7 @@ import java.util.zip.GZIPInputStream;
 import org.apache.commons.compress.AbstractTestCase;
 import org.apache.commons.compress.utils.CharsetNames;
 import org.apache.commons.compress.utils.IOUtils;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
@@ -141,7 +141,7 @@ public class TarFileTest extends AbstractTestCase {
         }
     }
 
-    @Test(expected = IOException.class)
+    @Test
     public void shouldThrowAnExceptionOnTruncatedEntries() throws Exception {
         final File dir = mkdir("COMPRESS-279");
         try (final TarFile tarFile = new TarFile(getPath("COMPRESS-279.tar"))) {
@@ -294,37 +294,37 @@ public class TarFileTest extends AbstractTestCase {
         }
     }
 
-    @Test(expected = IOException.class)
+    @Test
     public void testParseTarWithSpecialPaxHeaders() throws IOException {
         try (final TarFile tarFile = new TarFile(getPath("COMPRESS-530.tar"))) {
         }
     }
 
-    @Test(expected = IOException.class)
+    @Test
     public void testParseTarWithNonNumberPaxHeaders() throws IOException {
         try (TarFile tarFile = new TarFile(getPath("COMPRESS-529.tar"))) {
         }
     }
 
-    @Test(expected = IOException.class)
+    @Test
     public void testParseTarTruncatedInPadding() throws IOException {
         try (TarFile tarFile = new TarFile(getPath("COMPRESS-544_truncated_in_padding.tar"))) {
         }
     }
 
-    @Test(expected = IOException.class)
+    @Test
     public void testParseTarTruncatedInContent() throws IOException {
         try (TarFile tarFile = new TarFile(getPath("COMPRESS-544_truncated_in_content.tar"))) {
         }
     }
 
-    @Test(expected = IOException.class)
+    @Test
     public void testThrowExceptionWithNullEntry() throws IOException {
         try (TarFile tarFile = new TarFile(getPath("COMPRESS-554.tar"))) {
         }
     }
 
-    @Test(expected = IOException.class)
+    @Test
     public void testThrowException() throws IOException {
         try (TarFile tarFile = new TarFile(getPath("COMPRESS-553.tar"))) {
         }
@@ -356,7 +356,7 @@ public class TarFileTest extends AbstractTestCase {
         }
     }
 
-    @Test(expected = IOException.class)
+    @Test
     public void rejectsArchivesWithNegativeSizes() throws Exception {
         try (TarFile tf = new TarFile(getFile("COMPRESS-569.tar"))) {
         }
diff --git a/src/test/java/org/apache/commons/compress/archivers/tar/TarMemoryFileSystemTest.java b/src/test/java/org/apache/commons/compress/archivers/tar/TarMemoryFileSystemTest.java
index f46b230..3c08162 100644
--- a/src/test/java/org/apache/commons/compress/archivers/tar/TarMemoryFileSystemTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/tar/TarMemoryFileSystemTest.java
@@ -22,7 +22,7 @@ import com.github.marschall.memoryfilesystem.MemoryFileSystemBuilder;
 import org.apache.commons.compress.archivers.ArchiveException;
 import org.apache.commons.compress.archivers.ArchiveOutputStream;
 import org.apache.commons.compress.archivers.ArchiveStreamFactory;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import java.io.File;
 import java.io.IOException;
diff --git a/src/test/java/org/apache/commons/compress/archivers/tar/TarUtilsTest.java b/src/test/java/org/apache/commons/compress/archivers/tar/TarUtilsTest.java
index 1ec7bb0..2830d0d 100644
--- a/src/test/java/org/apache/commons/compress/archivers/tar/TarUtilsTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/tar/TarUtilsTest.java
@@ -34,7 +34,7 @@ import org.apache.commons.compress.utils.ByteUtils;
 import org.apache.commons.compress.utils.CharsetNames;
 import org.apache.commons.compress.utils.IOUtils;
 import org.junit.Rule;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.junit.rules.ExpectedException;
 
 import static java.nio.charset.StandardCharsets.*;
diff --git a/src/test/java/org/apache/commons/compress/archivers/zip/AsiExtraFieldTest.java b/src/test/java/org/apache/commons/compress/archivers/zip/AsiExtraFieldTest.java
index eee2c46..96bb2af 100644
--- a/src/test/java/org/apache/commons/compress/archivers/zip/AsiExtraFieldTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/zip/AsiExtraFieldTest.java
@@ -24,7 +24,7 @@ import static org.junit.Assert.assertNotSame;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 /**
  * JUnit testcases for org.apache.commons.compress.archivers.zip.AsiExtraField.
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 d1e4d74..1d71fcb 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
@@ -19,6 +19,8 @@
 
 package org.apache.commons.compress.archivers.zip;
 
+import org.junit.jupiter.api.Test;
+
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.fail;
@@ -27,8 +29,6 @@ import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 
-import org.junit.Test;
-
 public class BinaryTreeTest {
 
     @Test
diff --git a/src/test/java/org/apache/commons/compress/archivers/zip/BitStreamTest.java b/src/test/java/org/apache/commons/compress/archivers/zip/BitStreamTest.java
index 0c8781f..c3ba369 100644
--- a/src/test/java/org/apache/commons/compress/archivers/zip/BitStreamTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/zip/BitStreamTest.java
@@ -24,7 +24,7 @@ import static org.junit.Assert.assertEquals;
 import java.io.ByteArrayInputStream;
 
 import org.apache.commons.compress.utils.ByteUtils;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class BitStreamTest {
 
diff --git a/src/test/java/org/apache/commons/compress/archivers/zip/CircularBufferTest.java b/src/test/java/org/apache/commons/compress/archivers/zip/CircularBufferTest.java
index dbbdb66..2389657 100644
--- a/src/test/java/org/apache/commons/compress/archivers/zip/CircularBufferTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/zip/CircularBufferTest.java
@@ -23,7 +23,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class CircularBufferTest {
 
diff --git a/src/test/java/org/apache/commons/compress/archivers/zip/DataDescriptorTest.java b/src/test/java/org/apache/commons/compress/archivers/zip/DataDescriptorTest.java
index 6c2f720..033fe5d 100644
--- a/src/test/java/org/apache/commons/compress/archivers/zip/DataDescriptorTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/zip/DataDescriptorTest.java
@@ -26,9 +26,9 @@ import java.nio.file.Files;
 import java.util.Arrays;
 
 import org.apache.commons.compress.utils.IOUtils;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
 import static java.nio.charset.StandardCharsets.*;
 import static org.apache.commons.compress.AbstractTestCase.mkdir;
@@ -41,12 +41,12 @@ public class DataDescriptorTest {
 
     private File dir;
 
-    @Before
+    @BeforeEach
     public void setUp() throws Exception {
         dir = mkdir("ddtest");
     }
 
-    @After
+    @AfterEach
     public void tearDown() {
         rmdir(dir);
     }
diff --git a/src/test/java/org/apache/commons/compress/archivers/zip/EncryptedArchiveTest.java b/src/test/java/org/apache/commons/compress/archivers/zip/EncryptedArchiveTest.java
index ab87f09..7cf7e85 100644
--- a/src/test/java/org/apache/commons/compress/archivers/zip/EncryptedArchiveTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/zip/EncryptedArchiveTest.java
@@ -18,6 +18,8 @@
 
 package org.apache.commons.compress.archivers.zip;
 
+import org.junit.jupiter.api.Test;
+
 import static org.apache.commons.compress.AbstractTestCase.getFile;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
@@ -29,8 +31,6 @@ import java.io.File;
 import java.io.IOException;
 import java.nio.file.Files;
 
-import org.junit.Test;
-
 public class EncryptedArchiveTest {
 
     @Test
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 773fa34..5ee8022 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
@@ -34,7 +34,7 @@ import java.util.zip.CheckedOutputStream;
 
 import org.apache.commons.compress.utils.BoundedInputStream;
 import org.apache.commons.compress.utils.IOUtils;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class ExplodeSupportTest {
 
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 1b13436..b9e5c57 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
@@ -22,8 +22,8 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
 import java.util.zip.ZipException;
 
@@ -52,7 +52,7 @@ public class ExtraFieldUtilsTest implements UnixStat {
     private byte[] data;
     private byte[] aLocal;
 
-    @Before
+    @BeforeEach
     public void setUp() {
         a = new AsiExtraField();
         a.setMode(0755);
diff --git a/src/test/java/org/apache/commons/compress/archivers/zip/GeneralPurposeBitTest.java b/src/test/java/org/apache/commons/compress/archivers/zip/GeneralPurposeBitTest.java
index 329413a..be33f26 100644
--- a/src/test/java/org/apache/commons/compress/archivers/zip/GeneralPurposeBitTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/zip/GeneralPurposeBitTest.java
@@ -25,7 +25,7 @@ import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotSame;
 import static org.junit.Assert.assertTrue;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class GeneralPurposeBitTest {
 
diff --git a/src/test/java/org/apache/commons/compress/archivers/zip/Maven221MultiVolumeTest.java b/src/test/java/org/apache/commons/compress/archivers/zip/Maven221MultiVolumeTest.java
index bea0f99..e1fe9dc 100644
--- a/src/test/java/org/apache/commons/compress/archivers/zip/Maven221MultiVolumeTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/zip/Maven221MultiVolumeTest.java
@@ -28,7 +28,7 @@ import java.io.InputStream;
 import java.nio.file.Files;
 
 import org.apache.commons.compress.archivers.ArchiveEntry;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 /**
  * JUnit testcase for a multi-volume zip file.
@@ -115,7 +115,7 @@ public class Maven221MultiVolumeTest {
         }
     }
 
-    @Test(expected=IOException.class)
+    @Test
     public void testRead7ZipMultiVolumeArchiveForFile() throws IOException {
         final File file = getFile("apache-maven-2.2.1.zip.001");
         try (final ZipFile zf = new ZipFile(file)) {
diff --git a/src/test/java/org/apache/commons/compress/archivers/zip/NioZipEncodingTest.java b/src/test/java/org/apache/commons/compress/archivers/zip/NioZipEncodingTest.java
index 19fd77b..953a15e 100644
--- a/src/test/java/org/apache/commons/compress/archivers/zip/NioZipEncodingTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/zip/NioZipEncodingTest.java
@@ -23,7 +23,7 @@ import java.nio.ByteBuffer;
 import java.util.Arrays;
 
 import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import static java.nio.charset.StandardCharsets.*;
 
diff --git a/src/test/java/org/apache/commons/compress/archivers/zip/ParallelScatterZipCreatorTest.java b/src/test/java/org/apache/commons/compress/archivers/zip/ParallelScatterZipCreatorTest.java
index b306294..6044450 100644
--- a/src/test/java/org/apache/commons/compress/archivers/zip/ParallelScatterZipCreatorTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/zip/ParallelScatterZipCreatorTest.java
@@ -21,8 +21,8 @@ import org.apache.commons.compress.parallel.FileBasedScatterGatherBackingStore;
 import org.apache.commons.compress.parallel.InputStreamSupplier;
 import org.apache.commons.compress.parallel.ScatterGatherBackingStoreSupplier;
 import org.apache.commons.compress.utils.IOUtils;
-import org.junit.After;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.Test;
 
 import java.io.ByteArrayInputStream;
 import java.io.File;
@@ -54,7 +54,7 @@ public class ParallelScatterZipCreatorTest {
     private File result;
     private File tmp;
 
-    @After
+    @AfterEach
     public void cleanup() {
         tryHardToDelete(result);
         tryHardToDelete(tmp);
@@ -88,7 +88,7 @@ public class ParallelScatterZipCreatorTest {
         callableApi(zipCreator -> zipCreator::submitStreamAwareCallable);
     }
 
-    @Test(expected = IllegalArgumentException.class)
+    @Test
     public void throwsExceptionWithCompressionLevelTooBig() {
         final int compressLevelTooBig = Deflater.BEST_COMPRESSION + 1;
         final ExecutorService es = Executors.newFixedThreadPool(1);
@@ -97,7 +97,7 @@ public class ParallelScatterZipCreatorTest {
         new ParallelScatterZipCreator(es, supp, compressLevelTooBig);
     }
 
-    @Test(expected = IllegalArgumentException.class)
+    @Test
     public void throwsExceptionWithCompressionLevelTooSmall() {
         final int compressLevelTooSmall = Deflater.DEFAULT_COMPRESSION - 1;
         final ExecutorService es = Executors.newFixedThreadPool(1);
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
index c3071ec..c9480b9 100644
--- a/src/test/java/org/apache/commons/compress/archivers/zip/PkWareExtraHeaderTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/zip/PkWareExtraHeaderTest.java
@@ -23,7 +23,7 @@ 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;
+import org.junit.jupiter.api.Test;
 
 public class PkWareExtraHeaderTest {
 
diff --git a/src/test/java/org/apache/commons/compress/archivers/zip/ScatterSampleTest.java b/src/test/java/org/apache/commons/compress/archivers/zip/ScatterSampleTest.java
index f3164c1..1ddb8bb 100644
--- a/src/test/java/org/apache/commons/compress/archivers/zip/ScatterSampleTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/zip/ScatterSampleTest.java
@@ -19,7 +19,7 @@ package org.apache.commons.compress.archivers.zip;
 
 import org.apache.commons.compress.parallel.InputStreamSupplier;
 import org.apache.commons.compress.utils.IOUtils;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import java.io.ByteArrayInputStream;
 import java.io.File;
diff --git a/src/test/java/org/apache/commons/compress/archivers/zip/ScatterZipOutputStreamTest.java b/src/test/java/org/apache/commons/compress/archivers/zip/ScatterZipOutputStreamTest.java
index a0a8ba1..a40ee77 100644
--- a/src/test/java/org/apache/commons/compress/archivers/zip/ScatterZipOutputStreamTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/zip/ScatterZipOutputStreamTest.java
@@ -19,8 +19,8 @@ package org.apache.commons.compress.archivers.zip;
 
 import org.apache.commons.compress.parallel.InputStreamSupplier;
 import org.apache.commons.compress.utils.IOUtils;
-import org.junit.After;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.Test;
 
 import java.io.ByteArrayInputStream;
 import java.io.File;
@@ -36,7 +36,7 @@ public class ScatterZipOutputStreamTest {
     private File scatterFile = null;
     private File target = null;
 
-    @After
+    @AfterEach
     public void cleanup() {
         tryHardToDelete(scatterFile);
         tryHardToDelete(target);
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 aaf0e23..c7de0b5 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
@@ -28,7 +28,7 @@ import java.io.DataOutputStream;
 import java.io.IOException;
 import java.util.zip.Deflater;
 import java.util.zip.ZipEntry;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class StreamCompressorTest {
 
diff --git a/src/test/java/org/apache/commons/compress/archivers/zip/UTF8ZipFilesTest.java b/src/test/java/org/apache/commons/compress/archivers/zip/UTF8ZipFilesTest.java
index 64a09a3..3403108 100644
--- a/src/test/java/org/apache/commons/compress/archivers/zip/UTF8ZipFilesTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/zip/UTF8ZipFilesTest.java
@@ -34,7 +34,7 @@ import java.util.zip.CRC32;
 
 import org.apache.commons.compress.AbstractTestCase;
 import org.apache.commons.compress.utils.CharsetNames;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class UTF8ZipFilesTest extends AbstractTestCase {
 
diff --git a/src/test/java/org/apache/commons/compress/archivers/zip/X000A_NTFSTest.java b/src/test/java/org/apache/commons/compress/archivers/zip/X000A_NTFSTest.java
index 41f6dd5..bae2acc 100644
--- a/src/test/java/org/apache/commons/compress/archivers/zip/X000A_NTFSTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/zip/X000A_NTFSTest.java
@@ -17,7 +17,7 @@
  */
 package org.apache.commons.compress.archivers.zip;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import java.util.Date;
 
diff --git a/src/test/java/org/apache/commons/compress/archivers/zip/X5455_ExtendedTimestampTest.java b/src/test/java/org/apache/commons/compress/archivers/zip/X5455_ExtendedTimestampTest.java
index ba7476b..5dafc7c 100644
--- a/src/test/java/org/apache/commons/compress/archivers/zip/X5455_ExtendedTimestampTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/zip/X5455_ExtendedTimestampTest.java
@@ -17,9 +17,9 @@
  */
 package org.apache.commons.compress.archivers.zip;
 
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
 import java.io.File;
 import java.io.IOException;
@@ -66,12 +66,12 @@ public class X5455_ExtendedTimestampTest {
 
     private File tmpDir;
 
-    @Before
+    @BeforeEach
     public void before() {
         xf = new X5455_ExtendedTimestamp();
     }
 
-    @After
+    @AfterEach
     public void removeTempFiles() {
         if (tmpDir != null) {
             rmdir(tmpDir);
diff --git a/src/test/java/org/apache/commons/compress/archivers/zip/X7875_NewUnixTest.java b/src/test/java/org/apache/commons/compress/archivers/zip/X7875_NewUnixTest.java
index 9a40f58..e43736c 100644
--- a/src/test/java/org/apache/commons/compress/archivers/zip/X7875_NewUnixTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/zip/X7875_NewUnixTest.java
@@ -19,8 +19,8 @@
 package org.apache.commons.compress.archivers.zip;
 
 import org.apache.commons.compress.utils.ByteUtils;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
 import java.io.File;
 import java.util.Enumeration;
@@ -39,7 +39,7 @@ public class X7875_NewUnixTest {
 
     private X7875_NewUnix xf;
 
-    @Before
+    @BeforeEach
     public void before() {
         xf = new X7875_NewUnix();
     }
diff --git a/src/test/java/org/apache/commons/compress/archivers/zip/Zip64ExtendedInformationExtraFieldTest.java b/src/test/java/org/apache/commons/compress/archivers/zip/Zip64ExtendedInformationExtraFieldTest.java
index cc5c17e..af5ddcb 100644
--- a/src/test/java/org/apache/commons/compress/archivers/zip/Zip64ExtendedInformationExtraFieldTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/zip/Zip64ExtendedInformationExtraFieldTest.java
@@ -24,7 +24,7 @@ import static org.junit.Assert.assertNull;
 import java.math.BigInteger;
 import java.util.zip.ZipException;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class Zip64ExtendedInformationExtraFieldTest {
 
diff --git a/src/test/java/org/apache/commons/compress/archivers/zip/Zip64SupportIT.java b/src/test/java/org/apache/commons/compress/archivers/zip/Zip64SupportIT.java
index 68a4968..422dd56 100644
--- a/src/test/java/org/apache/commons/compress/archivers/zip/Zip64SupportIT.java
+++ b/src/test/java/org/apache/commons/compress/archivers/zip/Zip64SupportIT.java
@@ -42,7 +42,7 @@ import java.util.zip.ZipEntry;
 
 import org.apache.commons.compress.AbstractTestCase;
 import org.apache.commons.compress.utils.IOUtils;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class Zip64SupportIT {
 
diff --git a/src/test/java/org/apache/commons/compress/archivers/zip/ZipArchiveEntryTest.java b/src/test/java/org/apache/commons/compress/archivers/zip/ZipArchiveEntryTest.java
index 972acf4..ff28109 100644
--- a/src/test/java/org/apache/commons/compress/archivers/zip/ZipArchiveEntryTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/zip/ZipArchiveEntryTest.java
@@ -32,7 +32,7 @@ import java.util.zip.ZipException;
 
 import org.apache.commons.compress.utils.ByteUtils;
 import org.junit.Rule;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.junit.rules.ExpectedException;
 
 /**
diff --git a/src/test/java/org/apache/commons/compress/archivers/zip/ZipArchiveInputStreamTest.java b/src/test/java/org/apache/commons/compress/archivers/zip/ZipArchiveInputStreamTest.java
index 5b817ca..b079739 100644
--- a/src/test/java/org/apache/commons/compress/archivers/zip/ZipArchiveInputStreamTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/zip/ZipArchiveInputStreamTest.java
@@ -48,7 +48,7 @@ import org.apache.commons.compress.utils.ByteUtils;
 import org.apache.commons.compress.utils.IOUtils;
 import org.junit.Assert;
 import org.junit.Rule;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.junit.rules.ExpectedException;
 
 public class ZipArchiveInputStreamTest {
@@ -695,7 +695,7 @@ public class ZipArchiveInputStreamTest {
         });
     }
 
-    @Test(expected = IOException.class)
+    @Test
     public void throwsIOExceptionIfThereIsCorruptedZip64Extra() throws IOException {
         try (InputStream fis = Files.newInputStream(getFile("COMPRESS-546.zip").toPath());
              ZipArchiveInputStream zipInputStream = new ZipArchiveInputStream(fis)) {
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
index ee3e24c..2afb248 100644
--- a/src/test/java/org/apache/commons/compress/archivers/zip/ZipClassCoverageTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/zip/ZipClassCoverageTest.java
@@ -26,7 +26,7 @@ import static org.hamcrest.MatcherAssert.assertThat;
 import java.lang.reflect.Constructor;
 import java.lang.reflect.InvocationTargetException;
 import org.hamcrest.core.IsInstanceOf;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class ZipClassCoverageTest {
 
diff --git a/src/test/java/org/apache/commons/compress/archivers/zip/ZipEightByteIntegerTest.java b/src/test/java/org/apache/commons/compress/archivers/zip/ZipEightByteIntegerTest.java
index 2914cee..2b077d7 100644
--- a/src/test/java/org/apache/commons/compress/archivers/zip/ZipEightByteIntegerTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/zip/ZipEightByteIntegerTest.java
@@ -23,7 +23,7 @@ import static org.junit.Assert.assertNotEquals;
 
 import java.math.BigInteger;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 /**
  * JUnit testcases for org.apache.commons.compress.archivers.zip.ZipEightByteInteger.
diff --git a/src/test/java/org/apache/commons/compress/archivers/zip/ZipEncodingTest.java b/src/test/java/org/apache/commons/compress/archivers/zip/ZipEncodingTest.java
index 2d51bfd..41ddbdb 100644
--- a/src/test/java/org/apache/commons/compress/archivers/zip/ZipEncodingTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/zip/ZipEncodingTest.java
@@ -29,7 +29,7 @@ import java.nio.ByteBuffer;
 import java.nio.charset.Charset;
 import org.hamcrest.core.IsInstanceOf;
 import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 /**
  * Test zip encodings.
diff --git a/src/test/java/org/apache/commons/compress/archivers/zip/ZipFileIgnoringLocalFileHeaderTest.java b/src/test/java/org/apache/commons/compress/archivers/zip/ZipFileIgnoringLocalFileHeaderTest.java
index 1f69d20..91056d6 100644
--- a/src/test/java/org/apache/commons/compress/archivers/zip/ZipFileIgnoringLocalFileHeaderTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/zip/ZipFileIgnoringLocalFileHeaderTest.java
@@ -21,10 +21,10 @@ package org.apache.commons.compress.archivers.zip;
 import org.apache.commons.compress.AbstractTestCase;
 import org.apache.commons.compress.utils.IOUtils;
 
-import org.junit.After;
+import org.junit.jupiter.api.AfterEach;
 import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
 import java.io.File;
 import java.io.IOException;
@@ -36,12 +36,12 @@ public class ZipFileIgnoringLocalFileHeaderTest {
 
     private File dir;
 
-    @Before
+    @BeforeEach
     public void setUp() throws Exception {
         dir = AbstractTestCase.mkdir("dir");
     }
 
-    @After
+    @AfterEach
     public void tearDown() {
         AbstractTestCase.rmdir(dir);
     }
diff --git a/src/test/java/org/apache/commons/compress/archivers/zip/ZipFileTest.java b/src/test/java/org/apache/commons/compress/archivers/zip/ZipFileTest.java
index 2109a8a..6d026dc 100644
--- a/src/test/java/org/apache/commons/compress/archivers/zip/ZipFileTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/zip/ZipFileTest.java
@@ -53,14 +53,14 @@ import java.util.zip.ZipEntry;
 import org.apache.commons.compress.utils.ByteUtils;
 import org.apache.commons.compress.utils.IOUtils;
 import org.apache.commons.compress.utils.SeekableInMemoryByteChannel;
-import org.junit.After;
+import org.junit.jupiter.api.AfterEach;
 import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class ZipFileTest {
     private ZipFile zf = null;
 
-    @After
+    @AfterEach
     public void tearDown() {
         ZipFile.closeQuietly(zf);
     }
@@ -579,7 +579,7 @@ public class ZipFileTest {
     /**
      * Test too big alignment, resulting into exceeding extra field limit.
      */
-    @Test(expected = IllegalArgumentException.class)
+    @Test
     public void testEntryAlignmentExceed() throws Exception {
         final SeekableInMemoryByteChannel zipContent = new SeekableInMemoryByteChannel();
         try (ZipArchiveOutputStream zipOutput = new ZipArchiveOutputStream(zipContent)) {
@@ -592,7 +592,7 @@ public class ZipFileTest {
     /**
      * Test non power of 2 alignment.
      */
-    @Test(expected = IllegalArgumentException.class)
+    @Test
     public void testInvalidAlignment() {
         final ZipArchiveEntry entry = new ZipArchiveEntry("dummy");
         entry.setAlignment(3);
@@ -750,19 +750,19 @@ public class ZipFileTest {
         assertFileEqualsToEntry(fileToCompare, zipEntry, zf);
     }
 
-    @Test(expected = IllegalArgumentException.class)
+    @Test
     public void testSetLevelTooSmallForZipArchiveOutputStream() {
         final ZipArchiveOutputStream outputStream = new ZipArchiveOutputStream(new ByteArrayOutputStream());
         outputStream.setLevel(Deflater.DEFAULT_COMPRESSION - 1);
     }
 
-    @Test(expected = IllegalArgumentException.class)
+    @Test
     public void testSetLevelTooBigForZipArchiveOutputStream() {
         final ZipArchiveOutputStream outputStream = new ZipArchiveOutputStream(new ByteArrayOutputStream());
         outputStream.setLevel(Deflater.BEST_COMPRESSION + 1);
     }
 
-    @Test(expected = IllegalStateException.class)
+    @Test
     public void throwsExceptionWhenWritingPreamble() throws IOException {
         final ZipArchiveOutputStream outputStream = new ZipArchiveOutputStream(new ByteArrayOutputStream());
         outputStream.putArchiveEntry(new ZipArchiveEntry());
diff --git a/src/test/java/org/apache/commons/compress/archivers/zip/ZipLongTest.java b/src/test/java/org/apache/commons/compress/archivers/zip/ZipLongTest.java
index f67ff56..9a470b3 100644
--- a/src/test/java/org/apache/commons/compress/archivers/zip/ZipLongTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/zip/ZipLongTest.java
@@ -18,7 +18,7 @@
 
 package org.apache.commons.compress.archivers.zip;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotEquals;
diff --git a/src/test/java/org/apache/commons/compress/archivers/zip/ZipMemoryFileSystemTest.java b/src/test/java/org/apache/commons/compress/archivers/zip/ZipMemoryFileSystemTest.java
index fee9de5..c7f3eaa 100644
--- a/src/test/java/org/apache/commons/compress/archivers/zip/ZipMemoryFileSystemTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/zip/ZipMemoryFileSystemTest.java
@@ -24,10 +24,10 @@ import org.apache.commons.compress.archivers.ArchiveOutputStream;
 import org.apache.commons.compress.archivers.ArchiveStreamFactory;
 import org.apache.commons.compress.parallel.InputStreamSupplier;
 import org.apache.commons.compress.utils.IOUtils;
-import org.junit.After;
+import org.junit.jupiter.api.AfterEach;
 import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
@@ -54,12 +54,12 @@ import static org.junit.Assert.assertArrayEquals;
 public class ZipMemoryFileSystemTest {
     private Path dir;
 
-    @Before
+    @BeforeEach
     public void setup() throws IOException {
         dir = Files.createTempDirectory(UUID.randomUUID().toString());
     }
 
-    @After
+    @AfterEach
     public void tearDown() throws IOException {
         try (Stream<Path> walk = Files.walk(dir)) {
             walk.sorted(Comparator.reverseOrder())
diff --git a/src/test/java/org/apache/commons/compress/archivers/zip/ZipShortTest.java b/src/test/java/org/apache/commons/compress/archivers/zip/ZipShortTest.java
index b1dac45..4b219e8 100644
--- a/src/test/java/org/apache/commons/compress/archivers/zip/ZipShortTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/zip/ZipShortTest.java
@@ -18,12 +18,12 @@
 
 package org.apache.commons.compress.archivers.zip;
 
+import org.junit.jupiter.api.Test;
+
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotEquals;
 import static org.junit.Assert.assertNotSame;
 
-import org.junit.Test;
-
 /**
  * JUnit testcases for org.apache.commons.compress.archivers.zip.ZipShort.
  *
diff --git a/src/test/java/org/apache/commons/compress/archivers/zip/ZipSplitOutputStreamTest.java b/src/test/java/org/apache/commons/compress/archivers/zip/ZipSplitOutputStreamTest.java
index c239bb7..38fd198 100644
--- a/src/test/java/org/apache/commons/compress/archivers/zip/ZipSplitOutputStreamTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/zip/ZipSplitOutputStreamTest.java
@@ -20,7 +20,7 @@ package org.apache.commons.compress.archivers.zip;
 import org.apache.commons.compress.AbstractTestCase;
 import org.junit.Assert;
 import org.junit.Rule;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.junit.rules.ExpectedException;
 
 import java.io.File;
diff --git a/src/test/java/org/apache/commons/compress/archivers/zip/ZipUtilTest.java b/src/test/java/org/apache/commons/compress/archivers/zip/ZipUtilTest.java
index 5466279..dcd3839 100644
--- a/src/test/java/org/apache/commons/compress/archivers/zip/ZipUtilTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/zip/ZipUtilTest.java
@@ -28,15 +28,15 @@ import java.util.Calendar;
 import java.util.Date;
 import java.util.TimeZone;
 
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
 public class ZipUtilTest {
 
     private Date time;
     private ZipLong zl;
 
-    @Before
+    @BeforeEach
     public void setUp() throws Exception {
         time = new Date();
         final Calendar cal = Calendar.getInstance();
@@ -248,14 +248,14 @@ public class ZipUtilTest {
         assertEquals(testDate.getTime() / 2000, (time.getTime() / 2000));
     }
 
-    @Test(expected = UnsupportedZipFeatureException.class)
+    @Test
     public void testUnsupportedMethod() throws Exception {
         final ZipArchiveEntry ze = new ZipArchiveEntry();
         ze.setMethod(ZipMethod.EXPANDING_LEVEL_1.getCode());
         ZipUtil.checkRequestedFeatures(ze);
     }
 
-    @Test(expected = UnsupportedZipFeatureException.class)
+    @Test
     public void testUnknownMethod() throws Exception {
         final ZipArchiveEntry ze = new ZipArchiveEntry();
         ze.setMethod(100);
diff --git a/src/test/java/org/apache/commons/compress/changes/ChangeSetTestCase.java b/src/test/java/org/apache/commons/compress/changes/ChangeSetTestCase.java
index 2b975f8..7e99938 100644
--- a/src/test/java/org/apache/commons/compress/changes/ChangeSetTestCase.java
+++ b/src/test/java/org/apache/commons/compress/changes/ChangeSetTestCase.java
@@ -39,7 +39,7 @@ import org.apache.commons.compress.archivers.jar.JarArchiveEntry;
 import org.apache.commons.compress.archivers.tar.TarArchiveEntry;
 import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
 import org.apache.commons.compress.archivers.zip.ZipFile;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 /**
  * Checks several ChangeSet business logics.
diff --git a/src/test/java/org/apache/commons/compress/changes/ChangeTest.java b/src/test/java/org/apache/commons/compress/changes/ChangeTest.java
index 89596f0..a6a02c8 100644
--- a/src/test/java/org/apache/commons/compress/changes/ChangeTest.java
+++ b/src/test/java/org/apache/commons/compress/changes/ChangeTest.java
@@ -19,7 +19,7 @@
 package org.apache.commons.compress.changes;
 
 import org.apache.commons.compress.archivers.memory.MemoryArchiveEntry;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import java.io.PipedInputStream;
 
@@ -33,7 +33,7 @@ import java.io.PipedInputStream;
 public class ChangeTest {
 
 
-    @Test(expected = NullPointerException.class)
+    @Test
     public void testFailsToCreateChangeTakingFourArgumentsThrowsNullPointerExceptionOne() {
 
         final MemoryArchiveEntry memoryArchiveEntry = new MemoryArchiveEntry("x");
@@ -43,7 +43,7 @@ public class ChangeTest {
     }
 
 
-    @Test(expected = NullPointerException.class)
+    @Test
     public void testFailsToCreateChangeTakingFourArgumentsThrowsNullPointerExceptionTwo() {
 
         final PipedInputStream pipedInputStream = new PipedInputStream(1);
@@ -53,7 +53,7 @@ public class ChangeTest {
     }
 
 
-    @Test(expected = NullPointerException.class)
+    @Test
     public void testFailsToCreateChangeTakingThreeArgumentsThrowsNullPointerException() {
 
         final Change change  = new Change(null, (-407));
diff --git a/src/test/java/org/apache/commons/compress/compressors/BZip2TestCase.java b/src/test/java/org/apache/commons/compress/compressors/BZip2TestCase.java
index 56b12be..d6de680 100644
--- a/src/test/java/org/apache/commons/compress/compressors/BZip2TestCase.java
+++ b/src/test/java/org/apache/commons/compress/compressors/BZip2TestCase.java
@@ -28,7 +28,7 @@ import java.nio.file.Files;
 import org.apache.commons.compress.AbstractTestCase;
 import org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream;
 import org.apache.commons.compress.utils.IOUtils;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public final class BZip2TestCase extends AbstractTestCase {
 
diff --git a/src/test/java/org/apache/commons/compress/compressors/BZip2UtilsTestCase.java b/src/test/java/org/apache/commons/compress/compressors/BZip2UtilsTestCase.java
index 8329857..a8c432a 100644
--- a/src/test/java/org/apache/commons/compress/compressors/BZip2UtilsTestCase.java
+++ b/src/test/java/org/apache/commons/compress/compressors/BZip2UtilsTestCase.java
@@ -23,7 +23,7 @@ import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
 import org.apache.commons.compress.compressors.bzip2.BZip2Utils;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class BZip2UtilsTestCase {
 
diff --git a/src/test/java/org/apache/commons/compress/compressors/CompressorServiceLoaderTest.java b/src/test/java/org/apache/commons/compress/compressors/CompressorServiceLoaderTest.java
index d1027ef..006df81 100644
--- a/src/test/java/org/apache/commons/compress/compressors/CompressorServiceLoaderTest.java
+++ b/src/test/java/org/apache/commons/compress/compressors/CompressorServiceLoaderTest.java
@@ -23,16 +23,16 @@ import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 
 import org.apache.commons.compress.compressors.TestCompressorStreamProvider.InvocationConfirmationException;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class CompressorServiceLoaderTest {
 
-    @Test(expected = InvocationConfirmationException.class)
+    @Test
     public void testInputStream() throws CompressorException {
         new CompressorStreamFactory().createCompressorInputStream("TestInput1", new ByteArrayInputStream(new byte[] {}));
     }
 
-    @Test(expected = InvocationConfirmationException.class)
+    @Test
     public void testOutputStream() throws CompressorException {
         new CompressorStreamFactory().createCompressorOutputStream("TestOutput1", new ByteArrayOutputStream());
     }
diff --git a/src/test/java/org/apache/commons/compress/compressors/CompressorStreamFactoryRoundtripTest.java b/src/test/java/org/apache/commons/compress/compressors/CompressorStreamFactoryRoundtripTest.java
index 987dbb6..1ebca9e 100644
--- a/src/test/java/org/apache/commons/compress/compressors/CompressorStreamFactoryRoundtripTest.java
+++ b/src/test/java/org/apache/commons/compress/compressors/CompressorStreamFactoryRoundtripTest.java
@@ -18,48 +18,42 @@
  */
 package org.apache.commons.compress.compressors;
 
+import static java.nio.charset.StandardCharsets.UTF_8;
+
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
+import java.util.stream.Stream;
 
 import org.apache.commons.compress.utils.IOUtils;
 import org.junit.Assert;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-import static java.nio.charset.StandardCharsets.*;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
 
-@RunWith(Parameterized.class)
 public class CompressorStreamFactoryRoundtripTest {
 
-    @Parameters(name = "{0}")
-    public static String[] data() {
-        return new String[] { //
-                CompressorStreamFactory.BZIP2, //
-                CompressorStreamFactory.DEFLATE, //
-                CompressorStreamFactory.GZIP, //
+    public static Stream<Arguments> data() {
+        // @formatter:off
+        return Stream.of(
+                Arguments.of(CompressorStreamFactory.BZIP2),
+                Arguments.of(CompressorStreamFactory.DEFLATE),
+                Arguments.of(CompressorStreamFactory.GZIP),
                 // CompressorStreamFactory.LZMA, // Not implemented yet
                 // CompressorStreamFactory.PACK200, // Bug
                 // CompressorStreamFactory.SNAPPY_FRAMED, // Not implemented yet
                 // CompressorStreamFactory.SNAPPY_RAW, // Not implemented yet
-                CompressorStreamFactory.XZ, //
+                Arguments.of(CompressorStreamFactory.XZ)
                 // CompressorStreamFactory.Z, // Not implemented yet
-        };
-    }
-
-    private final String compressorName;
-
-    public CompressorStreamFactoryRoundtripTest(final String compressorName) {
-        this.compressorName = compressorName;
+        );
+        // @formatter:on
     }
 
-    @Test
-    public void testCompressorStreamFactoryRoundtrip() throws Exception {
+    @ParameterizedTest
+    @MethodSource("data")
+    public void testCompressorStreamFactoryRoundtrip(final String compressorName) throws Exception {
         final CompressorStreamProvider factory = new CompressorStreamFactory();
         final ByteArrayOutputStream compressedOs = new ByteArrayOutputStream();
-        final CompressorOutputStream compressorOutputStream = factory.createCompressorOutputStream(compressorName,
-                compressedOs);
+        final CompressorOutputStream compressorOutputStream = factory.createCompressorOutputStream(compressorName, compressedOs);
         final String fixture = "The quick brown fox jumps over the lazy dog";
         compressorOutputStream.write(fixture.getBytes(UTF_8));
         compressorOutputStream.flush();
diff --git a/src/test/java/org/apache/commons/compress/compressors/DeflateTestCase.java b/src/test/java/org/apache/commons/compress/compressors/DeflateTestCase.java
index 7d68692..44da5aa 100644
--- a/src/test/java/org/apache/commons/compress/compressors/DeflateTestCase.java
+++ b/src/test/java/org/apache/commons/compress/compressors/DeflateTestCase.java
@@ -28,7 +28,7 @@ import org.apache.commons.compress.compressors.deflate.DeflateCompressorInputStr
 import org.apache.commons.compress.compressors.deflate.DeflateCompressorOutputStream;
 import org.apache.commons.compress.compressors.deflate.DeflateParameters;
 import org.apache.commons.compress.utils.IOUtils;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public final class DeflateTestCase extends AbstractTestCase {
 
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 cfa11e7..bb16190 100644
--- a/src/test/java/org/apache/commons/compress/compressors/DetectCompressorTestCase.java
+++ b/src/test/java/org/apache/commons/compress/compressors/DetectCompressorTestCase.java
@@ -40,7 +40,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.junit.Test;
+import org.junit.jupiter.api.Test;
 
 @SuppressWarnings("deprecation") // deliberately tests setDecompressConcatenated
 public final class DetectCompressorTestCase {
@@ -178,17 +178,17 @@ public final class DetectCompressorTestCase {
         return name;
     }
 
-    @Test(expected = MemoryLimitException.class)
+    @Test
     public void testLZMAMemoryLimit() throws Exception {
         getStreamFor("COMPRESS-382", 100);
     }
 
-    @Test(expected = MemoryLimitException.class)
+    @Test
     public void testZMemoryLimit() throws Exception {
         getStreamFor("COMPRESS-386", 100);
     }
 
-    @Test(expected = MemoryLimitException.class)
+    @Test
     public void testXZMemoryLimitOnRead() throws Exception {
         //Even though the file is very small, the memory limit
         //has to be quite large (8296 KiB) because of the dictionary size
@@ -201,7 +201,7 @@ public final class DetectCompressorTestCase {
         }
     }
 
-    @Test(expected = MemoryLimitException.class)
+    @Test
     public void testXZMemoryLimitOnSkip() throws Exception {
         try (InputStream compressorIs = getStreamFor("bla.tar.xz", 100)) {
             compressorIs.skip(10);
diff --git a/src/test/java/org/apache/commons/compress/compressors/FramedSnappyTestCase.java b/src/test/java/org/apache/commons/compress/compressors/FramedSnappyTestCase.java
index 4dd0e10..cf3da2a 100644
--- a/src/test/java/org/apache/commons/compress/compressors/FramedSnappyTestCase.java
+++ b/src/test/java/org/apache/commons/compress/compressors/FramedSnappyTestCase.java
@@ -31,7 +31,7 @@ import java.util.Random;
 import org.apache.commons.compress.AbstractTestCase;
 import org.apache.commons.compress.compressors.snappy.FramedSnappyCompressorInputStream;
 import org.apache.commons.compress.utils.IOUtils;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public final class FramedSnappyTestCase
     extends AbstractTestCase {
diff --git a/src/test/java/org/apache/commons/compress/compressors/GZipTestCase.java b/src/test/java/org/apache/commons/compress/compressors/GZipTestCase.java
index 17ca0ad..e456ee8 100644
--- a/src/test/java/org/apache/commons/compress/compressors/GZipTestCase.java
+++ b/src/test/java/org/apache/commons/compress/compressors/GZipTestCase.java
@@ -37,7 +37,7 @@ import org.apache.commons.compress.compressors.gzip.GzipCompressorOutputStream;
 import org.apache.commons.compress.compressors.gzip.GzipParameters;
 import org.apache.commons.compress.utils.IOUtils;
 import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public final class GZipTestCase extends AbstractTestCase {
 
diff --git a/src/test/java/org/apache/commons/compress/compressors/GzipUtilsTestCase.java b/src/test/java/org/apache/commons/compress/compressors/GzipUtilsTestCase.java
index bc5e943..8a8a22d 100644
--- a/src/test/java/org/apache/commons/compress/compressors/GzipUtilsTestCase.java
+++ b/src/test/java/org/apache/commons/compress/compressors/GzipUtilsTestCase.java
@@ -23,7 +23,7 @@ import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
 import org.apache.commons.compress.compressors.gzip.GzipUtils;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class GzipUtilsTestCase {
 
diff --git a/src/test/java/org/apache/commons/compress/compressors/LZMATestCase.java b/src/test/java/org/apache/commons/compress/compressors/LZMATestCase.java
index 8bd79f6..9409520 100644
--- a/src/test/java/org/apache/commons/compress/compressors/LZMATestCase.java
+++ b/src/test/java/org/apache/commons/compress/compressors/LZMATestCase.java
@@ -29,7 +29,7 @@ import org.apache.commons.compress.AbstractTestCase;
 import org.apache.commons.compress.compressors.lzma.LZMACompressorInputStream;
 import org.apache.commons.compress.utils.IOUtils;
 import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public final class LZMATestCase extends AbstractTestCase {
 
diff --git a/src/test/java/org/apache/commons/compress/compressors/Pack200TestCase.java b/src/test/java/org/apache/commons/compress/compressors/Pack200TestCase.java
index 141a1e6..5de653b 100644
--- a/src/test/java/org/apache/commons/compress/compressors/Pack200TestCase.java
+++ b/src/test/java/org/apache/commons/compress/compressors/Pack200TestCase.java
@@ -41,7 +41,7 @@ import org.apache.commons.compress.compressors.pack200.Pack200CompressorInputStr
 import org.apache.commons.compress.compressors.pack200.Pack200CompressorOutputStream;
 import org.apache.commons.compress.compressors.pack200.Pack200Strategy;
 import org.apache.commons.compress.utils.IOUtils;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public final class Pack200TestCase extends AbstractTestCase {
 
diff --git a/src/test/java/org/apache/commons/compress/compressors/XZTestCase.java b/src/test/java/org/apache/commons/compress/compressors/XZTestCase.java
index 9b72587..9bdbe7a 100644
--- a/src/test/java/org/apache/commons/compress/compressors/XZTestCase.java
+++ b/src/test/java/org/apache/commons/compress/compressors/XZTestCase.java
@@ -28,8 +28,7 @@ import java.nio.file.Files;
 
 import org.apache.commons.compress.AbstractTestCase;
 import org.apache.commons.compress.compressors.xz.XZCompressorInputStream;
-import org.apache.commons.compress.utils.IOUtils;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public final class XZTestCase extends AbstractTestCase {
 
diff --git a/src/test/java/org/apache/commons/compress/compressors/ZTestCase.java b/src/test/java/org/apache/commons/compress/compressors/ZTestCase.java
index 9e074e6..0edfefe 100644
--- a/src/test/java/org/apache/commons/compress/compressors/ZTestCase.java
+++ b/src/test/java/org/apache/commons/compress/compressors/ZTestCase.java
@@ -30,7 +30,7 @@ import java.nio.file.Files;
 import org.apache.commons.compress.AbstractTestCase;
 import org.apache.commons.compress.compressors.z.ZCompressorInputStream;
 import org.apache.commons.compress.utils.IOUtils;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public final class ZTestCase extends AbstractTestCase {
 
diff --git a/src/test/java/org/apache/commons/compress/compressors/brotli/BrotliCompressorInputStreamTest.java b/src/test/java/org/apache/commons/compress/compressors/brotli/BrotliCompressorInputStreamTest.java
index 90218ea..dd0592a 100644
--- a/src/test/java/org/apache/commons/compress/compressors/brotli/BrotliCompressorInputStreamTest.java
+++ b/src/test/java/org/apache/commons/compress/compressors/brotli/BrotliCompressorInputStreamTest.java
@@ -32,7 +32,7 @@ import org.apache.commons.compress.compressors.CompressorInputStream;
 import org.apache.commons.compress.compressors.CompressorStreamFactory;
 import org.apache.commons.compress.utils.IOUtils;
 import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class BrotliCompressorInputStreamTest extends AbstractTestCase {
 
diff --git a/src/test/java/org/apache/commons/compress/compressors/bzip2/BZip2CompressorInputStreamTest.java b/src/test/java/org/apache/commons/compress/compressors/bzip2/BZip2CompressorInputStreamTest.java
index 7822081..dd51e1d 100644
--- a/src/test/java/org/apache/commons/compress/compressors/bzip2/BZip2CompressorInputStreamTest.java
+++ b/src/test/java/org/apache/commons/compress/compressors/bzip2/BZip2CompressorInputStreamTest.java
@@ -31,11 +31,11 @@ import org.apache.commons.compress.archivers.ArchiveInputStream;
 import org.apache.commons.compress.archivers.ArchiveStreamFactory;
 import org.apache.commons.compress.utils.IOUtils;
 import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class BZip2CompressorInputStreamTest {
 
-    @Test(expected = IOException.class)
+    @Test
     public void shouldThrowAnIOExceptionWhenAppliedToAZipFile() throws Exception {
         try (InputStream in = Files.newInputStream(getFile("bla.zip").toPath())) {
             final BZip2CompressorInputStream bis = new BZip2CompressorInputStream(in);
@@ -103,7 +103,7 @@ public class BZip2CompressorInputStreamTest {
     /**
      * @see <a href="https://issues.apache.org/jira/browse/COMPRESS-516">COMPRESS-516</a>
      */
-    @Test(expected = IOException.class)
+    @Test
     public void shouldThrowIOExceptionInsteadOfRuntimeExceptionCOMPRESS516() throws Exception {
         fuzzingTest(new int[] {
             0x50, 0x4b, 0x03, 0x04, 0x2e, 0x00, 0x00, 0x00, 0x0c, 0x00,
@@ -128,7 +128,7 @@ public class BZip2CompressorInputStreamTest {
     /**
      * @see <a href="https://issues.apache.org/jira/browse/COMPRESS-519">COMPRESS-519</a>
      */
-    @Test(expected = IOException.class)
+    @Test
     public void shouldThrowIOExceptionInsteadOfRuntimeExceptionCOMPRESS519() throws Exception {
         fuzzingTest(new int[] {
             0x50, 0x4b, 0x03, 0x04, 0x2e, 0x00, 0x00, 0x00, 0x0c, 0x00,
diff --git a/src/test/java/org/apache/commons/compress/compressors/bzip2/BZip2NSelectorsOverflowTest.java b/src/test/java/org/apache/commons/compress/compressors/bzip2/BZip2NSelectorsOverflowTest.java
index de35631..f8b253f 100644
--- a/src/test/java/org/apache/commons/compress/compressors/bzip2/BZip2NSelectorsOverflowTest.java
+++ b/src/test/java/org/apache/commons/compress/compressors/bzip2/BZip2NSelectorsOverflowTest.java
@@ -19,7 +19,7 @@
 package org.apache.commons.compress.compressors.bzip2;
 
 import org.apache.commons.compress.AbstractTestCase;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import java.io.File;
 import java.io.InputStream;
diff --git a/src/test/java/org/apache/commons/compress/compressors/bzip2/BlockSortTest.java b/src/test/java/org/apache/commons/compress/compressors/bzip2/BlockSortTest.java
index 37b27ef..941b1e0 100644
--- a/src/test/java/org/apache/commons/compress/compressors/bzip2/BlockSortTest.java
+++ b/src/test/java/org/apache/commons/compress/compressors/bzip2/BlockSortTest.java
@@ -18,7 +18,7 @@
  */
 package org.apache.commons.compress.compressors.bzip2;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
diff --git a/src/test/java/org/apache/commons/compress/compressors/bzip2/PythonTruncatedBzip2Test.java b/src/test/java/org/apache/commons/compress/compressors/bzip2/PythonTruncatedBzip2Test.java
index 5f6d366..5493430 100644
--- a/src/test/java/org/apache/commons/compress/compressors/bzip2/PythonTruncatedBzip2Test.java
+++ b/src/test/java/org/apache/commons/compress/compressors/bzip2/PythonTruncatedBzip2Test.java
@@ -28,11 +28,11 @@ import java.io.InputStream;
 import java.nio.ByteBuffer;
 import java.nio.channels.Channels;
 import java.nio.channels.ReadableByteChannel;
-import org.junit.After;
+import org.junit.jupiter.api.AfterEach;
 import org.junit.Assert;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
 /**
  * Testcase porting a test from Python's testsuite.
@@ -46,7 +46,7 @@ public class PythonTruncatedBzip2Test {
     private static byte[] TRUNCATED_DATA;
     private ReadableByteChannel bz2Channel;
 
-    @BeforeClass
+    @BeforeAll
     public static void initializeTestData() throws IOException {
         final ByteArrayOutputStream out = new ByteArrayOutputStream();
         final BZip2CompressorOutputStream bz2out = new BZip2CompressorOutputStream(out);
@@ -58,19 +58,19 @@ public class PythonTruncatedBzip2Test {
         TRUNCATED_DATA = copyOfRange(DATA, 0, DATA.length - 10);
     }
 
-    @Before
+    @BeforeEach
     public void initializeChannel() throws IOException {
         final InputStream source = new ByteArrayInputStream(TRUNCATED_DATA);
         this.bz2Channel = makeBZ2C(source);
     }
 
-    @After
+    @AfterEach
     public void closeChannel() throws IOException {
         bz2Channel.close();
         bz2Channel = null;
     }
 
-    @Test(expected = IOException.class)
+    @Test
     public void testTruncatedData() throws IOException {
         //with BZ2File(self.filename) as f:
         //    self.assertRaises(EOFError, f.read)
diff --git a/src/test/java/org/apache/commons/compress/compressors/deflate/DeflateCompressorInputStreamTest.java b/src/test/java/org/apache/commons/compress/compressors/deflate/DeflateCompressorInputStreamTest.java
index 66fcd9c..9d4266d 100644
--- a/src/test/java/org/apache/commons/compress/compressors/deflate/DeflateCompressorInputStreamTest.java
+++ b/src/test/java/org/apache/commons/compress/compressors/deflate/DeflateCompressorInputStreamTest.java
@@ -26,7 +26,7 @@ import java.nio.file.Files;
 import org.apache.commons.compress.AbstractTestCase;
 import org.apache.commons.compress.utils.IOUtils;
 import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class DeflateCompressorInputStreamTest {
 
diff --git a/src/test/java/org/apache/commons/compress/compressors/deflate/DeflateCompressorOutputStreamTest.java b/src/test/java/org/apache/commons/compress/compressors/deflate/DeflateCompressorOutputStreamTest.java
index ec19406..4d51e35 100644
--- a/src/test/java/org/apache/commons/compress/compressors/deflate/DeflateCompressorOutputStreamTest.java
+++ b/src/test/java/org/apache/commons/compress/compressors/deflate/DeflateCompressorOutputStreamTest.java
@@ -19,7 +19,7 @@
 package org.apache.commons.compress.compressors.deflate;
 
 import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
diff --git a/src/test/java/org/apache/commons/compress/compressors/deflate/DeflateParametersTest.java b/src/test/java/org/apache/commons/compress/compressors/deflate/DeflateParametersTest.java
index 0a43798..0890c55 100644
--- a/src/test/java/org/apache/commons/compress/compressors/deflate/DeflateParametersTest.java
+++ b/src/test/java/org/apache/commons/compress/compressors/deflate/DeflateParametersTest.java
@@ -19,7 +19,7 @@
 package org.apache.commons.compress.compressors.deflate;
 
 import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class DeflateParametersTest {
 
@@ -30,13 +30,13 @@ public class DeflateParametersTest {
         Assert.assertEquals(5, p.getCompressionLevel());
     }
 
-    @Test(expected = IllegalArgumentException.class)
+    @Test
     public void shouldNotBeAbleToSetCompressionLevelToANegativeValue() {
         final DeflateParameters p = new DeflateParameters();
         p.setCompressionLevel(-2);
     }
 
-    @Test(expected = IllegalArgumentException.class)
+    @Test
     public void shouldNotBeAbleToSetCompressionLevelToADoubleDigitValue() {
         final DeflateParameters p = new DeflateParameters();
         p.setCompressionLevel(12);
diff --git a/src/test/java/org/apache/commons/compress/compressors/deflate64/Deflate64BugsTest.java b/src/test/java/org/apache/commons/compress/compressors/deflate64/Deflate64BugsTest.java
index 1a445cc..0550396 100644
--- a/src/test/java/org/apache/commons/compress/compressors/deflate64/Deflate64BugsTest.java
+++ b/src/test/java/org/apache/commons/compress/compressors/deflate64/Deflate64BugsTest.java
@@ -24,7 +24,7 @@ import java.util.Enumeration;
 
 import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
 import org.apache.commons.compress.archivers.zip.ZipFile;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class Deflate64BugsTest {
 
diff --git a/src/test/java/org/apache/commons/compress/compressors/deflate64/Deflate64CompressorInputStreamTest.java b/src/test/java/org/apache/commons/compress/compressors/deflate64/Deflate64CompressorInputStreamTest.java
index 622128e..85cec33 100644
--- a/src/test/java/org/apache/commons/compress/compressors/deflate64/Deflate64CompressorInputStreamTest.java
+++ b/src/test/java/org/apache/commons/compress/compressors/deflate64/Deflate64CompressorInputStreamTest.java
@@ -17,27 +17,30 @@
  */
 package org.apache.commons.compress.compressors.deflate64;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.mockito.Mockito.times;
 
 import java.io.BufferedReader;
 import java.io.ByteArrayInputStream;
+import java.io.EOFException;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
 
+import org.apache.commons.compress.archivers.ArchiveException;
 import org.apache.commons.compress.archivers.ArchiveInputStream;
 import org.apache.commons.compress.archivers.ArchiveStreamFactory;
 import org.apache.commons.compress.compressors.CompressorStreamFactory;
 import org.apache.commons.compress.utils.IOUtils;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.Mock;
 import org.mockito.Mockito;
-import org.mockito.junit.MockitoJUnitRunner;
+import org.mockito.junit.jupiter.MockitoExtension;
 
-@RunWith(MockitoJUnitRunner.class)
+@ExtendWith(MockitoExtension.class)
 public class Deflate64CompressorInputStreamTest {
     private final HuffmanDecoder nullDecoder = null;
 
@@ -45,31 +48,6 @@ public class Deflate64CompressorInputStreamTest {
     private HuffmanDecoder decoder;
 
     @Test
-    public void readWhenClosed() throws Exception {
-        try (final Deflate64CompressorInputStream input = new Deflate64CompressorInputStream(nullDecoder)) {
-            assertEquals(-1, input.read());
-            assertEquals(-1, input.read(new byte[1]));
-            assertEquals(-1, input.read(new byte[1], 0, 1));
-        }
-    }
-
-    @Test
-    public void properSizeWhenClosed() throws Exception {
-        try (final Deflate64CompressorInputStream input = new Deflate64CompressorInputStream(nullDecoder)) {
-            assertEquals(0, input.available());
-        }
-    }
-
-    @Test
-    public void delegatesAvailable() throws Exception {
-        Mockito.when(decoder.available()).thenReturn(1024);
-
-        try (final Deflate64CompressorInputStream input = new Deflate64CompressorInputStream(decoder)) {
-            assertEquals(1024, input.available());
-        }
-    }
-
-    @Test
     public void closeCallsDecoder() throws Exception {
 
         try (final Deflate64CompressorInputStream input = new Deflate64CompressorInputStream(decoder)) {
@@ -90,103 +68,60 @@ public class Deflate64CompressorInputStreamTest {
     }
 
     @Test
-    public void uncompressedBlock() throws Exception {
-        final byte[] data = {
-            1, 11, 0, -12, -1,
-            'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd'
-        };
+    public void delegatesAvailable() throws Exception {
+        Mockito.when(decoder.available()).thenReturn(1024);
 
-        try (Deflate64CompressorInputStream input = new Deflate64CompressorInputStream(new ByteArrayInputStream(data));
-             BufferedReader br = new BufferedReader(new InputStreamReader(input))) {
-            assertEquals("Hello World", br.readLine());
-            assertNull(br.readLine());
+        try (final Deflate64CompressorInputStream input = new Deflate64CompressorInputStream(decoder)) {
+            assertEquals(1024, input.available());
         }
     }
 
-    @Test
-    public void uncompressedBlockViaFactory() throws Exception {
-        final byte[] data = {
-            1, 11, 0, -12, -1,
-            'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd'
-        };
-
-        try (InputStream input = new CompressorStreamFactory()
-             .createCompressorInputStream(CompressorStreamFactory.DEFLATE64, new ByteArrayInputStream(data));
-             BufferedReader br = new BufferedReader(new InputStreamReader(input))) {
-            assertEquals("Hello World", br.readLine());
-            assertNull(br.readLine());
+    private void fuzzingTest(final int[] bytes) throws IOException, ArchiveException {
+        final int len = bytes.length;
+        final byte[] input = new byte[len];
+        for (int i = 0; i < len; i++) {
+            input[i] = (byte) bytes[i];
         }
-    }
-
-    @Test
-    public void uncompressedBlockAvailable() throws Exception {
-        final byte[] data = {
-            1, 11, 0, -12, -1,
-            'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd'
-        };
-
-        try (Deflate64CompressorInputStream input = new Deflate64CompressorInputStream(new ByteArrayInputStream(data))) {
-            assertEquals('H', input.read());
-            assertEquals(10, input.available());
+        try (ArchiveInputStream ais = ArchiveStreamFactory.DEFAULT
+             .createArchiveInputStream("zip", new ByteArrayInputStream(input))) {
+            ais.getNextEntry();
+            IOUtils.toByteArray(ais);
         }
     }
 
     @Test
-    public void streamIgnoresExtraBytesAfterDeflatedInput() throws Exception
-    {
-        final byte[] data = {
-            1, 11, 0, -12, -1,
-            'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd', 'X'
-        };
-
-        try (Deflate64CompressorInputStream input = new Deflate64CompressorInputStream(new ByteArrayInputStream(data));
-             BufferedReader br = new BufferedReader(new InputStreamReader(input))) {
-            assertEquals("Hello World", br.readLine());
-            assertNull(br.readLine());
-        }
-    }
-
-    @Test(expected = java.io.EOFException.class)
-    public void throwsEOFExceptionOnTruncatedStreams() throws Exception
-    {
-        final byte[] data = {
-            1, 11, 0, -12, -1,
-            'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l',
-        };
-
-        try (Deflate64CompressorInputStream input = new Deflate64CompressorInputStream(new ByteArrayInputStream(data));
-             BufferedReader br = new BufferedReader(new InputStreamReader(input))) {
-            assertEquals("Hello World", br.readLine());
+    public void multiByteReadConsistentlyReturnsMinusOneAtEof() throws Exception {
+        final byte[] buf = new byte[2];
+        try (final Deflate64CompressorInputStream in =
+                    new Deflate64CompressorInputStream(nullDecoder)) {
+            IOUtils.toByteArray(in);
+            assertEquals(-1, in.read(buf));
+            assertEquals(-1, in.read(buf));
         }
     }
 
     @Test
-    public void singleByteReadConsistentlyReturnsMinusOneAtEof() throws Exception {
-        try (final Deflate64CompressorInputStream in =
-                    new Deflate64CompressorInputStream(nullDecoder)) {
-            IOUtils.toByteArray(in);
-            assertEquals(-1, in.read());
-            assertEquals(-1, in.read());
+    public void properSizeWhenClosed() throws Exception {
+        try (final Deflate64CompressorInputStream input = new Deflate64CompressorInputStream(nullDecoder)) {
+            assertEquals(0, input.available());
         }
     }
 
     @Test
-    public void multiByteReadConsistentlyReturnsMinusOneAtEof() throws Exception {
-        final byte[] buf = new byte[2];
-        try (final Deflate64CompressorInputStream in =
-                    new Deflate64CompressorInputStream(nullDecoder)) {
-            IOUtils.toByteArray(in);
-            assertEquals(-1, in.read(buf));
-            assertEquals(-1, in.read(buf));
+    public void readWhenClosed() throws Exception {
+        try (final Deflate64CompressorInputStream input = new Deflate64CompressorInputStream(nullDecoder)) {
+            assertEquals(-1, input.read());
+            assertEquals(-1, input.read(new byte[1]));
+            assertEquals(-1, input.read(new byte[1], 0, 1));
         }
     }
 
     /**
      * @see <a href="https://issues.apache.org/jira/browse/COMPRESS-521">COMPRESS-521</a>
      */
-    @Test(expected = IOException.class)
-    public void shouldThrowIOExceptionInsteadOfRuntimeExceptionCOMPRESS521() throws Exception {
-        fuzzingTest(new int[] {
+    @Test
+    public void shouldThrowIOExceptionInsteadOfRuntimeExceptionCOMPRESS521() {
+        assertThrows(IOException.class, () -> fuzzingTest(new int[] {
             0x50, 0x4b, 0x03, 0x04, 0x2e, 0x00, 0xb6, 0x00, 0x09, 0x00,
             0x84, 0xb6, 0xba, 0x46, 0x72, 0x00, 0xfe, 0x77, 0x63, 0x00,
             0x00, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x03, 0x00, 0x1c, 0x00,
@@ -194,28 +129,28 @@ public class Deflate64CompressorInputStreamTest {
             0x64, 0x55, 0xf3, 0xce, 0x65, 0x55, 0x75, 0x78, 0x0b, 0x00,
             0x01, 0x04, 0x5c, 0xf9, 0x01, 0x00, 0x04, 0x88, 0x13, 0x00,
             0x00, 0x42, 0x5a, 0x68, 0x34
-        });
+        }));
     }
 
     /**
      * @see <a href="https://issues.apache.org/jira/browse/COMPRESS-522">COMPRESS-522</a>
      */
-    @Test(expected = IOException.class)
-    public void shouldThrowIOExceptionInsteadOfRuntimeExceptionCOMPRESS522() throws Exception {
-        fuzzingTest(new int[] {
+    @Test
+    public void shouldThrowIOExceptionInsteadOfRuntimeExceptionCOMPRESS522() {
+        assertThrows(IOException.class, () -> fuzzingTest(new int[] {
             0x50, 0x4b, 0x03, 0x04, 0x14, 0x00, 0x08, 0x00, 0x09, 0x00,
             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
             0x61, 0x4a, 0x84, 0x02, 0x40, 0x00, 0x01, 0x00, 0xff, 0xff
-        });
+        }));
     }
 
     /**
      * @see <a href="https://issues.apache.org/jira/browse/COMPRESS-525">COMPRESS-525</a>
      */
-    @Test(expected = IOException.class)
-    public void shouldThrowIOExceptionInsteadOfRuntimeExceptionCOMPRESS525() throws Exception {
-        fuzzingTest(new int[] {
+    @Test
+    public void shouldThrowIOExceptionInsteadOfRuntimeExceptionCOMPRESS525() {
+        assertThrows(IOException.class, () -> fuzzingTest(new int[] {
             0x50, 0x4b, 0x03, 0x04, 0x14, 0x00, 0x08, 0x00, 0x09, 0x00,
             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x78, 0x00,
@@ -232,15 +167,15 @@ public class Deflate64CompressorInputStreamTest {
             0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x63, 0x4a,
             0x06, 0x04, 0x00, 0x00, 0xff, 0xff, 0x50, 0x4b, 0x07, 0x08,
             0x6f, 0xdf
-        });
+        }));
     }
 
     /**
      * @see <a href="https://issues.apache.org/jira/browse/COMPRESS-526">COMPRESS-526</a>
      */
-    @Test(expected = IOException.class)
-    public void shouldThrowIOExceptionInsteadOfRuntimeExceptionCOMPRESS526() throws Exception {
-        fuzzingTest(new int[] {
+    @Test
+    public void shouldThrowIOExceptionInsteadOfRuntimeExceptionCOMPRESS526() {
+        assertThrows(IOException.class, () -> fuzzingTest(new int[] {
             0x50, 0x4b, 0x03, 0x04, 0x14, 0x00, 0x08, 0x00, 0x09, 0x00,
             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 0x00, 0x00, 0x00,
@@ -259,15 +194,15 @@ public class Deflate64CompressorInputStreamTest {
             0x01, 0xdf, 0xb9, 0x06, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00,
             0x00, 0x00, 0x50, 0x4b, 0x03, 0x04, 0x14, 0x00, 0x08, 0x00,
             0x08
-        });
+        }));
     }
 
     /**
      * @see <a href="https://issues.apache.org/jira/browse/COMPRESS-527">COMPRESS-527</a>
      */
-    @Test(expected = IOException.class)
-    public void shouldThrowIOExceptionInsteadOfRuntimeExceptionCOMPRESS527() throws Exception {
-        fuzzingTest(new int[] {
+    @Test
+    public void shouldThrowIOExceptionInsteadOfRuntimeExceptionCOMPRESS527() {
+        assertThrows(IOException.class, () -> fuzzingTest(new int[] {
             0x50, 0x4b, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x09, 0x00,
             0x84, 0xb6, 0xba, 0x46, 0x72, 0xb6, 0xfe, 0x77, 0x4a, 0x00,
             0x00, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x03, 0x00, 0x1c, 0x00,
@@ -277,19 +212,85 @@ public class Deflate64CompressorInputStreamTest {
             0x00, 0x1d, 0x8b, 0xc1, 0x0d, 0xc0, 0x30, 0x08, 0x03, 0xff,
             0x99, 0xc2, 0xab, 0x81, 0x50, 0x1a, 0xa8, 0x44, 0x1e, 0x56,
             0x30, 0x7f, 0x21, 0x1f, 0x5b, 0x3e, 0x9d, 0x85, 0x6e
-        });
+        }));
     }
 
-    private void fuzzingTest(final int[] bytes) throws Exception {
-        final int len = bytes.length;
-        final byte[] input = new byte[len];
-        for (int i = 0; i < len; i++) {
-            input[i] = (byte) bytes[i];
+    @Test
+    public void shouldThrowsEOFExceptionOnTruncatedStreams() throws IOException {
+        final byte[] data = {
+            1, 11, 0, -12, -1,
+            'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l',
+        };
+
+        try (Deflate64CompressorInputStream input = new Deflate64CompressorInputStream(new ByteArrayInputStream(data));
+             BufferedReader br = new BufferedReader(new InputStreamReader(input))) {
+            assertThrows(EOFException.class, () -> br.readLine());
         }
-        try (ArchiveInputStream ais = ArchiveStreamFactory.DEFAULT
-             .createArchiveInputStream("zip", new ByteArrayInputStream(input))) {
-            ais.getNextEntry();
-            IOUtils.toByteArray(ais);
+    }
+
+    @Test
+    public void singleByteReadConsistentlyReturnsMinusOneAtEof() throws Exception {
+        try (final Deflate64CompressorInputStream in =
+                    new Deflate64CompressorInputStream(nullDecoder)) {
+            IOUtils.toByteArray(in);
+            assertEquals(-1, in.read());
+            assertEquals(-1, in.read());
+        }
+    }
+
+    @Test
+    public void streamIgnoresExtraBytesAfterDeflatedInput() throws Exception {
+        final byte[] data = {
+            1, 11, 0, -12, -1,
+            'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd', 'X'
+        };
+
+        try (Deflate64CompressorInputStream input = new Deflate64CompressorInputStream(new ByteArrayInputStream(data));
+             BufferedReader br = new BufferedReader(new InputStreamReader(input))) {
+            assertEquals("Hello World", br.readLine());
+            assertNull(br.readLine());
+        }
+    }
+
+    @Test
+    public void uncompressedBlock() throws Exception {
+        final byte[] data = {
+            1, 11, 0, -12, -1,
+            'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd'
+        };
+
+        try (Deflate64CompressorInputStream input = new Deflate64CompressorInputStream(new ByteArrayInputStream(data));
+             BufferedReader br = new BufferedReader(new InputStreamReader(input))) {
+            assertEquals("Hello World", br.readLine());
+            assertNull(br.readLine());
+        }
+    }
+
+    @Test
+    public void uncompressedBlockAvailable() throws Exception {
+        final byte[] data = {
+            1, 11, 0, -12, -1,
+            'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd'
+        };
+
+        try (Deflate64CompressorInputStream input = new Deflate64CompressorInputStream(new ByteArrayInputStream(data))) {
+            assertEquals('H', input.read());
+            assertEquals(10, input.available());
+        }
+    }
+
+    @Test
+    public void uncompressedBlockViaFactory() throws Exception {
+        final byte[] data = {
+            1, 11, 0, -12, -1,
+            'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd'
+        };
+
+        try (InputStream input = new CompressorStreamFactory()
+             .createCompressorInputStream(CompressorStreamFactory.DEFLATE64, new ByteArrayInputStream(data));
+             BufferedReader br = new BufferedReader(new InputStreamReader(input))) {
+            assertEquals("Hello World", br.readLine());
+            assertNull(br.readLine());
         }
     }
 }
diff --git a/src/test/java/org/apache/commons/compress/compressors/deflate64/HuffmanDecoderTest.java b/src/test/java/org/apache/commons/compress/compressors/deflate64/HuffmanDecoderTest.java
index 2758137..5490112 100644
--- a/src/test/java/org/apache/commons/compress/compressors/deflate64/HuffmanDecoderTest.java
+++ b/src/test/java/org/apache/commons/compress/compressors/deflate64/HuffmanDecoderTest.java
@@ -17,7 +17,7 @@
  */
 package org.apache.commons.compress.compressors.deflate64;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import java.io.ByteArrayInputStream;
 import java.util.Arrays;
diff --git a/src/test/java/org/apache/commons/compress/compressors/lz4/BlockLZ4CompressorInputStreamTest.java b/src/test/java/org/apache/commons/compress/compressors/lz4/BlockLZ4CompressorInputStreamTest.java
index 515e212..9f1c373 100644
--- a/src/test/java/org/apache/commons/compress/compressors/lz4/BlockLZ4CompressorInputStreamTest.java
+++ b/src/test/java/org/apache/commons/compress/compressors/lz4/BlockLZ4CompressorInputStreamTest.java
@@ -26,7 +26,7 @@ import java.nio.file.Files;
 import org.apache.commons.compress.AbstractTestCase;
 import org.apache.commons.compress.utils.IOUtils;
 import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class BlockLZ4CompressorInputStreamTest extends AbstractTestCase {
 
diff --git a/src/test/java/org/apache/commons/compress/compressors/lz4/BlockLZ4CompressorOutputStreamTest.java b/src/test/java/org/apache/commons/compress/compressors/lz4/BlockLZ4CompressorOutputStreamTest.java
index 7301938..f9e7a44 100644
--- a/src/test/java/org/apache/commons/compress/compressors/lz4/BlockLZ4CompressorOutputStreamTest.java
+++ b/src/test/java/org/apache/commons/compress/compressors/lz4/BlockLZ4CompressorOutputStreamTest.java
@@ -24,8 +24,8 @@ import java.util.Arrays;
 
 import org.apache.commons.compress.compressors.lz77support.LZ77Compressor;
 import org.junit.Assert;
-import org.junit.Ignore;
-import org.junit.Test;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
 
 public class BlockLZ4CompressorOutputStreamTest {
 
@@ -48,7 +48,7 @@ public class BlockLZ4CompressorOutputStreamTest {
     }
 
     @Test
-    @Ignore("would pass if the algorithm used for rewriting the final pairs was smarter")
+    @Disabled("would pass if the algorithm used for rewriting the final pairs was smarter")
     public void canWriteBackReferenceFollowedByShortLiteralIfOffsetIsBigEnough() {
         final BlockLZ4CompressorOutputStream.Pair p = new BlockLZ4CompressorOutputStream.Pair();
         p.setBackReference(new LZ77Compressor.BackReference(10, 4));
@@ -56,7 +56,7 @@ public class BlockLZ4CompressorOutputStreamTest {
     }
 
     @Test
-    @Ignore("would pass if the algorithm used for rewriting the final pairs was smarter")
+    @Disabled("would pass if the algorithm used for rewriting the final pairs was smarter")
     public void canWriteBackReferenceFollowedByShortLiteralIfLengthIsBigEnough() {
         final BlockLZ4CompressorOutputStream.Pair p = new BlockLZ4CompressorOutputStream.Pair();
         p.setBackReference(new LZ77Compressor.BackReference(1, 10));
diff --git a/src/test/java/org/apache/commons/compress/compressors/lz4/BlockLZ4CompressorRoundtripTest.java b/src/test/java/org/apache/commons/compress/compressors/lz4/BlockLZ4CompressorRoundtripTest.java
index 49595b4..84b3952 100644
--- a/src/test/java/org/apache/commons/compress/compressors/lz4/BlockLZ4CompressorRoundtripTest.java
+++ b/src/test/java/org/apache/commons/compress/compressors/lz4/BlockLZ4CompressorRoundtripTest.java
@@ -23,37 +23,26 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.nio.file.Files;
-import java.util.Arrays;
-import java.util.Collection;
+import java.util.stream.Stream;
+
 import org.apache.commons.compress.AbstractTestCase;
 import org.apache.commons.compress.compressors.lz77support.Parameters;
 import org.apache.commons.compress.utils.IOUtils;
 import org.junit.Assert;
-import org.junit.Test;
-import org.junit.runners.Parameterized;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
 
-@RunWith(Parameterized.class)
 public final class BlockLZ4CompressorRoundtripTest extends AbstractTestCase {
 
-    @org.junit.runners.Parameterized.Parameters(name = "using {0}")
-    public static Collection<Object[]> factory() {
-        return Arrays.asList(new Object[] { "default", BlockLZ4CompressorOutputStream.createParameterBuilder().build() },
-                new Object[] { "tuned for speed",
-                    BlockLZ4CompressorOutputStream.createParameterBuilder().tunedForSpeed().build() },
-                new Object[] { "tuned for compression ratio",
-                    BlockLZ4CompressorOutputStream.createParameterBuilder().tunedForCompressionRatio().build() });
-    }
-
-    private final String config;
-    private final Parameters params;
-
-    public BlockLZ4CompressorRoundtripTest(final String config, final Parameters params) {
-        this.config = config;
-        this.params = params;
+    public static Stream<Arguments> factory() {
+        return Stream.of(
+                Arguments.of("default", BlockLZ4CompressorOutputStream.createParameterBuilder().build()),
+                Arguments.of("tuned for speed", BlockLZ4CompressorOutputStream.createParameterBuilder().tunedForSpeed().build()),
+                Arguments.of("tuned for compression ratio", BlockLZ4CompressorOutputStream.createParameterBuilder().tunedForCompressionRatio().build()));
     }
 
-    private void roundTripTest(final String testFile) throws IOException {
+    private void roundTripTest(final String testFile, final String config, final Parameters params) throws IOException {
         final File input = getFile(testFile);
         long start = System.currentTimeMillis();
         final File outputSz = new File(dir, input.getName() + ".block.lz4");
@@ -76,21 +65,24 @@ public final class BlockLZ4CompressorRoundtripTest extends AbstractTestCase {
     }
 
     // should yield decent compression
-    @Test
-    public void blaTarRoundtrip() throws IOException {
-        roundTripTest("bla.tar");
+    @ParameterizedTest
+    @MethodSource("factory")
+    public void blaTarRoundtrip(final String config, final Parameters params) throws IOException {
+        roundTripTest("bla.tar", config, params);
     }
 
     // yields no compression at all
-    @Test
-    public void gzippedLoremIpsumRoundtrip() throws IOException {
-        roundTripTest("lorem-ipsum.txt.gz");
+    @ParameterizedTest
+    @MethodSource("factory")
+    public void gzippedLoremIpsumRoundtrip(final String config, final Parameters params) throws IOException {
+        roundTripTest("lorem-ipsum.txt.gz", config, params);
     }
 
     // yields no compression at all
-    @Test
-    public void biggerFileRoundtrip() throws IOException {
-        roundTripTest("COMPRESS-256.7z");
+    @ParameterizedTest
+    @MethodSource("factory")
+    public void biggerFileRoundtrip(final String config, final Parameters params) throws IOException {
+        roundTripTest("COMPRESS-256.7z", config, params);
     }
 
 }
diff --git a/src/test/java/org/apache/commons/compress/compressors/lz4/FactoryTest.java b/src/test/java/org/apache/commons/compress/compressors/lz4/FactoryTest.java
index ad6da73..485d398 100644
--- a/src/test/java/org/apache/commons/compress/compressors/lz4/FactoryTest.java
+++ b/src/test/java/org/apache/commons/compress/compressors/lz4/FactoryTest.java
@@ -27,7 +27,7 @@ import org.apache.commons.compress.AbstractTestCase;
 import org.apache.commons.compress.compressors.CompressorStreamFactory;
 import org.apache.commons.compress.utils.IOUtils;
 import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class FactoryTest extends AbstractTestCase {
 
diff --git a/src/test/java/org/apache/commons/compress/compressors/lz4/FramedLZ4CompressorInputStreamTest.java b/src/test/java/org/apache/commons/compress/compressors/lz4/FramedLZ4CompressorInputStreamTest.java
index 0e60246..08f12a3 100644
--- a/src/test/java/org/apache/commons/compress/compressors/lz4/FramedLZ4CompressorInputStreamTest.java
+++ b/src/test/java/org/apache/commons/compress/compressors/lz4/FramedLZ4CompressorInputStreamTest.java
@@ -38,7 +38,7 @@ import org.apache.commons.compress.AbstractTestCase;
 import org.apache.commons.compress.compressors.CompressorStreamFactory;
 import org.apache.commons.compress.utils.IOUtils;
 import org.junit.Rule;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.junit.rules.ExpectedException;
 
 public final class FramedLZ4CompressorInputStreamTest
@@ -156,7 +156,7 @@ public final class FramedLZ4CompressorInputStreamTest
         }
     }
 
-    @Test(expected = IOException.class)
+    @Test
     public void rejectsNonLZ4Stream() throws IOException {
         try (InputStream a = new FramedLZ4CompressorInputStream(Files.newInputStream(getFile("bla.tar").toPath()))) {
              fail("expected exception");
diff --git a/src/test/java/org/apache/commons/compress/compressors/lz4/FramedLZ4CompressorRoundtripTest.java b/src/test/java/org/apache/commons/compress/compressors/lz4/FramedLZ4CompressorRoundtripTest.java
index 4d35d99..8b743cb 100644
--- a/src/test/java/org/apache/commons/compress/compressors/lz4/FramedLZ4CompressorRoundtripTest.java
+++ b/src/test/java/org/apache/commons/compress/compressors/lz4/FramedLZ4CompressorRoundtripTest.java
@@ -24,47 +24,39 @@ import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
 import java.nio.file.Files;
-import java.util.Arrays;
-import java.util.Collection;
+import java.util.stream.Stream;
+
 import org.apache.commons.compress.AbstractTestCase;
 import org.apache.commons.compress.utils.IOUtils;
 import org.junit.Assert;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
 
-@RunWith(Parameterized.class)
 public final class FramedLZ4CompressorRoundtripTest extends AbstractTestCase {
 
-    @Parameters(name = "using {0}")
-    public static Collection<Object[]> factory() {
-        return Arrays.asList(new Object[] { new FramedLZ4CompressorOutputStream.Parameters(FramedLZ4CompressorOutputStream.BlockSize.K64) },
-                new Object[] { new FramedLZ4CompressorOutputStream.Parameters(FramedLZ4CompressorOutputStream.BlockSize.K256) },
-                new Object[] { new FramedLZ4CompressorOutputStream.Parameters(FramedLZ4CompressorOutputStream.BlockSize.M1) },
-                new Object[] { FramedLZ4CompressorOutputStream.Parameters.DEFAULT },
+    public static Stream<Arguments> factory() {
+        return Stream.of(
+                Arguments.of(new FramedLZ4CompressorOutputStream.Parameters(FramedLZ4CompressorOutputStream.BlockSize.K64)),
+                Arguments.of(new FramedLZ4CompressorOutputStream.Parameters(FramedLZ4CompressorOutputStream.BlockSize.K256)),
+                Arguments.of(new FramedLZ4CompressorOutputStream.Parameters(FramedLZ4CompressorOutputStream.BlockSize.M1)),
+                Arguments.of(FramedLZ4CompressorOutputStream.Parameters.DEFAULT),
                 // default without content checksum
-                new Object[] { new FramedLZ4CompressorOutputStream.Parameters(FramedLZ4CompressorOutputStream.BlockSize.M4,
-                    false, false, false) },
+                Arguments.of(new FramedLZ4CompressorOutputStream.Parameters(FramedLZ4CompressorOutputStream.BlockSize.M4,
+                    false, false, false)),
                 // default with block checksum
-                new Object[] { new FramedLZ4CompressorOutputStream.Parameters(FramedLZ4CompressorOutputStream.BlockSize.M4,
-                    true, true, false) },
+                Arguments.of(new FramedLZ4CompressorOutputStream.Parameters(FramedLZ4CompressorOutputStream.BlockSize.M4,
+                    true, true, false)),
                 // small blocksize (so we get enough blocks) and enabled block dependency, otherwise defaults
-                new Object[] { new FramedLZ4CompressorOutputStream.Parameters(FramedLZ4CompressorOutputStream.BlockSize.K64,
-                    true, false, true) },
+                Arguments.of(new FramedLZ4CompressorOutputStream.Parameters(FramedLZ4CompressorOutputStream.BlockSize.K64,
+                    true, false, true)),
                 // default, tuned for speed
-                new Object[] { new FramedLZ4CompressorOutputStream.Parameters(FramedLZ4CompressorOutputStream.BlockSize.M4,
+                Arguments.of(new FramedLZ4CompressorOutputStream.Parameters(FramedLZ4CompressorOutputStream.BlockSize.M4,
                     true, false, false, BlockLZ4CompressorOutputStream.createParameterBuilder()
-                        .tunedForSpeed().build()) });
-    }
-
-    private final FramedLZ4CompressorOutputStream.Parameters params;
-
-    public FramedLZ4CompressorRoundtripTest(final FramedLZ4CompressorOutputStream.Parameters params) {
-        this.params = params;
+                        .tunedForSpeed().build())));
     }
 
-    private void roundTripTest(final String testFile) throws IOException {
+    private void roundTripTest(final String testFile, final FramedLZ4CompressorOutputStream.Parameters params) throws IOException {
         final File input = getFile(testFile);
         long start = System.currentTimeMillis();
         final File outputSz = new File(dir, input.getName() + ".framed.lz4");
@@ -90,20 +82,23 @@ public final class FramedLZ4CompressorRoundtripTest extends AbstractTestCase {
     }
 
     // should yield decent compression
-    @Test
-    public void blaTarRoundtrip() throws IOException {
-        roundTripTest("bla.tar");
+    @ParameterizedTest
+    @MethodSource("factory")
+    public void blaTarRoundtrip(final FramedLZ4CompressorOutputStream.Parameters params) throws IOException {
+        roundTripTest("bla.tar", params);
     }
 
     // yields no compression at all
-    @Test
-    public void gzippedLoremIpsumRoundtrip() throws IOException {
-        roundTripTest("lorem-ipsum.txt.gz");
+    @ParameterizedTest
+    @MethodSource("factory")
+   public void gzippedLoremIpsumRoundtrip(final FramedLZ4CompressorOutputStream.Parameters params) throws IOException {
+        roundTripTest("lorem-ipsum.txt.gz", params);
     }
 
-    @Test
-    public void biggerFileRoundtrip() throws IOException {
-        roundTripTest("COMPRESS-256.7z");
+    @ParameterizedTest
+    @MethodSource("factory")
+    public void biggerFileRoundtrip(final FramedLZ4CompressorOutputStream.Parameters params) throws IOException {
+        roundTripTest("COMPRESS-256.7z", params);
     }
 
 }
diff --git a/src/test/java/org/apache/commons/compress/compressors/lz4/XXHash32Test.java b/src/test/java/org/apache/commons/compress/compressors/lz4/XXHash32Test.java
index 66aaa4a..51beb1a 100644
--- a/src/test/java/org/apache/commons/compress/compressors/lz4/XXHash32Test.java
+++ b/src/test/java/org/apache/commons/compress/compressors/lz4/XXHash32Test.java
@@ -23,41 +23,32 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.nio.file.Files;
 import java.util.Arrays;
-import java.util.Collection;
+import java.util.stream.Stream;
 
 import org.apache.commons.compress.AbstractTestCase;
 import org.apache.commons.compress.utils.IOUtils;
-
 import org.junit.Assert;
-import org.junit.Test;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
 
-@RunWith(Parameterized.class)
 public class XXHash32Test {
 
-    private final File file;
-    private final String expectedChecksum;
-
-    public XXHash32Test(final String fileName, final String c) throws IOException {
-        file = AbstractTestCase.getFile(fileName);
-        expectedChecksum = c;
-    }
-
-    @Parameters
-    public static Collection<Object[]> factory() {
-        return Arrays.asList(new Object[][] {
+    public static Stream<Arguments> factory() {
+        return Stream.of(
             // reference checksums created with xxh32sum
-            { "bla.tar", "fbb5c8d1" },
-            { "bla.tar.xz", "4106a208" },
-            { "8.posix.tar.gz", "9fce116a" },
-        });
+            Arguments.of("bla.tar", "fbb5c8d1"),
+            Arguments.of("bla.tar.xz", "4106a208"),
+            Arguments.of("8.posix.tar.gz", "9fce116a")
+        );
     }
 
-    @Test
-    public void verifyChecksum() throws IOException {
+    @ParameterizedTest
+    @MethodSource("factory")
+    public void verifyChecksum(final String fileName, final String expectedChecksum) throws IOException {
         final XXHash32 h = new XXHash32();
+        final File file = AbstractTestCase.getFile(fileName);
         try (InputStream s = Files.newInputStream(file.toPath())) {
             final byte[] b = IOUtils.toByteArray(s);
             h.update(b, 0, b.length);
diff --git a/src/test/java/org/apache/commons/compress/compressors/lz77support/AbstractLZ77CompressorInputStreamTest.java b/src/test/java/org/apache/commons/compress/compressors/lz77support/AbstractLZ77CompressorInputStreamTest.java
index 19128da..50ed6a8 100644
--- a/src/test/java/org/apache/commons/compress/compressors/lz77support/AbstractLZ77CompressorInputStreamTest.java
+++ b/src/test/java/org/apache/commons/compress/compressors/lz77support/AbstractLZ77CompressorInputStreamTest.java
@@ -23,7 +23,7 @@ import java.io.IOException;
 import java.io.InputStream;
 
 import org.apache.commons.compress.utils.ByteUtils;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
@@ -48,7 +48,7 @@ public class AbstractLZ77CompressorInputStreamTest {
         }
     }
 
-    @Test(expected = IllegalStateException.class)
+    @Test
     public void cantPrefillAfterDataHasBeenRead() throws IOException {
         final byte[] data = new byte[] { 1, 2, 3, 4 };
         try (TestStream s = new TestStream(new ByteArrayInputStream(data))) {
diff --git a/src/test/java/org/apache/commons/compress/compressors/lz77support/LZ77CompressorTest.java b/src/test/java/org/apache/commons/compress/compressors/lz77support/LZ77CompressorTest.java
index 92ff881..6cd6b10 100644
--- a/src/test/java/org/apache/commons/compress/compressors/lz77support/LZ77CompressorTest.java
+++ b/src/test/java/org/apache/commons/compress/compressors/lz77support/LZ77CompressorTest.java
@@ -23,7 +23,7 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import static java.nio.charset.StandardCharsets.*;
 import static org.junit.Assert.assertArrayEquals;
@@ -268,7 +268,7 @@ public class LZ77CompressorTest {
         assertLiteralBlock("ah!", blocks.get(4));
     }
 
-    @Test(expected = IllegalStateException.class)
+    @Test
     public void cantPrefillTwice() {
         final LZ77Compressor c = new LZ77Compressor(newParameters(128), block -> {
         });
@@ -276,7 +276,7 @@ public class LZ77CompressorTest {
         c.prefill(Arrays.copyOfRange(BLA, 2, 4));
     }
 
-    @Test(expected = IllegalStateException.class)
+    @Test
     public void cantPrefillAfterCompress() throws IOException {
         final LZ77Compressor c = new LZ77Compressor(newParameters(128), block -> {
         });
diff --git a/src/test/java/org/apache/commons/compress/compressors/lz77support/ParametersTest.java b/src/test/java/org/apache/commons/compress/compressors/lz77support/ParametersTest.java
index 678f89e..43348b2 100644
--- a/src/test/java/org/apache/commons/compress/compressors/lz77support/ParametersTest.java
+++ b/src/test/java/org/apache/commons/compress/compressors/lz77support/ParametersTest.java
@@ -18,7 +18,7 @@
  */
 package org.apache.commons.compress.compressors.lz77support;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import static org.junit.Assert.assertEquals;
 
@@ -109,12 +109,12 @@ public class ParametersTest {
         assertEquals(7, p.getMaxLiteralLength());
     }
 
-    @Test(expected = IllegalArgumentException.class)
+    @Test
     public void windowSizeMustNotBeSmallerThanMinBackReferenceLength() {
         newParameters(128, 200, 300, 400, 500);
     }
 
-    @Test(expected = IllegalArgumentException.class)
+    @Test
     public void windowSizeMustBeAPowerOfTwo() {
         newParameters(100, 200, 300, 400, 500);
     }
diff --git a/src/test/java/org/apache/commons/compress/compressors/lzma/LZMAUtilsTestCase.java b/src/test/java/org/apache/commons/compress/compressors/lzma/LZMAUtilsTestCase.java
index aa9971a..ea5116a 100644
--- a/src/test/java/org/apache/commons/compress/compressors/lzma/LZMAUtilsTestCase.java
+++ b/src/test/java/org/apache/commons/compress/compressors/lzma/LZMAUtilsTestCase.java
@@ -22,7 +22,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class LZMAUtilsTestCase {
 
diff --git a/src/test/java/org/apache/commons/compress/compressors/pack200/Pack200UtilsTest.java b/src/test/java/org/apache/commons/compress/compressors/pack200/Pack200UtilsTest.java
index cff494c..6e38f6e 100644
--- a/src/test/java/org/apache/commons/compress/compressors/pack200/Pack200UtilsTest.java
+++ b/src/test/java/org/apache/commons/compress/compressors/pack200/Pack200UtilsTest.java
@@ -29,7 +29,7 @@ import org.apache.commons.compress.archivers.ArchiveEntry;
 import org.apache.commons.compress.archivers.ArchiveInputStream;
 import org.apache.commons.compress.archivers.ArchiveStreamFactory;
 import org.apache.commons.compress.utils.IOUtils;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public final class Pack200UtilsTest extends AbstractTestCase {
 
diff --git a/src/test/java/org/apache/commons/compress/compressors/snappy/FramedSnappyCompressorInputStreamTest.java b/src/test/java/org/apache/commons/compress/compressors/snappy/FramedSnappyCompressorInputStreamTest.java
index f488a6e..b831d1e 100644
--- a/src/test/java/org/apache/commons/compress/compressors/snappy/FramedSnappyCompressorInputStreamTest.java
+++ b/src/test/java/org/apache/commons/compress/compressors/snappy/FramedSnappyCompressorInputStreamTest.java
@@ -36,7 +36,7 @@ import org.apache.commons.compress.AbstractTestCase;
 import org.apache.commons.compress.archivers.zip.ZipFile;
 import org.apache.commons.compress.compressors.gzip.GzipCompressorInputStream;
 import org.apache.commons.compress.utils.IOUtils;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public final class FramedSnappyCompressorInputStreamTest
     extends AbstractTestCase {
diff --git a/src/test/java/org/apache/commons/compress/compressors/snappy/SnappyRoundtripTest.java b/src/test/java/org/apache/commons/compress/compressors/snappy/SnappyRoundtripTest.java
index 669ffab..b548475 100644
--- a/src/test/java/org/apache/commons/compress/compressors/snappy/SnappyRoundtripTest.java
+++ b/src/test/java/org/apache/commons/compress/compressors/snappy/SnappyRoundtripTest.java
@@ -30,7 +30,7 @@ import org.apache.commons.compress.AbstractTestCase;
 import org.apache.commons.compress.compressors.lz77support.Parameters;
 import org.apache.commons.compress.utils.IOUtils;
 import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public final class SnappyRoundtripTest extends AbstractTestCase {
 
diff --git a/src/test/java/org/apache/commons/compress/compressors/xz/XZCompressorInputStreamTest.java b/src/test/java/org/apache/commons/compress/compressors/xz/XZCompressorInputStreamTest.java
index 229b27a..1baf9b4 100644
--- a/src/test/java/org/apache/commons/compress/compressors/xz/XZCompressorInputStreamTest.java
+++ b/src/test/java/org/apache/commons/compress/compressors/xz/XZCompressorInputStreamTest.java
@@ -27,7 +27,7 @@ import java.nio.file.Files;
 
 import org.apache.commons.compress.utils.IOUtils;
 import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class XZCompressorInputStreamTest {
     @Test
diff --git a/src/test/java/org/apache/commons/compress/compressors/xz/XZCompressorOutputStreamTest.java b/src/test/java/org/apache/commons/compress/compressors/xz/XZCompressorOutputStreamTest.java
index 1cd951e..22b3890 100644
--- a/src/test/java/org/apache/commons/compress/compressors/xz/XZCompressorOutputStreamTest.java
+++ b/src/test/java/org/apache/commons/compress/compressors/xz/XZCompressorOutputStreamTest.java
@@ -18,7 +18,7 @@
  */
 package org.apache.commons.compress.compressors.xz;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
diff --git a/src/test/java/org/apache/commons/compress/compressors/xz/XZUtilsTestCase.java b/src/test/java/org/apache/commons/compress/compressors/xz/XZUtilsTestCase.java
index c00d54f..301d32b 100644
--- a/src/test/java/org/apache/commons/compress/compressors/xz/XZUtilsTestCase.java
+++ b/src/test/java/org/apache/commons/compress/compressors/xz/XZUtilsTestCase.java
@@ -22,7 +22,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class XZUtilsTestCase {
 
diff --git a/src/test/java/org/apache/commons/compress/compressors/z/ZCompressorInputStreamTest.java b/src/test/java/org/apache/commons/compress/compressors/z/ZCompressorInputStreamTest.java
index 6b28d0e..056cd96 100644
--- a/src/test/java/org/apache/commons/compress/compressors/z/ZCompressorInputStreamTest.java
+++ b/src/test/java/org/apache/commons/compress/compressors/z/ZCompressorInputStreamTest.java
@@ -19,7 +19,7 @@
 package org.apache.commons.compress.compressors.z;
 
 import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import java.io.File;
 import java.io.IOException;
@@ -40,7 +40,7 @@ import static org.apache.commons.compress.AbstractTestCase.getFile;
 public class ZCompressorInputStreamTest {
 
 
-    @Test(expected = IOException.class)
+    @Test
     public void testFailsToCreateZCompressorInputStreamAndThrowsIOException() throws IOException {
         final SequenceInputStream sequenceInputStream = new SequenceInputStream(Collections.emptyEnumeration());
         final ZCompressorInputStream zCompressorInputStream = new ZCompressorInputStream(sequenceInputStream);
diff --git a/src/test/java/org/apache/commons/compress/compressors/zstandard/ZstdCompressorInputStreamTest.java b/src/test/java/org/apache/commons/compress/compressors/zstandard/ZstdCompressorInputStreamTest.java
index a81fce3..6331665 100644
--- a/src/test/java/org/apache/commons/compress/compressors/zstandard/ZstdCompressorInputStreamTest.java
+++ b/src/test/java/org/apache/commons/compress/compressors/zstandard/ZstdCompressorInputStreamTest.java
@@ -34,7 +34,7 @@ import org.apache.commons.compress.compressors.CompressorInputStream;
 import org.apache.commons.compress.compressors.CompressorStreamFactory;
 import org.apache.commons.compress.utils.IOUtils;
 import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class ZstdCompressorInputStreamTest extends AbstractTestCase {
 
diff --git a/src/test/java/org/apache/commons/compress/compressors/zstandard/ZstdRoundtripTest.java b/src/test/java/org/apache/commons/compress/compressors/zstandard/ZstdRoundtripTest.java
index 0e1ac52..2fe725b 100644
--- a/src/test/java/org/apache/commons/compress/compressors/zstandard/ZstdRoundtripTest.java
+++ b/src/test/java/org/apache/commons/compress/compressors/zstandard/ZstdRoundtripTest.java
@@ -30,7 +30,7 @@ import org.apache.commons.compress.compressors.CompressorOutputStream;
 import org.apache.commons.compress.compressors.CompressorStreamFactory;
 import org.apache.commons.compress.utils.IOUtils;
 import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class ZstdRoundtripTest extends AbstractTestCase {
 
diff --git a/src/test/java/org/apache/commons/compress/compressors/zstandard/ZstdUtilsTest.java b/src/test/java/org/apache/commons/compress/compressors/zstandard/ZstdUtilsTest.java
index 5bba0ad..ca89fda 100644
--- a/src/test/java/org/apache/commons/compress/compressors/zstandard/ZstdUtilsTest.java
+++ b/src/test/java/org/apache/commons/compress/compressors/zstandard/ZstdUtilsTest.java
@@ -20,7 +20,7 @@ package org.apache.commons.compress.compressors.zstandard;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class ZstdUtilsTest {
 
diff --git a/src/test/java/org/apache/commons/compress/harmony/unpack200/tests/Codec_decodeInts_OutOfMemoryErrorTest.java b/src/test/java/org/apache/commons/compress/harmony/unpack200/tests/Codec_decodeInts_OutOfMemoryErrorTest.java
index 0d6b65e..364125a 100644
--- a/src/test/java/org/apache/commons/compress/harmony/unpack200/tests/Codec_decodeInts_OutOfMemoryErrorTest.java
+++ b/src/test/java/org/apache/commons/compress/harmony/unpack200/tests/Codec_decodeInts_OutOfMemoryErrorTest.java
@@ -22,8 +22,8 @@ import java.io.InputStream;
 
 import org.apache.commons.compress.compressors.pack200.Pack200CompressorInputStream;
 import org.apache.commons.compress.compressors.pack200.Pack200Strategy;
-import org.junit.Ignore;
-import org.junit.Test;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
 
 /**
  * Tests https://issues.apache.org/jira/browse/COMPRESS-599.
@@ -64,7 +64,7 @@ import org.junit.Test;
   at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:40)}
  * </pre>
  */
-@Ignore
+@Disabled
 public class Codec_decodeInts_OutOfMemoryErrorTest {
     private static final String BASE64_BYTES = "yv7QDQeW0ABgfwDuwOn8QwIGAAIBAQAAd9zc3Nzc3Nzc3Nzc3Nzc3NxuZXR3YXJl3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3GluZG93cwAAAwMUAxUDZmVzdA0K";
 
diff --git a/src/test/java/org/apache/commons/compress/utils/BitInputStreamTest.java b/src/test/java/org/apache/commons/compress/utils/BitInputStreamTest.java
index b1916c5..582a16f 100644
--- a/src/test/java/org/apache/commons/compress/utils/BitInputStreamTest.java
+++ b/src/test/java/org/apache/commons/compress/utils/BitInputStreamTest.java
@@ -24,18 +24,18 @@ import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.nio.ByteOrder;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class BitInputStreamTest {
 
-    @Test(expected = IOException.class)
+    @Test
     public void shouldNotAllowReadingOfANegativeAmountOfBits() throws IOException {
         try (final BitInputStream bis = new BitInputStream(getStream(), ByteOrder.LITTLE_ENDIAN)) {
             bis.readBits(-1);
         }
     }
 
-    @Test(expected = IOException.class)
+    @Test
     public void shouldNotAllowReadingOfMoreThan63BitsAtATime() throws IOException {
         try (final BitInputStream bis = new BitInputStream(getStream(), ByteOrder.LITTLE_ENDIAN)) {
             bis.readBits(64);
diff --git a/src/test/java/org/apache/commons/compress/utils/BoundedSeekableByteChannelInputStreamTest.java b/src/test/java/org/apache/commons/compress/utils/BoundedSeekableByteChannelInputStreamTest.java
index 9910a13..73a3210 100644
--- a/src/test/java/org/apache/commons/compress/utils/BoundedSeekableByteChannelInputStreamTest.java
+++ b/src/test/java/org/apache/commons/compress/utils/BoundedSeekableByteChannelInputStreamTest.java
@@ -17,7 +17,7 @@
  */
 package org.apache.commons.compress.utils;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import java.io.IOException;
 
diff --git a/src/test/java/org/apache/commons/compress/utils/ByteUtilsTest.java b/src/test/java/org/apache/commons/compress/utils/ByteUtilsTest.java
index 5c053da..e61b5fc 100644
--- a/src/test/java/org/apache/commons/compress/utils/ByteUtilsTest.java
+++ b/src/test/java/org/apache/commons/compress/utils/ByteUtilsTest.java
@@ -27,7 +27,7 @@ import java.io.DataOutputStream;
 import java.io.IOException;
 import java.util.Arrays;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import static org.apache.commons.compress.utils.ByteUtils.InputStreamByteSupplier;
 import static org.apache.commons.compress.utils.ByteUtils.OutputStreamByteConsumer;
@@ -50,7 +50,7 @@ public class ByteUtilsTest {
         assertEquals(2 + 3 * 256 + 4 * 256 * 256 + 128L * 256 * 256 * 256, fromLittleEndian(b));
     }
 
-    @Test(expected = IllegalArgumentException.class)
+    @Test
     public void fromLittleEndianFromArrayOneArgThrowsForLengthTooBig() {
         fromLittleEndian(new byte[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 });
     }
@@ -67,7 +67,7 @@ public class ByteUtilsTest {
         assertEquals(2 + 3 * 256 + 4 * 256 * 256 + 128L * 256 * 256 * 256, fromLittleEndian(b, 1, 4));
     }
 
-    @Test(expected = IllegalArgumentException.class)
+    @Test
     public void fromLittleEndianFromArrayThrowsForLengthTooBig() {
         fromLittleEndian(ByteUtils.EMPTY_BYTE_ARRAY, 0, 9);
     }
@@ -84,12 +84,12 @@ public class ByteUtilsTest {
         assertEquals(2 + 3 * 256 + 4 * 256 * 256 + 128L * 256 * 256 * 256, fromLittleEndian(bin, 4));
     }
 
-    @Test(expected = IllegalArgumentException.class)
+    @Test
     public void fromLittleEndianFromStreamThrowsForLengthTooBig() throws IOException {
         fromLittleEndian(new ByteArrayInputStream(ByteUtils.EMPTY_BYTE_ARRAY), 9);
     }
 
-    @Test(expected = IOException.class)
+    @Test
     public void fromLittleEndianFromStreamThrowsForPrematureEnd() throws IOException {
         final ByteArrayInputStream bin = new ByteArrayInputStream(new byte[] { 2, 3 });
         fromLittleEndian(bin, 3);
@@ -108,12 +108,12 @@ public class ByteUtilsTest {
             fromLittleEndian(new InputStreamByteSupplier(bin), 4));
     }
 
-    @Test(expected = IllegalArgumentException.class)
+    @Test
     public void fromLittleEndianFromSupplierThrowsForLengthTooBig() throws IOException {
         fromLittleEndian(new InputStreamByteSupplier(new ByteArrayInputStream(ByteUtils.EMPTY_BYTE_ARRAY)), 9);
     }
 
-    @Test(expected = IOException.class)
+    @Test
     public void fromLittleEndianFromSupplierThrowsForPrematureEnd() throws IOException {
         final ByteArrayInputStream bin = new ByteArrayInputStream(new byte[] { 2, 3 });
         fromLittleEndian(new InputStreamByteSupplier(bin), 3);
@@ -131,13 +131,13 @@ public class ByteUtilsTest {
         assertEquals(2 + 3 * 256 + 4 * 256 * 256 + 128L * 256 * 256 * 256, fromLittleEndian(din, 4));
     }
 
-    @Test(expected = IllegalArgumentException.class)
+    @Test
     public void fromLittleEndianFromDataInputThrowsForLengthTooBig() throws IOException {
         final DataInput din = new DataInputStream(new ByteArrayInputStream(ByteUtils.EMPTY_BYTE_ARRAY));
         fromLittleEndian(din, 9);
     }
 
-    @Test(expected = java.io.EOFException.class)
+    @Test
     public void fromLittleEndianFromDataInputThrowsForPrematureEnd() throws IOException {
         final DataInput din = new DataInputStream(new ByteArrayInputStream(new byte[] { 2, 3 }));
         fromLittleEndian(din, 3);
diff --git a/src/test/java/org/apache/commons/compress/utils/CharsetsTest.java b/src/test/java/org/apache/commons/compress/utils/CharsetsTest.java
index 2b33bef..8b7b2e0 100644
--- a/src/test/java/org/apache/commons/compress/utils/CharsetsTest.java
+++ b/src/test/java/org/apache/commons/compress/utils/CharsetsTest.java
@@ -21,8 +21,7 @@ import java.nio.charset.Charset;
 import java.nio.charset.StandardCharsets;
 
 import org.junit.Assert;
-
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 /**
  * Sanity checks for {@link Charsets}.
diff --git a/src/test/java/org/apache/commons/compress/utils/ChecksumCalculatingInputStreamTest.java b/src/test/java/org/apache/commons/compress/utils/ChecksumCalculatingInputStreamTest.java
index c28cd61..149bd4e 100644
--- a/src/test/java/org/apache/commons/compress/utils/ChecksumCalculatingInputStreamTest.java
+++ b/src/test/java/org/apache/commons/compress/utils/ChecksumCalculatingInputStreamTest.java
@@ -16,7 +16,7 @@
  */
 package org.apache.commons.compress.utils;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import java.io.BufferedInputStream;
 import java.io.ByteArrayInputStream;
@@ -107,7 +107,7 @@ public class ChecksumCalculatingInputStreamTest {
     }
 
 
-    @Test(expected = NullPointerException.class)
+    @Test
     public void testClassInstantiationWithParameterBeingNullThrowsNullPointerExceptionOne() {
 
         final ChecksumCalculatingInputStream checksumCalculatingInputStream = new ChecksumCalculatingInputStream(null,null);
@@ -116,7 +116,7 @@ public class ChecksumCalculatingInputStreamTest {
     }
 
 
-    @Test(expected = NullPointerException.class)
+    @Test
     public void testClassInstantiationWithParameterBeingNullThrowsNullPointerExceptionTwo() {
 
         final ChecksumCalculatingInputStream checksumCalculatingInputStream = new ChecksumCalculatingInputStream(null,new ByteArrayInputStream(new byte[1]));
@@ -125,7 +125,7 @@ public class ChecksumCalculatingInputStreamTest {
     }
 
 
-    @Test(expected = NullPointerException.class)
+    @Test
     public void testClassInstantiationWithParameterBeingNullThrowsNullPointerExceptionThree() {
 
         final ChecksumCalculatingInputStream checksumCalculatingInputStream = new ChecksumCalculatingInputStream(new CRC32(),null);
diff --git a/src/test/java/org/apache/commons/compress/utils/ChecksumVerifyingInputStreamTest.java b/src/test/java/org/apache/commons/compress/utils/ChecksumVerifyingInputStreamTest.java
index 945dd2c..980b7a0 100644
--- a/src/test/java/org/apache/commons/compress/utils/ChecksumVerifyingInputStreamTest.java
+++ b/src/test/java/org/apache/commons/compress/utils/ChecksumVerifyingInputStreamTest.java
@@ -16,7 +16,7 @@
  */
 package org.apache.commons.compress.utils;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
@@ -36,7 +36,7 @@ public class ChecksumVerifyingInputStreamTest {
 
 
 
-    @Test(expected = IOException.class)
+    @Test
     public void testReadTakingByteArrayThrowsIOException() throws IOException {
 
         final Adler32 adler32 = new Adler32();
@@ -49,7 +49,7 @@ public class ChecksumVerifyingInputStreamTest {
     }
 
 
-    @Test(expected = IOException.class)
+    @Test
     public void testReadTakingNoArgumentsThrowsIOException() throws IOException {
 
         final CRC32 cRC32_ = new CRC32();
diff --git a/src/test/java/org/apache/commons/compress/utils/CountingStreamTest.java b/src/test/java/org/apache/commons/compress/utils/CountingStreamTest.java
index 3be1870..13049fe 100644
--- a/src/test/java/org/apache/commons/compress/utils/CountingStreamTest.java
+++ b/src/test/java/org/apache/commons/compress/utils/CountingStreamTest.java
@@ -18,14 +18,14 @@
  */
 package org.apache.commons.compress.utils;
 
+import org.junit.jupiter.api.Test;
+
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
 
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 
-import org.junit.Test;
-
 public class CountingStreamTest {
 
     @Test
diff --git a/src/test/java/org/apache/commons/compress/utils/FileNameUtilsTest.java b/src/test/java/org/apache/commons/compress/utils/FileNameUtilsTest.java
index 5aa0ff2..f100e3c 100644
--- a/src/test/java/org/apache/commons/compress/utils/FileNameUtilsTest.java
+++ b/src/test/java/org/apache/commons/compress/utils/FileNameUtilsTest.java
@@ -24,7 +24,7 @@ import static org.junit.Assert.assertNull;
 import java.nio.file.Path;
 import java.nio.file.Paths;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class FileNameUtilsTest {
 
diff --git a/src/test/java/org/apache/commons/compress/utils/FixedLengthBlockOutputStreamTest.java b/src/test/java/org/apache/commons/compress/utils/FixedLengthBlockOutputStreamTest.java
index 51b95b3..d32d335 100644
--- a/src/test/java/org/apache/commons/compress/utils/FixedLengthBlockOutputStreamTest.java
+++ b/src/test/java/org/apache/commons/compress/utils/FixedLengthBlockOutputStreamTest.java
@@ -39,7 +39,7 @@ import java.nio.file.Path;
 import java.util.concurrent.atomic.AtomicBoolean;
 
 import org.hamcrest.core.IsInstanceOf;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class FixedLengthBlockOutputStreamTest {
 
diff --git a/src/test/java/org/apache/commons/compress/utils/IOUtilsTest.java b/src/test/java/org/apache/commons/compress/utils/IOUtilsTest.java
index f5d00dc..47b121b 100644
--- a/src/test/java/org/apache/commons/compress/utils/IOUtilsTest.java
+++ b/src/test/java/org/apache/commons/compress/utils/IOUtilsTest.java
@@ -27,10 +27,8 @@ import java.lang.reflect.Field;
 import java.nio.ByteBuffer;
 import java.nio.channels.ReadableByteChannel;
 
-import org.apache.commons.compress.utils.SeekableInMemoryByteChannel;
-
 import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class IOUtilsTest {
 
@@ -80,7 +78,7 @@ public class IOUtilsTest {
         Assert.assertArrayEquals(source, b.array());
     }
 
-    @Test(expected = EOFException.class)
+    @Test
     public void readFullyOnChannelThrowsEof() throws IOException {
         final ByteBuffer b = ByteBuffer.allocate(21);
         final byte[] source = new byte[20];
@@ -90,12 +88,12 @@ public class IOUtilsTest {
         readFully(source, b);
     }
 
-    @Test(expected = IllegalArgumentException.class)
+    @Test
     public void copyThrowsOnZeroBufferSize() throws IOException {
         IOUtils.copy(new ByteArrayInputStream(ByteUtils.EMPTY_BYTE_ARRAY), new ByteArrayOutputStream(), 0);
     }
 
-    @Test(expected = IllegalArgumentException.class)
+    @Test
     public void copyRangeThrowsOnZeroBufferSize() throws IOException {
         IOUtils.copyRange(new ByteArrayInputStream(ByteUtils.EMPTY_BYTE_ARRAY), 5, new ByteArrayOutputStream(), 0);
     }
diff --git a/src/test/java/org/apache/commons/compress/utils/MultiReadOnlySeekableByteChannelTest.java b/src/test/java/org/apache/commons/compress/utils/MultiReadOnlySeekableByteChannelTest.java
index 2ce9cf4..b37e114 100644
--- a/src/test/java/org/apache/commons/compress/utils/MultiReadOnlySeekableByteChannelTest.java
+++ b/src/test/java/org/apache/commons/compress/utils/MultiReadOnlySeekableByteChannelTest.java
@@ -28,9 +28,9 @@ import java.util.Arrays;
 import java.util.List;
 
 import org.junit.Assert;
-import org.junit.Ignore;
+import org.junit.jupiter.api.Disabled;
 import org.junit.Rule;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.junit.rules.ExpectedException;
 
 import static java.nio.charset.StandardCharsets.*;
@@ -322,7 +322,7 @@ public class MultiReadOnlySeekableByteChannelTest {
      * <q>ClosedChannelException - If this channel is closed</q>
      */
     @Test
-    @Ignore("we deliberately violate the spec")
+    @Disabled("we deliberately violate the spec")
     public void throwsClosedChannelExceptionWhenPositionIsReadOnClosedChannel() throws Exception {
         thrown.expect(ClosedChannelException.class);
         try (SeekableByteChannel c = testChannel()) {
diff --git a/src/test/java/org/apache/commons/compress/utils/OsgiUtilsTest.java b/src/test/java/org/apache/commons/compress/utils/OsgiUtilsTest.java
index fd67de1..e4df9a2 100644
--- a/src/test/java/org/apache/commons/compress/utils/OsgiUtilsTest.java
+++ b/src/test/java/org/apache/commons/compress/utils/OsgiUtilsTest.java
@@ -19,7 +19,7 @@
 package org.apache.commons.compress.utils;
 
 import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class OsgiUtilsTest {
 
diff --git a/src/test/java/org/apache/commons/compress/utils/SeekableInMemoryByteChannelTest.java b/src/test/java/org/apache/commons/compress/utils/SeekableInMemoryByteChannelTest.java
index ca52de9..65abec1 100644
--- a/src/test/java/org/apache/commons/compress/utils/SeekableInMemoryByteChannelTest.java
+++ b/src/test/java/org/apache/commons/compress/utils/SeekableInMemoryByteChannelTest.java
@@ -18,8 +18,8 @@
  */
 package org.apache.commons.compress.utils;
 
-import org.junit.Ignore;
-import org.junit.Test;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
 
 import java.io.IOException;
 import java.nio.ByteBuffer;
@@ -94,7 +94,7 @@ public class SeekableInMemoryByteChannelTest {
         c.close();
     }
 
-    @Test(expected = ClosedChannelException.class)
+    @Test
     public void shouldThrowExceptionOnReadingClosedChannel() throws IOException {
         //given
         final SeekableInMemoryByteChannel c = new SeekableInMemoryByteChannel();
@@ -135,7 +135,7 @@ public class SeekableInMemoryByteChannelTest {
     }
 
 
-    @Test(expected = ClosedChannelException.class)
+    @Test
     public void shouldThrowExceptionOnWritingToClosedChannel() throws IOException {
         //given
         final SeekableInMemoryByteChannel c = new SeekableInMemoryByteChannel();
@@ -184,7 +184,7 @@ public class SeekableInMemoryByteChannelTest {
         c.close();
     }
 
-    @Test(expected = IOException.class)
+    @Test
     public void shouldThrowExceptionWhenSettingIncorrectPosition() throws IOException {
         //given
         final SeekableInMemoryByteChannel c = new SeekableInMemoryByteChannel();
@@ -193,7 +193,7 @@ public class SeekableInMemoryByteChannelTest {
         c.close();
     }
 
-    @Test(expected = IllegalArgumentException.class)
+    @Test
     public void shouldThrowExceptionWhenTruncatingToIncorrectSize() {
         //given
         final SeekableInMemoryByteChannel c = new SeekableInMemoryByteChannel();
@@ -224,8 +224,8 @@ public class SeekableInMemoryByteChannelTest {
     /*
      * <q>ClosedChannelException - If this channel is closed</q>
      */
-    @Test(expected = ClosedChannelException.class)
-    @Ignore("we deliberately violate the spec")
+    @Test
+    @Disabled("we deliberately violate the spec")
     public void throwsClosedChannelExceptionWhenPositionIsReadOnClosedChannel() throws Exception {
         try (SeekableByteChannel c = new SeekableInMemoryByteChannel()) {
             c.close();
@@ -238,8 +238,8 @@ public class SeekableInMemoryByteChannelTest {
     /*
      * <q>ClosedChannelException - If this channel is closed</q>
      */
-    @Test(expected = ClosedChannelException.class)
-    @Ignore("we deliberately violate the spec")
+    @Test
+    @Disabled("we deliberately violate the spec")
     public void throwsClosedChannelExceptionWhenSizeIsReadOnClosedChannel() throws Exception {
         try (SeekableByteChannel c = new SeekableInMemoryByteChannel()) {
             c.close();
@@ -252,7 +252,7 @@ public class SeekableInMemoryByteChannelTest {
     /*
      * <q>ClosedChannelException - If this channel is closed</q>
      */
-    @Test(expected = ClosedChannelException.class)
+    @Test
     public void throwsClosedChannelExceptionWhenPositionIsSetOnClosedChannel() throws Exception {
         try (SeekableByteChannel c = new SeekableInMemoryByteChannel()) {
             c.close();
@@ -299,7 +299,7 @@ public class SeekableInMemoryByteChannelTest {
     /*
      * <q>IOException - If the new position is negative</q>
      */
-    @Test(expected = IOException.class)
+    @Test
     public void throwsIOExceptionWhenPositionIsSetToANegativeValue() throws Exception {
         try (SeekableByteChannel c = new SeekableInMemoryByteChannel()) {
             c.position(-1);
@@ -393,7 +393,7 @@ public class SeekableInMemoryByteChannelTest {
     /*
      * <q>IllegalArgumentException - If the new position is negative</q>
      */
-    @Test(expected = IllegalArgumentException.class)
+    @Test
     public void throwsIllegalArgumentExceptionWhenTruncatingToANegativeSize() throws Exception {
         try (SeekableByteChannel c = new SeekableInMemoryByteChannel()) {
             c.truncate(-1);
@@ -403,8 +403,8 @@ public class SeekableInMemoryByteChannelTest {
     /*
      * <q>ClosedChannelException - If this channel is closed</q>
      */
-    @Test(expected = ClosedChannelException.class)
-    @Ignore("we deliberately violate the spec")
+    @Test
+    @Disabled("we deliberately violate the spec")
     public void throwsClosedChannelExceptionWhenTruncateIsCalledOnClosedChannel() throws Exception {
         try (SeekableByteChannel c = new SeekableInMemoryByteChannel()) {
             c.close();
diff --git a/src/test/java/org/apache/commons/compress/utils/ServiceLoaderIteratorTest.java b/src/test/java/org/apache/commons/compress/utils/ServiceLoaderIteratorTest.java
index 707f155..6916c6b 100644
--- a/src/test/java/org/apache/commons/compress/utils/ServiceLoaderIteratorTest.java
+++ b/src/test/java/org/apache/commons/compress/utils/ServiceLoaderIteratorTest.java
@@ -18,7 +18,7 @@
  */
 package org.apache.commons.compress.utils;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import java.util.NoSuchElementException;
 
@@ -34,7 +34,7 @@ public class ServiceLoaderIteratorTest {
 
 
 
-    @Test(expected = NoSuchElementException.class)
+    @Test
     public void testNextThrowsNoSuchElementException() {
 
         final Class<String> clasz = String.class;
@@ -57,7 +57,7 @@ public class ServiceLoaderIteratorTest {
     }
 
 
-    @Test(expected = UnsupportedOperationException.class)
+    @Test
     public void testRemoveThrowsUnsupportedOperationException() {
 
         final Class<Integer> clasz = Integer.class;
diff --git a/src/test/java/org/apache/commons/compress/utils/SkipShieldingInputStreamTest.java b/src/test/java/org/apache/commons/compress/utils/SkipShieldingInputStreamTest.java
index 5ae69cf..3d09a62 100644
--- a/src/test/java/org/apache/commons/compress/utils/SkipShieldingInputStreamTest.java
+++ b/src/test/java/org/apache/commons/compress/utils/SkipShieldingInputStreamTest.java
@@ -20,7 +20,7 @@ package org.apache.commons.compress.utils;
 import java.io.IOException;
 import java.io.InputStream;
 import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class SkipShieldingInputStreamTest {
 
diff --git a/src/test/java/org/apache/commons/compress/utils/ZipSplitReadOnlySeekableByteChannelTest.java b/src/test/java/org/apache/commons/compress/utils/ZipSplitReadOnlySeekableByteChannelTest.java
index 444318e..af37308 100644
--- a/src/test/java/org/apache/commons/compress/utils/ZipSplitReadOnlySeekableByteChannelTest.java
+++ b/src/test/java/org/apache/commons/compress/utils/ZipSplitReadOnlySeekableByteChannelTest.java
@@ -21,7 +21,7 @@ package org.apache.commons.compress.utils;
 import org.apache.commons.compress.archivers.zip.ZipSplitReadOnlySeekableByteChannel;
 import org.junit.Assert;
 import org.junit.Rule;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.junit.rules.ExpectedException;
 
 import java.io.File;
@@ -181,12 +181,12 @@ public class ZipSplitReadOnlySeekableByteChannelTest {
         return channels;
     }
 
-    @Test(expected = NullPointerException.class)
+    @Test
     public void forPathsThrowsOnNullArg() throws IOException {
         ZipSplitReadOnlySeekableByteChannel.forPaths(null);
     }
 
-    @Test(expected = NullPointerException.class)
+    @Test
     public void forPathsOfTwoParametersThrowsOnNullArg() throws IOException {
         ZipSplitReadOnlySeekableByteChannel.forPaths(null, null);
     }