diff --git a/src/test/java/org/apache/commons/lang3/AppendableJoinerTest.java b/src/test/java/org/apache/commons/lang3/AppendableJoinerTest.java
index d4dab91b195..9178714ec24 100644
--- a/src/test/java/org/apache/commons/lang3/AppendableJoinerTest.java
+++ b/src/test/java/org/apache/commons/lang3/AppendableJoinerTest.java
@@ -35,7 +35,7 @@
/**
* Tests {@link AppendableJoiner}.
*/
-class AppendableJoinerTest {
+class AppendableJoinerTest extends AbstractLangTest {
static class Fixture {
diff --git a/src/test/java/org/apache/commons/lang3/ArrayUtilsGetDimensions.java b/src/test/java/org/apache/commons/lang3/ArrayUtilsGetDimensionsTest.java
similarity index 98%
rename from src/test/java/org/apache/commons/lang3/ArrayUtilsGetDimensions.java
rename to src/test/java/org/apache/commons/lang3/ArrayUtilsGetDimensionsTest.java
index 10e1e6cac60..035ca2ff0a5 100644
--- a/src/test/java/org/apache/commons/lang3/ArrayUtilsGetDimensions.java
+++ b/src/test/java/org/apache/commons/lang3/ArrayUtilsGetDimensionsTest.java
@@ -26,7 +26,7 @@
import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.MethodSource;
-class ArrayUtilsGetDimensions {
+class ArrayUtilsGetDimensionsTest extends AbstractLangTest {
// Tests cyclic references
static class Node {
diff --git a/src/test/java/org/apache/commons/lang3/BitFieldLongTest.java b/src/test/java/org/apache/commons/lang3/BitFieldLongTest.java
index d43d3f31a6b..ad2c19a245d 100644
--- a/src/test/java/org/apache/commons/lang3/BitFieldLongTest.java
+++ b/src/test/java/org/apache/commons/lang3/BitFieldLongTest.java
@@ -26,7 +26,7 @@
/**
* Tests {@link BitField} constructed with long masks.
*/
-class BitFieldLongTest {
+class BitFieldLongTest extends AbstractLangTest {
private static final BitField BF_MULTI = new BitField(0x3F80L);
private static final BitField BF_MULTI_L = new BitField(0x3F80_0000_0000_0000L);
diff --git a/src/test/java/org/apache/commons/lang3/CachedRandomBitsTest.java b/src/test/java/org/apache/commons/lang3/CachedRandomBitsTest.java
index 0c49c5cde6c..0efc8da5339 100644
--- a/src/test/java/org/apache/commons/lang3/CachedRandomBitsTest.java
+++ b/src/test/java/org/apache/commons/lang3/CachedRandomBitsTest.java
@@ -28,7 +28,7 @@
/**
* Tests {@link CachedRandomBits}.
*/
-class CachedRandomBitsTest {
+class CachedRandomBitsTest extends AbstractLangTest {
/** MockRandom mocks a Random class nextBytes to use a specific list of outputs */
private static class MockRandom extends Random {
diff --git a/src/test/java/org/apache/commons/lang3/ClassUtilsOssFuzzTest.java b/src/test/java/org/apache/commons/lang3/ClassUtilsOssFuzzTest.java
index 3c9d39ea252..e43e18924ca 100644
Binary files a/src/test/java/org/apache/commons/lang3/ClassUtilsOssFuzzTest.java and b/src/test/java/org/apache/commons/lang3/ClassUtilsOssFuzzTest.java differ
diff --git a/src/test/java/org/apache/commons/lang3/ClassUtilsShortClassNameTest.java b/src/test/java/org/apache/commons/lang3/ClassUtilsShortClassNameTest.java
index 89282b295a2..d8cbae0b89b 100644
--- a/src/test/java/org/apache/commons/lang3/ClassUtilsShortClassNameTest.java
+++ b/src/test/java/org/apache/commons/lang3/ClassUtilsShortClassNameTest.java
@@ -27,7 +27,7 @@ class $trange {
/**
* Tests {@link ClassUtils#getShortClassName(Class)} for LANG-1818
*/
-public class ClassUtilsShortClassNameTest {
+public class ClassUtilsShortClassNameTest extends AbstractLangTest {
class $Inner {
}
diff --git a/src/test/java/org/apache/commons/lang3/RuntimeEnvironmentTest.java b/src/test/java/org/apache/commons/lang3/RuntimeEnvironmentTest.java
index f07c42798b1..a706a5aa79e 100644
--- a/src/test/java/org/apache/commons/lang3/RuntimeEnvironmentTest.java
+++ b/src/test/java/org/apache/commons/lang3/RuntimeEnvironmentTest.java
@@ -33,7 +33,7 @@
/**
* Tests {@link RuntimeEnvironment}.
*/
-class RuntimeEnvironmentTest {
+class RuntimeEnvironmentTest extends AbstractLangTest {
private static final String simpleEnviron = "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\u0000" +
"HOSTNAME=d62718b69f37\u0000TERM=xterm\u0000HOME=/root\u0000";
diff --git a/src/test/java/org/apache/commons/lang3/StringUtilsAbbreviateTest.java b/src/test/java/org/apache/commons/lang3/StringUtilsAbbreviateTest.java
index a48f023a247..3f753ba1920 100644
--- a/src/test/java/org/apache/commons/lang3/StringUtilsAbbreviateTest.java
+++ b/src/test/java/org/apache/commons/lang3/StringUtilsAbbreviateTest.java
@@ -28,7 +28,7 @@
/**
* Tests {@link StringUtils#abbreviate(String, int)} and friends.
*/
-class StringUtilsAbbreviateTest {
+class StringUtilsAbbreviateTest extends AbstractLangTest {
private void assertAbbreviateWithAbbrevMarkerAndOffset(final String expected, final String abbrevMarker, final int offset, final int maxWidth) {
final String abcdefghijklmno = "abcdefghijklmno";
diff --git a/src/test/java/org/apache/commons/lang3/StringUtilsIsMixedCaseTest.java b/src/test/java/org/apache/commons/lang3/StringUtilsIsMixedCaseTest.java
index 7a4c8e8fdbc..531b6ab35b4 100644
--- a/src/test/java/org/apache/commons/lang3/StringUtilsIsMixedCaseTest.java
+++ b/src/test/java/org/apache/commons/lang3/StringUtilsIsMixedCaseTest.java
@@ -33,7 +33,7 @@
@OutputTimeUnit(TimeUnit.NANOSECONDS)
@State(Scope.Thread)
@Warmup(iterations = 5, time = 10)
-public class StringUtilsIsMixedCaseTest {
+public class StringUtilsIsMixedCaseTest extends AbstractLangTest {
public static final String LOWER_CASE_LETTERS = "abcdefghijklmnopqrstuvwxyz";
public static final String END_MATCH = "at the enD";
diff --git a/src/test/java/org/apache/commons/lang3/StringsTest.java b/src/test/java/org/apache/commons/lang3/StringsTest.java
index 24090cc8bf4..5f74a80a510 100644
--- a/src/test/java/org/apache/commons/lang3/StringsTest.java
+++ b/src/test/java/org/apache/commons/lang3/StringsTest.java
@@ -30,7 +30,7 @@
/**
* Tests {@link Strings}.
*/
-class StringsTest {
+class StringsTest extends AbstractLangTest {
public static Stream stringsFactory() {
return Stream.of(Strings.CS, Strings.CI);
diff --git a/src/test/java/org/apache/commons/lang3/SystemPropertiesTest.java b/src/test/java/org/apache/commons/lang3/SystemPropertiesTest.java
index ab79454cf52..de4f708841e 100644
--- a/src/test/java/org/apache/commons/lang3/SystemPropertiesTest.java
+++ b/src/test/java/org/apache/commons/lang3/SystemPropertiesTest.java
@@ -38,7 +38,7 @@
@SetSystemProperties({
@SetSystemProperty(key = SystemPropertiesTest.KEY_SPACE_1, value = "value1"),
@SetSystemProperty(key = SystemPropertiesTest.KEY_TAB_1, value = "value2") })
-class SystemPropertiesTest {
+class SystemPropertiesTest extends AbstractLangTest {
private static final String SIMPLE_NAME = SystemPropertiesTest.class.getSimpleName();
static final String KEY_SPACE_1 = " ";
diff --git a/src/test/java/org/apache/commons/lang3/arch/ProcessorTest.java b/src/test/java/org/apache/commons/lang3/arch/ProcessorTest.java
index c45f4122142..2eed3a9538d 100644
--- a/src/test/java/org/apache/commons/lang3/arch/ProcessorTest.java
+++ b/src/test/java/org/apache/commons/lang3/arch/ProcessorTest.java
@@ -20,11 +20,12 @@
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
+import org.apache.commons.lang3.AbstractLangTest;
import org.apache.commons.lang3.arch.Processor.Arch;
import org.apache.commons.lang3.arch.Processor.Type;
import org.junit.jupiter.api.Test;
-class ProcessorTest {
+class ProcessorTest extends AbstractLangTest {
@Test
void testIs32Bit() {
diff --git a/src/test/java/org/apache/commons/lang3/builder/ConversionTest.java b/src/test/java/org/apache/commons/lang3/builder/ConversionTest.java
index 75e0637c0ab..464322d5824 100644
--- a/src/test/java/org/apache/commons/lang3/builder/ConversionTest.java
+++ b/src/test/java/org/apache/commons/lang3/builder/ConversionTest.java
@@ -20,10 +20,11 @@
import static org.apache.commons.lang3.LangAssertions.assertNullPointerException;
import static org.junit.jupiter.api.Assertions.assertEquals;
+import org.apache.commons.lang3.AbstractLangTest;
import org.apache.commons.lang3.Conversion;
import org.junit.jupiter.api.Test;
-class ConversionTest {
+class ConversionTest extends AbstractLangTest {
@Test
void testHexToByte() {
diff --git a/src/test/java/org/apache/commons/lang3/builder/IDKeyTest.java b/src/test/java/org/apache/commons/lang3/builder/IDKeyTest.java
index 3ef63411530..b4113499d6f 100644
--- a/src/test/java/org/apache/commons/lang3/builder/IDKeyTest.java
+++ b/src/test/java/org/apache/commons/lang3/builder/IDKeyTest.java
@@ -20,12 +20,13 @@
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotEquals;
+import org.apache.commons.lang3.AbstractLangTest;
import org.junit.jupiter.api.Test;
/**
* Tests {@link IDKey}.
*/
-class IDKeyTest {
+class IDKeyTest extends AbstractLangTest {
@Test
void testEquals() {
diff --git a/src/test/java/org/apache/commons/lang3/builder/TestClassBuilder.java b/src/test/java/org/apache/commons/lang3/builder/TestClassBuilder.java
index 2e988f13af8..4bdbe25f2cb 100644
--- a/src/test/java/org/apache/commons/lang3/builder/TestClassBuilder.java
+++ b/src/test/java/org/apache/commons/lang3/builder/TestClassBuilder.java
@@ -17,6 +17,7 @@
package org.apache.commons.lang3.builder;
+import org.apache.commons.lang3.AbstractLangTest;
import org.objectweb.asm.ClassWriter;
import org.objectweb.asm.MethodVisitor;
import org.objectweb.asm.Opcodes;
@@ -24,7 +25,7 @@
/**
* Builds classes dynamically for tests.
*/
-public class TestClassBuilder {
+public class TestClassBuilder extends AbstractLangTest {
/**
* Extends {@link ClassLoader} to make {@link ClassLoader#defineClass(String, byte[])} public.
diff --git a/src/test/java/org/apache/commons/lang3/concurrent/ConcurrentExceptionTest.java b/src/test/java/org/apache/commons/lang3/concurrent/ConcurrentExceptionTest.java
index 41eca1b6db2..4e8f3d62235 100644
--- a/src/test/java/org/apache/commons/lang3/concurrent/ConcurrentExceptionTest.java
+++ b/src/test/java/org/apache/commons/lang3/concurrent/ConcurrentExceptionTest.java
@@ -21,12 +21,13 @@
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNull;
+import org.apache.commons.lang3.AbstractLangTest;
import org.junit.jupiter.api.Test;
/**
* Tests {@link ConcurrentException}.
*/
-class ConcurrentExceptionTest {
+class ConcurrentExceptionTest extends AbstractLangTest {
/**
* Tests creating a ConcurrentException with an error as cause.
diff --git a/src/test/java/org/apache/commons/lang3/concurrent/ConcurrentRuntimeExceptionTest.java b/src/test/java/org/apache/commons/lang3/concurrent/ConcurrentRuntimeExceptionTest.java
index 3c529dff9be..50cc3896ae7 100644
--- a/src/test/java/org/apache/commons/lang3/concurrent/ConcurrentRuntimeExceptionTest.java
+++ b/src/test/java/org/apache/commons/lang3/concurrent/ConcurrentRuntimeExceptionTest.java
@@ -19,12 +19,13 @@
import static org.apache.commons.lang3.LangAssertions.assertIllegalArgumentException;
+import org.apache.commons.lang3.AbstractLangTest;
import org.junit.jupiter.api.Test;
/**
* Tests {@link ConcurrentRuntimeException}.
*/
-class ConcurrentRuntimeExceptionTest {
+class ConcurrentRuntimeExceptionTest extends AbstractLangTest {
/**
* Tries to create a ConcurrentRuntimeException with an error as cause.
diff --git a/src/test/java/org/apache/commons/lang3/function/ByteSupplierTest.java b/src/test/java/org/apache/commons/lang3/function/ByteSupplierTest.java
index b520a49fae6..3763d3af981 100644
--- a/src/test/java/org/apache/commons/lang3/function/ByteSupplierTest.java
+++ b/src/test/java/org/apache/commons/lang3/function/ByteSupplierTest.java
@@ -19,12 +19,13 @@
import static org.junit.jupiter.api.Assertions.assertEquals;
+import org.apache.commons.lang3.AbstractLangTest;
import org.junit.jupiter.api.Test;
/**
* Tests {@link ByteSupplier}.
*/
-class ByteSupplierTest {
+class ByteSupplierTest extends AbstractLangTest {
@Test
void testGetAsByte() {
diff --git a/src/test/java/org/apache/commons/lang3/function/FailableSupplierTest.java b/src/test/java/org/apache/commons/lang3/function/FailableSupplierTest.java
index 2816c80b5c6..4691184e67a 100644
--- a/src/test/java/org/apache/commons/lang3/function/FailableSupplierTest.java
+++ b/src/test/java/org/apache/commons/lang3/function/FailableSupplierTest.java
@@ -19,12 +19,13 @@
import static org.junit.jupiter.api.Assertions.assertNull;
+import org.apache.commons.lang3.AbstractLangTest;
import org.junit.jupiter.api.Test;
/**
* Tests {@link FailableSupplier}.
*/
-class FailableSupplierTest {
+class FailableSupplierTest extends AbstractLangTest {
@Test
void testNULL() throws Throwable {
diff --git a/src/test/java/org/apache/commons/lang3/function/FunctionsTest.java b/src/test/java/org/apache/commons/lang3/function/FunctionsTest.java
index e0d85a766bb..c943a8c7b03 100644
--- a/src/test/java/org/apache/commons/lang3/function/FunctionsTest.java
+++ b/src/test/java/org/apache/commons/lang3/function/FunctionsTest.java
@@ -26,13 +26,14 @@
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.function.Function;
+import org.apache.commons.lang3.AbstractLangTest;
import org.apache.commons.lang3.StringUtils;
import org.junit.jupiter.api.Test;
/**
* Tests {@link Functions}.
*/
-class FunctionsTest {
+class FunctionsTest extends AbstractLangTest {
/**
* Tests {@link Functions#apply(Function, Object)}.
diff --git a/src/test/java/org/apache/commons/lang3/function/PredicatesTest.java b/src/test/java/org/apache/commons/lang3/function/PredicatesTest.java
index 9a251c9cdd3..0eff24735fa 100644
--- a/src/test/java/org/apache/commons/lang3/function/PredicatesTest.java
+++ b/src/test/java/org/apache/commons/lang3/function/PredicatesTest.java
@@ -22,12 +22,13 @@
import java.util.function.Predicate;
+import org.apache.commons.lang3.AbstractLangTest;
import org.junit.jupiter.api.Test;
/**
* Tests {@link Predicates}.
*/
-class PredicatesTest {
+class PredicatesTest extends AbstractLangTest {
@Test
void testFalsePredicate() {
diff --git a/src/test/java/org/apache/commons/lang3/stream/FailableStreamTest.java b/src/test/java/org/apache/commons/lang3/stream/FailableStreamTest.java
index 33e94461655..3bd80a964f1 100644
--- a/src/test/java/org/apache/commons/lang3/stream/FailableStreamTest.java
+++ b/src/test/java/org/apache/commons/lang3/stream/FailableStreamTest.java
@@ -28,13 +28,14 @@
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors;
+import org.apache.commons.lang3.AbstractLangTest;
import org.apache.commons.lang3.stream.Streams.FailableStream;
import org.junit.jupiter.api.Test;
/**
* Tests {@link FailableStream}.
*/
-class FailableStreamTest {
+class FailableStreamTest extends AbstractLangTest {
private Integer failable(final Map.Entry value) throws IOException {
if (value == new Object()) {
diff --git a/src/test/java/org/apache/commons/lang3/stream/LangCollectorsTest.java b/src/test/java/org/apache/commons/lang3/stream/LangCollectorsTest.java
index 8e006041fe7..51b68a18d84 100644
--- a/src/test/java/org/apache/commons/lang3/stream/LangCollectorsTest.java
+++ b/src/test/java/org/apache/commons/lang3/stream/LangCollectorsTest.java
@@ -26,12 +26,13 @@
import java.util.stream.Collector;
import java.util.stream.Stream;
+import org.apache.commons.lang3.AbstractLangTest;
import org.junit.jupiter.api.Test;
/**
* Tests {@link LangCollectors}
*/
-class LangCollectorsTest {
+class LangCollectorsTest extends AbstractLangTest {
private static final class Fixture {
int value;
diff --git a/src/test/java/org/apache/commons/lang3/time/TimeZonesTest.java b/src/test/java/org/apache/commons/lang3/time/TimeZonesTest.java
index b0008ec061f..d32402cc205 100644
--- a/src/test/java/org/apache/commons/lang3/time/TimeZonesTest.java
+++ b/src/test/java/org/apache/commons/lang3/time/TimeZonesTest.java
@@ -21,12 +21,13 @@
import java.util.TimeZone;
+import org.apache.commons.lang3.AbstractLangTest;
import org.junit.jupiter.api.Test;
/**
* Tests {@link TimeZones}.
*/
-class TimeZonesTest {
+class TimeZonesTest extends AbstractLangTest {
static final String TIME_ZONE_GET_AVAILABLE_IDS = "java.util.TimeZone#getAvailableIDs()";
diff --git a/src/test/java/org/apache/commons/lang3/util/IterableStringTokenizerTest.java b/src/test/java/org/apache/commons/lang3/util/IterableStringTokenizerTest.java
index 43094c03c1f..4cba97e7dba 100644
--- a/src/test/java/org/apache/commons/lang3/util/IterableStringTokenizerTest.java
+++ b/src/test/java/org/apache/commons/lang3/util/IterableStringTokenizerTest.java
@@ -29,6 +29,7 @@
import java.util.StringTokenizer;
import java.util.stream.Collectors;
+import org.apache.commons.lang3.AbstractLangTest;
import org.apache.commons.lang3.StringUtils;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
@@ -37,7 +38,7 @@
/**
* Tests {@link IterableStringTokenizer}.
*/
-class IterableStringTokenizerTest {
+class IterableStringTokenizerTest extends AbstractLangTest {
/**
* Delimiters from {@link StringTokenizer}.