Junit 5: Run some tests which change static BYTE_ARRAY_MAX_OVERRIDE in isolation

Otherwise many other tests can become flaky if the value is set very low

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1888792 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Dominik Stadler 2021-04-15 14:25:44 +00:00
parent 930e576659
commit 0484610a9c
4 changed files with 9 additions and 4 deletions

View File

@ -21,7 +21,6 @@ import static org.junit.jupiter.api.Assertions.assertThrows;
import java.io.File;
import java.io.PrintStream;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
@ -38,10 +37,12 @@ import org.apache.poi.util.IOUtils;
import org.apache.poi.util.NullPrintStream;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.parallel.Isolated;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.MethodSource;
@Isolated // this test changes global static BYTE_ARRAY_MAX_OVERRIDE
public abstract class BaseTestPPTIterating {
protected static final Set<String> OLD_FILES = new HashSet<>();
static {
@ -76,7 +77,7 @@ public abstract class BaseTestPPTIterating {
private final PrintStream save = System.out;
@BeforeEach
void setUpBase() throws UnsupportedEncodingException {
void setUpBase() {
// set a higher max allocation limit as some test-files require more
IOUtils.setByteArrayMaxOverride(5*1024*1024);

View File

@ -29,7 +29,9 @@ import org.apache.poi.EmptyFileException;
import org.apache.poi.hslf.HSLFTestDataSamples;
import org.apache.poi.util.IOUtils;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.parallel.Isolated;
@Isolated // this test changes global static BYTE_ARRAY_MAX_OVERRIDE
public class TestSlideShowDumper extends BaseTestPPTIterating {
private static final Set<String> FAILING = new HashSet<>();
static {

View File

@ -526,7 +526,7 @@ public final class IOUtils {
private static void throwRFE(long length, int maxLength) {
throw new RecordFormatException(String.format(Locale.ROOT, "Tried to allocate an array of length %,d" +
", but the maximum lenght for this record type is %,d.\n" +
", but the maximum length for this record type is %,d.\n" +
"If the file is not corrupt, please open an issue on bugzilla to request \n" +
"increasing the maximum allowable size for this record type.\n"+
"As a temporary workaround, consider setting a higher override value with " +

View File

@ -43,7 +43,9 @@ import org.apache.poi.EmptyFileException;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.parallel.Isolated;
@Isolated // this test changes global static BYTE_ARRAY_MAX_OVERRIDE
final class TestIOUtils {
private static File TMP;
private static final long LENGTH = 300 + new Random().nextInt(9000);
@ -531,7 +533,7 @@ final class TestIOUtils {
}
}
public class NullInputStream extends InputStream {
public static class NullInputStream extends InputStream {
private final int bytes;
private final boolean exception;