diff --git a/html4j/src/test/java/org/teavm/html4j/test/KnockoutFXTest.java b/html4j/src/test/java/org/teavm/html4j/test/KnockoutFXTest.java
index 8e86d4224..352a6963f 100644
--- a/html4j/src/test/java/org/teavm/html4j/test/KnockoutFXTest.java
+++ b/html4j/src/test/java/org/teavm/html4j/test/KnockoutFXTest.java
@@ -37,11 +37,13 @@ import org.teavm.jso.JSObject;
import org.teavm.jso.browser.Window;
import org.teavm.jso.dom.html.HTMLDocument;
import org.teavm.jso.dom.html.HTMLElement;
+import org.teavm.junit.WholeClassCompilation;
/**
*
* @author Jaroslav Tulach
*/
+@WholeClassCompilation
public final class KnockoutFXTest extends KnockoutTCK implements Transfer, WSTransfer {
private KO4J ko4j = new KO4J();
private final Map urlMap = new HashMap<>();
diff --git a/html4j/src/test/java/org/teavm/html4j/test/KnockoutTCKTest.java b/html4j/src/test/java/org/teavm/html4j/test/KnockoutTCKTest.java
index 0a1be8720..cad0eeeec 100644
--- a/html4j/src/test/java/org/teavm/html4j/test/KnockoutTCKTest.java
+++ b/html4j/src/test/java/org/teavm/html4j/test/KnockoutTCKTest.java
@@ -25,6 +25,7 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.junit.SkipJVM;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
/**
*
@@ -32,6 +33,7 @@ import org.teavm.junit.TeaVMTestRunner;
*/
@RunWith(TeaVMTestRunner.class)
@SkipJVM
+@WholeClassCompilation
public class KnockoutTCKTest {
private final ConvertTypesTest convertTypesTest = new ConvertTypesTest();
private final JSONTest jsonTest = new JSONTest();
diff --git a/tests/src/test/java/org/teavm/classlib/java/io/BufferedInputStreamTest.java b/tests/src/test/java/org/teavm/classlib/java/io/BufferedInputStreamTest.java
index 440f472a0..25971f46d 100644
--- a/tests/src/test/java/org/teavm/classlib/java/io/BufferedInputStreamTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/io/BufferedInputStreamTest.java
@@ -43,9 +43,11 @@ import java.io.InputStreamReader;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@SuppressWarnings("resource")
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class BufferedInputStreamTest {
@Test
public void test_ConstructorLjava_io_InputStream() {
diff --git a/tests/src/test/java/org/teavm/classlib/java/io/BufferedReaderTest.java b/tests/src/test/java/org/teavm/classlib/java/io/BufferedReaderTest.java
index 15295b630..d38a1619e 100644
--- a/tests/src/test/java/org/teavm/classlib/java/io/BufferedReaderTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/io/BufferedReaderTest.java
@@ -23,8 +23,10 @@ import java.io.StringReader;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class BufferedReaderTest {
@Test
public void readsCharacters() throws IOException {
diff --git a/tests/src/test/java/org/teavm/classlib/java/io/BufferedWriterTest.java b/tests/src/test/java/org/teavm/classlib/java/io/BufferedWriterTest.java
index 90ed95d45..2df9d8583 100644
--- a/tests/src/test/java/org/teavm/classlib/java/io/BufferedWriterTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/io/BufferedWriterTest.java
@@ -30,8 +30,10 @@ import org.junit.After;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class BufferedWriterTest {
private BufferedWriter bw;
private StringWriter sw;
diff --git a/tests/src/test/java/org/teavm/classlib/java/io/ByteArrayInputStreamTest.java b/tests/src/test/java/org/teavm/classlib/java/io/ByteArrayInputStreamTest.java
index 9d517745e..831771307 100644
--- a/tests/src/test/java/org/teavm/classlib/java/io/ByteArrayInputStreamTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/io/ByteArrayInputStreamTest.java
@@ -20,8 +20,10 @@ import java.io.ByteArrayInputStream;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class ByteArrayInputStreamTest {
@Test
public void readsSingleByte() {
diff --git a/tests/src/test/java/org/teavm/classlib/java/io/CharArrayReaderTest.java b/tests/src/test/java/org/teavm/classlib/java/io/CharArrayReaderTest.java
index 0f1f1b395..55094932a 100644
--- a/tests/src/test/java/org/teavm/classlib/java/io/CharArrayReaderTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/io/CharArrayReaderTest.java
@@ -24,8 +24,10 @@ import java.io.IOException;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class CharArrayReaderTest {
char[] hw = { 'H', 'e', 'l', 'l', 'o', 'W', 'o', 'r', 'l', 'd' };
CharArrayReader cr;
diff --git a/tests/src/test/java/org/teavm/classlib/java/io/CharArrayWriterTest.java b/tests/src/test/java/org/teavm/classlib/java/io/CharArrayWriterTest.java
index a35c2e38c..1d43611f5 100644
--- a/tests/src/test/java/org/teavm/classlib/java/io/CharArrayWriterTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/io/CharArrayWriterTest.java
@@ -25,8 +25,10 @@ import java.io.StringWriter;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class CharArrayWriterTest {
char[] hw = { 'H', 'e', 'l', 'l', 'o', 'W', 'o', 'r', 'l', 'd' };
CharArrayWriter cw = new CharArrayWriter();
diff --git a/tests/src/test/java/org/teavm/classlib/java/io/FileInputStreamTest.java b/tests/src/test/java/org/teavm/classlib/java/io/FileInputStreamTest.java
index e53eb8cd1..44f06c692 100644
--- a/tests/src/test/java/org/teavm/classlib/java/io/FileInputStreamTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/io/FileInputStreamTest.java
@@ -31,8 +31,10 @@ import org.junit.After;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class FileInputStreamTest {
public String fileName;
public String fileString = ""
diff --git a/tests/src/test/java/org/teavm/classlib/java/io/FileOutputStreamTest.java b/tests/src/test/java/org/teavm/classlib/java/io/FileOutputStreamTest.java
index 383045be7..59a39c41e 100644
--- a/tests/src/test/java/org/teavm/classlib/java/io/FileOutputStreamTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/io/FileOutputStreamTest.java
@@ -28,8 +28,10 @@ import org.junit.After;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class FileOutputStreamTest {
private String fileName;
private String fileString =
diff --git a/tests/src/test/java/org/teavm/classlib/java/io/FileTest.java b/tests/src/test/java/org/teavm/classlib/java/io/FileTest.java
index 0e7ccf9db..2b297e4e8 100644
--- a/tests/src/test/java/org/teavm/classlib/java/io/FileTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/io/FileTest.java
@@ -37,8 +37,10 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.interop.PlatformMarker;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class FileTest {
private static String platformId = "JDK" + System.getProperty("java.vm.version").replace('.', '-');
diff --git a/tests/src/test/java/org/teavm/classlib/java/io/InputStreamReaderTest.java b/tests/src/test/java/org/teavm/classlib/java/io/InputStreamReaderTest.java
index dabe966c0..127257ef0 100644
--- a/tests/src/test/java/org/teavm/classlib/java/io/InputStreamReaderTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/io/InputStreamReaderTest.java
@@ -22,8 +22,10 @@ import java.io.InputStreamReader;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class InputStreamReaderTest {
@Test
public void readsChars() throws IOException {
diff --git a/tests/src/test/java/org/teavm/classlib/java/io/OutputStreamWriterTest.java b/tests/src/test/java/org/teavm/classlib/java/io/OutputStreamWriterTest.java
index 09e8c99f0..2b0b03296 100644
--- a/tests/src/test/java/org/teavm/classlib/java/io/OutputStreamWriterTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/io/OutputStreamWriterTest.java
@@ -45,8 +45,10 @@ import java.io.UnsupportedEncodingException;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class OutputStreamWriterTest {
private static final int UPPER = 0xd800;
diff --git a/tests/src/test/java/org/teavm/classlib/java/io/PrintWriterTest.java b/tests/src/test/java/org/teavm/classlib/java/io/PrintWriterTest.java
index fc045f6b8..7cb06d5b9 100644
--- a/tests/src/test/java/org/teavm/classlib/java/io/PrintWriterTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/io/PrintWriterTest.java
@@ -47,8 +47,10 @@ import java.util.Locale;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class PrintWriterTest {
static class Bogus {
public String toString() {
diff --git a/tests/src/test/java/org/teavm/classlib/java/io/PushbackInputStreamTest.java b/tests/src/test/java/org/teavm/classlib/java/io/PushbackInputStreamTest.java
index 59b416be9..8e7f285b2 100644
--- a/tests/src/test/java/org/teavm/classlib/java/io/PushbackInputStreamTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/io/PushbackInputStreamTest.java
@@ -41,9 +41,11 @@ import java.io.PushbackInputStream;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@SuppressWarnings("resource")
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class PushbackInputStreamTest {
PushbackInputStream pis;
diff --git a/tests/src/test/java/org/teavm/classlib/java/io/StreamTokenizerTest.java b/tests/src/test/java/org/teavm/classlib/java/io/StreamTokenizerTest.java
index f225aa26f..d0a5761e1 100644
--- a/tests/src/test/java/org/teavm/classlib/java/io/StreamTokenizerTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/io/StreamTokenizerTest.java
@@ -26,8 +26,10 @@ import java.io.StringReader;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class StreamTokenizerTest {
private StreamTokenizer st;
diff --git a/tests/src/test/java/org/teavm/classlib/java/io/StringWriterTest.java b/tests/src/test/java/org/teavm/classlib/java/io/StringWriterTest.java
index 9a62c3e54..e13bd3bc1 100644
--- a/tests/src/test/java/org/teavm/classlib/java/io/StringWriterTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/io/StringWriterTest.java
@@ -23,8 +23,10 @@ import java.io.StringWriter;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class StringWriterTest {
StringWriter sw = new StringWriter();
diff --git a/tests/src/test/java/org/teavm/classlib/java/math/BigDecimalArithmeticTest.java b/tests/src/test/java/org/teavm/classlib/java/math/BigDecimalArithmeticTest.java
index d585ef3be..95564c4ef 100644
--- a/tests/src/test/java/org/teavm/classlib/java/math/BigDecimalArithmeticTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/math/BigDecimalArithmeticTest.java
@@ -42,8 +42,10 @@ import java.math.RoundingMode;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class BigDecimalArithmeticTest {
/**
* Add two numbers of equal positive scales
diff --git a/tests/src/test/java/org/teavm/classlib/java/math/BigDecimalCompareTest.java b/tests/src/test/java/org/teavm/classlib/java/math/BigDecimalCompareTest.java
index cc385c90b..c176700be 100644
--- a/tests/src/test/java/org/teavm/classlib/java/math/BigDecimalCompareTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/math/BigDecimalCompareTest.java
@@ -47,8 +47,10 @@ import java.math.RoundingMode;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class BigDecimalCompareTest {
/**
* Abs() of a negative BigDecimal
diff --git a/tests/src/test/java/org/teavm/classlib/java/math/BigDecimalConstructorsTest.java b/tests/src/test/java/org/teavm/classlib/java/math/BigDecimalConstructorsTest.java
index d865d4d49..fa9f84b3b 100644
--- a/tests/src/test/java/org/teavm/classlib/java/math/BigDecimalConstructorsTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/math/BigDecimalConstructorsTest.java
@@ -45,8 +45,10 @@ import java.math.RoundingMode;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class BigDecimalConstructorsTest {
/**
* check ONE
diff --git a/tests/src/test/java/org/teavm/classlib/java/math/BigDecimalConvertTest.java b/tests/src/test/java/org/teavm/classlib/java/math/BigDecimalConvertTest.java
index 7fbc543e6..b5203709c 100644
--- a/tests/src/test/java/org/teavm/classlib/java/math/BigDecimalConvertTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/math/BigDecimalConvertTest.java
@@ -44,8 +44,10 @@ import java.math.BigInteger;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class BigDecimalConvertTest {
/**
* Double value of a negative BigDecimal
diff --git a/tests/src/test/java/org/teavm/classlib/java/math/BigDecimalScaleOperationsTest.java b/tests/src/test/java/org/teavm/classlib/java/math/BigDecimalScaleOperationsTest.java
index 6af1b1685..181f3562e 100644
--- a/tests/src/test/java/org/teavm/classlib/java/math/BigDecimalScaleOperationsTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/math/BigDecimalScaleOperationsTest.java
@@ -45,8 +45,10 @@ import java.math.RoundingMode;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class BigDecimalScaleOperationsTest {
/**
* Check the default scale
diff --git a/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerAddTest.java b/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerAddTest.java
index 0413ac054..96c6809b3 100644
--- a/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerAddTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerAddTest.java
@@ -42,8 +42,10 @@ import java.math.BigInteger;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class BigIntegerAddTest {
/**
* Add two positive numbers of the same length
diff --git a/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerAndTest.java b/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerAndTest.java
index 54e619450..f5fb90c79 100644
--- a/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerAndTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerAndTest.java
@@ -42,8 +42,10 @@ import java.math.BigInteger;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class BigIntegerAndTest {
/**
* And for zero and a positive number
diff --git a/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerCompareTest.java b/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerCompareTest.java
index ffe40dc3f..6b57d5378 100644
--- a/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerCompareTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerCompareTest.java
@@ -43,8 +43,10 @@ import java.math.BigInteger;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class BigIntegerCompareTest {
/**
* abs() for a positive number
diff --git a/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerConstructorsTest.java b/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerConstructorsTest.java
index 3a48460ff..b395aa8d2 100644
--- a/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerConstructorsTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerConstructorsTest.java
@@ -44,8 +44,10 @@ import java.util.Random;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class BigIntegerConstructorsTest {
/**
* Create a number from an array of bytes.
diff --git a/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerConvertTest.java b/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerConvertTest.java
index e2c15e977..66e552853 100644
--- a/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerConvertTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerConvertTest.java
@@ -42,8 +42,10 @@ import java.math.BigInteger;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class BigIntegerConvertTest {
/**
* Return the double value of ZERO.
diff --git a/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerDivideTest.java b/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerDivideTest.java
index 83ae5ddb1..a6a2ce31d 100644
--- a/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerDivideTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerDivideTest.java
@@ -43,8 +43,10 @@ import java.math.BigInteger;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class BigIntegerDivideTest {
/**
* Divide by zero
diff --git a/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerHashCodeTest.java b/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerHashCodeTest.java
index 683e8d4cf..9e56561a1 100644
--- a/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerHashCodeTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerHashCodeTest.java
@@ -41,8 +41,10 @@ import java.math.BigInteger;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class BigIntegerHashCodeTest {
/**
* Test hash codes for the same object
diff --git a/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerModPowTest.java b/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerModPowTest.java
index f4b44acfa..233b4978c 100644
--- a/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerModPowTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerModPowTest.java
@@ -43,8 +43,10 @@ import java.math.BigInteger;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class BigIntegerModPowTest {
/**
* modPow: non-positive modulus
diff --git a/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerMultiplyTest.java b/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerMultiplyTest.java
index 5917a7824..82bbaa04c 100644
--- a/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerMultiplyTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerMultiplyTest.java
@@ -43,8 +43,10 @@ import java.math.BigInteger;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class BigIntegerMultiplyTest {
/**
* Multiply two negative numbers of the same length
diff --git a/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerNotTest.java b/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerNotTest.java
index 99a4a9d24..7a2888fe6 100644
--- a/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerNotTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerNotTest.java
@@ -42,8 +42,10 @@ import java.math.BigInteger;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class BigIntegerNotTest {
/**
* andNot for two positive numbers; the first is longer
diff --git a/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerOperateBitsTest.java b/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerOperateBitsTest.java
index 251e0574b..227c62c83 100644
--- a/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerOperateBitsTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerOperateBitsTest.java
@@ -43,8 +43,10 @@ import java.math.BigInteger;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class BigIntegerOperateBitsTest {
/**
* bitCount() of zero.
diff --git a/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerOrTest.java b/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerOrTest.java
index 8e8ed2fa7..542354dbb 100644
--- a/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerOrTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerOrTest.java
@@ -42,8 +42,10 @@ import java.math.BigInteger;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class BigIntegerOrTest {
/**
* Or for zero and a positive number
diff --git a/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerSubtractTest.java b/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerSubtractTest.java
index c8c43a5a4..6b67f4b7b 100644
--- a/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerSubtractTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerSubtractTest.java
@@ -42,8 +42,10 @@ import java.math.BigInteger;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class BigIntegerSubtractTest {
/**
* Subtract two positive numbers of the same length.
diff --git a/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerToStringTest.java b/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerToStringTest.java
index 4107bfcda..0e35c5911 100644
--- a/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerToStringTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerToStringTest.java
@@ -41,8 +41,10 @@ import java.math.BigInteger;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class BigIntegerToStringTest {
/**
* If 36 < radix < 2 it should be set to 10
diff --git a/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerXorTest.java b/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerXorTest.java
index ae476095e..d8c45634d 100644
--- a/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerXorTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/math/BigIntegerXorTest.java
@@ -41,8 +41,10 @@ import java.math.BigInteger;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class BigIntegerXorTest {
/**
* Xor for zero and a positive number
diff --git a/tests/src/test/java/org/teavm/classlib/java/net/URLDecoderTest.java b/tests/src/test/java/org/teavm/classlib/java/net/URLDecoderTest.java
index a5c489eeb..1430d3f97 100644
--- a/tests/src/test/java/org/teavm/classlib/java/net/URLDecoderTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/net/URLDecoderTest.java
@@ -26,8 +26,10 @@ import java.net.URLEncoder;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class URLDecoderTest {
@Test
diff --git a/tests/src/test/java/org/teavm/classlib/java/net/URLEncoderTest.java b/tests/src/test/java/org/teavm/classlib/java/net/URLEncoderTest.java
index a7c5a2079..cc32787ca 100644
--- a/tests/src/test/java/org/teavm/classlib/java/net/URLEncoderTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/net/URLEncoderTest.java
@@ -25,8 +25,10 @@ import java.net.URLEncoder;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class URLEncoderTest {
@Test
diff --git a/tests/src/test/java/org/teavm/classlib/java/net/URLTest.java b/tests/src/test/java/org/teavm/classlib/java/net/URLTest.java
index e1b86a05e..1768a5da8 100644
--- a/tests/src/test/java/org/teavm/classlib/java/net/URLTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/net/URLTest.java
@@ -31,8 +31,10 @@ import java.net.URLStreamHandlerFactory;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class URLTest {
URL u;
URL u1;
diff --git a/tests/src/test/java/org/teavm/classlib/java/nio/ByteBufferTest.java b/tests/src/test/java/org/teavm/classlib/java/nio/ByteBufferTest.java
index 4289e5509..3f705b8a4 100644
--- a/tests/src/test/java/org/teavm/classlib/java/nio/ByteBufferTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/nio/ByteBufferTest.java
@@ -27,8 +27,10 @@ import java.nio.ReadOnlyBufferException;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class ByteBufferTest {
@Test
public void allocatesDirect() {
diff --git a/tests/src/test/java/org/teavm/classlib/java/nio/ByteBufferWrapperTest.java b/tests/src/test/java/org/teavm/classlib/java/nio/ByteBufferWrapperTest.java
index e91388ef4..9db590624 100644
--- a/tests/src/test/java/org/teavm/classlib/java/nio/ByteBufferWrapperTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/nio/ByteBufferWrapperTest.java
@@ -27,8 +27,10 @@ import java.nio.ShortBuffer;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class ByteBufferWrapperTest {
@Test
public void wrapsIntoShortBuffer() {
diff --git a/tests/src/test/java/org/teavm/classlib/java/nio/CharBufferTest.java b/tests/src/test/java/org/teavm/classlib/java/nio/CharBufferTest.java
index 9fc0b46fb..86810ef12 100644
--- a/tests/src/test/java/org/teavm/classlib/java/nio/CharBufferTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/nio/CharBufferTest.java
@@ -28,8 +28,10 @@ import java.nio.ReadOnlyBufferException;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class CharBufferTest {
@Test
public void allocates() {
diff --git a/tests/src/test/java/org/teavm/classlib/java/nio/DoubleBufferTest.java b/tests/src/test/java/org/teavm/classlib/java/nio/DoubleBufferTest.java
index 596082720..db46a73bb 100644
--- a/tests/src/test/java/org/teavm/classlib/java/nio/DoubleBufferTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/nio/DoubleBufferTest.java
@@ -27,8 +27,10 @@ import java.nio.ReadOnlyBufferException;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class DoubleBufferTest {
@Test
public void allocatesSimple() {
diff --git a/tests/src/test/java/org/teavm/classlib/java/nio/FloatBufferTest.java b/tests/src/test/java/org/teavm/classlib/java/nio/FloatBufferTest.java
index d1096e404..6dcc63ae7 100644
--- a/tests/src/test/java/org/teavm/classlib/java/nio/FloatBufferTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/nio/FloatBufferTest.java
@@ -27,8 +27,10 @@ import java.nio.ReadOnlyBufferException;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class FloatBufferTest {
@Test
public void allocatesSimple() {
diff --git a/tests/src/test/java/org/teavm/classlib/java/nio/IntBufferTest.java b/tests/src/test/java/org/teavm/classlib/java/nio/IntBufferTest.java
index d475bd60d..c09382297 100644
--- a/tests/src/test/java/org/teavm/classlib/java/nio/IntBufferTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/nio/IntBufferTest.java
@@ -27,8 +27,10 @@ import java.nio.ReadOnlyBufferException;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class IntBufferTest {
@Test
public void allocatesSimple() {
diff --git a/tests/src/test/java/org/teavm/classlib/java/nio/LongBufferTest.java b/tests/src/test/java/org/teavm/classlib/java/nio/LongBufferTest.java
index ac2785aa4..c3dd72d09 100644
--- a/tests/src/test/java/org/teavm/classlib/java/nio/LongBufferTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/nio/LongBufferTest.java
@@ -27,8 +27,10 @@ import java.nio.ReadOnlyBufferException;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class LongBufferTest {
@Test
public void allocatesSimple() {
diff --git a/tests/src/test/java/org/teavm/classlib/java/nio/ShortBufferTest.java b/tests/src/test/java/org/teavm/classlib/java/nio/ShortBufferTest.java
index c53a89fa5..38e126bb8 100644
--- a/tests/src/test/java/org/teavm/classlib/java/nio/ShortBufferTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/nio/ShortBufferTest.java
@@ -27,8 +27,10 @@ import java.nio.ShortBuffer;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class ShortBufferTest {
@Test
public void allocatesSimple() {
diff --git a/tests/src/test/java/org/teavm/classlib/java/nio/charset/UTF8Test.java b/tests/src/test/java/org/teavm/classlib/java/nio/charset/UTF8Test.java
index 853ed7170..dca8d4a7d 100644
--- a/tests/src/test/java/org/teavm/classlib/java/nio/charset/UTF8Test.java
+++ b/tests/src/test/java/org/teavm/classlib/java/nio/charset/UTF8Test.java
@@ -28,8 +28,10 @@ import java.util.Arrays;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class UTF8Test {
private static char[] hexDigits = "0123456789ABCDEF".toCharArray();
// Fragment from "The Idiot" by F. Dostoevsky
diff --git a/tests/src/test/java/org/teavm/classlib/java/text/DateFormatTest.java b/tests/src/test/java/org/teavm/classlib/java/text/DateFormatTest.java
index 3c67e1d44..f24a69020 100644
--- a/tests/src/test/java/org/teavm/classlib/java/text/DateFormatTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/text/DateFormatTest.java
@@ -26,8 +26,10 @@ import java.util.TimeZone;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class DateFormatTest {
public DateFormatTest() {
TimeZone.setDefault(TimeZone.getTimeZone("GMT"));
diff --git a/tests/src/test/java/org/teavm/classlib/java/text/MessageFormatTest.java b/tests/src/test/java/org/teavm/classlib/java/text/MessageFormatTest.java
index 533fc0064..4bca4e747 100644
--- a/tests/src/test/java/org/teavm/classlib/java/text/MessageFormatTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/text/MessageFormatTest.java
@@ -39,8 +39,10 @@ import org.junit.After;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class MessageFormatTest {
private MessageFormat format1;
private MessageFormat format2;
diff --git a/tests/src/test/java/org/teavm/classlib/java/text/SimpleDateFormatTest.java b/tests/src/test/java/org/teavm/classlib/java/text/SimpleDateFormatTest.java
index 77f791254..f6148a61b 100644
--- a/tests/src/test/java/org/teavm/classlib/java/text/SimpleDateFormatTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/text/SimpleDateFormatTest.java
@@ -27,8 +27,10 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.junit.SkipJVM;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class SimpleDateFormatTest {
public SimpleDateFormatTest() {
TimeZone.setDefault(TimeZone.getTimeZone("GMT"));
diff --git a/tests/src/test/java/org/teavm/classlib/java/util/ArraysTest.java b/tests/src/test/java/org/teavm/classlib/java/util/ArraysTest.java
index 76cb5b64a..864b42b29 100644
--- a/tests/src/test/java/org/teavm/classlib/java/util/ArraysTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/util/ArraysTest.java
@@ -22,8 +22,10 @@ import java.util.stream.Collectors;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class ArraysTest {
@Test
public void arraySorted() {
diff --git a/tests/src/test/java/org/teavm/classlib/java/util/BitSetTest.java b/tests/src/test/java/org/teavm/classlib/java/util/BitSetTest.java
index 60bfc5757..6962d3d2b 100644
--- a/tests/src/test/java/org/teavm/classlib/java/util/BitSetTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/util/BitSetTest.java
@@ -55,8 +55,10 @@ import java.util.BitSet;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class BitSetTest {
BitSet eightbs;
diff --git a/tests/src/test/java/org/teavm/classlib/java/util/CalendarTest.java b/tests/src/test/java/org/teavm/classlib/java/util/CalendarTest.java
index 061a947a9..e23c8aaaa 100644
--- a/tests/src/test/java/org/teavm/classlib/java/util/CalendarTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/util/CalendarTest.java
@@ -43,8 +43,10 @@ import java.util.TimeZone;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class CalendarTest {
Locale defaultLocale;
diff --git a/tests/src/test/java/org/teavm/classlib/java/util/FormatterTest.java b/tests/src/test/java/org/teavm/classlib/java/util/FormatterTest.java
index a88dafba4..6eb1a5c40 100644
--- a/tests/src/test/java/org/teavm/classlib/java/util/FormatterTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/util/FormatterTest.java
@@ -32,8 +32,10 @@ import java.util.UnknownFormatConversionException;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class FormatterTest {
@Test(expected = UnknownFormatConversionException.class)
public void unexpectedEndOfFormatString() {
diff --git a/tests/src/test/java/org/teavm/classlib/java/util/HashtableTest.java b/tests/src/test/java/org/teavm/classlib/java/util/HashtableTest.java
index 67bef0d4a..593a03006 100644
--- a/tests/src/test/java/org/teavm/classlib/java/util/HashtableTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/util/HashtableTest.java
@@ -72,8 +72,10 @@ import org.junit.runner.RunWith;
import org.teavm.classlib.support.MapTest2Support;
import org.teavm.classlib.support.UnmodifiableCollectionTestSupport;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class HashtableTest {
private Hashtable ht10;
diff --git a/tests/src/test/java/org/teavm/classlib/java/util/IdentityHashMapTest.java b/tests/src/test/java/org/teavm/classlib/java/util/IdentityHashMapTest.java
index d598f47ee..151b8a82f 100644
--- a/tests/src/test/java/org/teavm/classlib/java/util/IdentityHashMapTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/util/IdentityHashMapTest.java
@@ -40,8 +40,10 @@ import java.util.Objects;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class IdentityHashMapTest {
@Test
diff --git a/tests/src/test/java/org/teavm/classlib/java/util/LinkedHashMapTest.java b/tests/src/test/java/org/teavm/classlib/java/util/LinkedHashMapTest.java
index f53ea0773..f178d3143 100644
--- a/tests/src/test/java/org/teavm/classlib/java/util/LinkedHashMapTest.java
+++ b/tests/src/test/java/org/teavm/classlib/java/util/LinkedHashMapTest.java
@@ -52,10 +52,12 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.teavm.classlib.support.MapTest2Support;
import org.teavm.junit.TeaVMTestRunner;
+import org.teavm.junit.WholeClassCompilation;
@SuppressWarnings({ "UnnecessaryUnboxing", "ClassInitializerMayBeStatic", "UnnecessaryTemporaryOnConversionToString",
"MismatchedQueryAndUpdateOfCollection", "StringEquality" })
@RunWith(TeaVMTestRunner.class)
+@WholeClassCompilation
public class LinkedHashMapTest {
private LinkedHashMap