Reuse temp rules from TestBase in tests
Change-Id: If05dfa9a5fd9acac34bc16673bb1dd20e03876b3
diff --git a/src/test/java/com/android/tools/r8/BackportedMethodListTest.java b/src/test/java/com/android/tools/r8/BackportedMethodListTest.java
index 3bb27c2..22d1e0a 100644
--- a/src/test/java/com/android/tools/r8/BackportedMethodListTest.java
+++ b/src/test/java/com/android/tools/r8/BackportedMethodListTest.java
@@ -14,16 +14,12 @@
import java.util.ArrayList;
import java.util.List;
import org.junit.Assume;
-import org.junit.Rule;
import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
@RunWith(Parameterized.class)
-public class BackportedMethodListTest {
-
- @Rule public TemporaryFolder temp = ToolHelper.getTemporaryFolderForTest();
+public class BackportedMethodListTest extends TestBase {
enum Mode {
NO_LIBRARY,
diff --git a/src/test/java/com/android/tools/r8/R8CodeCanonicalizationTest.java b/src/test/java/com/android/tools/r8/R8CodeCanonicalizationTest.java
index 65aea6e..90343b7 100644
--- a/src/test/java/com/android/tools/r8/R8CodeCanonicalizationTest.java
+++ b/src/test/java/com/android/tools/r8/R8CodeCanonicalizationTest.java
@@ -10,11 +10,9 @@
import java.nio.file.Path;
import java.nio.file.Paths;
import org.junit.Assert;
-import org.junit.Rule;
import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
-public class R8CodeCanonicalizationTest {
+public class R8CodeCanonicalizationTest extends TestBase {
private static final Path SOURCE_DEX = Paths.get(
ToolHelper.EXAMPLES_BUILD_DIR, "invokeempty", "classes.dex");
@@ -29,9 +27,6 @@
return 0;
}
- @Rule
- public TemporaryFolder temp = ToolHelper.getTemporaryFolderForTest();
-
@Test
public void testNumberOfCodeItemsUnchanged() throws Exception {
int numberOfCodes = readNumberOfCodes(SOURCE_DEX);
diff --git a/src/test/java/com/android/tools/r8/R8RunArtTestsTest.java b/src/test/java/com/android/tools/r8/R8RunArtTestsTest.java
index f3c3dc5..367a7c8 100644
--- a/src/test/java/com/android/tools/r8/R8RunArtTestsTest.java
+++ b/src/test/java/com/android/tools/r8/R8RunArtTestsTest.java
@@ -56,13 +56,12 @@
import org.junit.ComparisonFailure;
import org.junit.Rule;
import org.junit.rules.ExpectedException;
-import org.junit.rules.TemporaryFolder;
/**
* This test class is not invoked directly. Instead, the gradle script generates one subclass per
* actual art test. This allows us to run these in parallel.
*/
-public abstract class R8RunArtTestsTest {
+public abstract class R8RunArtTestsTest extends TestBase {
private static final boolean DEX_COMPARE_WITH_DEX_REFERENCE_ON_FAILURE = true;
@@ -1504,9 +1503,6 @@
}
@Rule
- public TemporaryFolder temp = ToolHelper.getTemporaryFolderForTest();
-
- @Rule
public TestDescriptionWatcher watcher = new TestDescriptionWatcher();
public R8RunArtTestsTest(String name, DexTool toolchain) {
diff --git a/src/test/java/com/android/tools/r8/R8RunExamplesTest.java b/src/test/java/com/android/tools/r8/R8RunExamplesTest.java
index 6065b96..2c1b299 100644
--- a/src/test/java/com/android/tools/r8/R8RunExamplesTest.java
+++ b/src/test/java/com/android/tools/r8/R8RunExamplesTest.java
@@ -20,7 +20,7 @@
import org.junit.runners.Parameterized.Parameters;
@RunWith(Parameterized.class)
-public class R8RunExamplesTest extends R8RunExamplesCommon {
+public class R8RunExamplesTest extends R8RunExamplesTestBase {
@Parameters(name = "{0}_{1}_{2}_{3}_{5}_{6}")
public static Collection<String[]> data() {
diff --git a/src/test/java/com/android/tools/r8/R8RunExamplesCommon.java b/src/test/java/com/android/tools/r8/R8RunExamplesTestBase.java
similarity index 95%
rename from src/test/java/com/android/tools/r8/R8RunExamplesCommon.java
rename to src/test/java/com/android/tools/r8/R8RunExamplesTestBase.java
index 8866236..62b9ca4 100644
--- a/src/test/java/com/android/tools/r8/R8RunExamplesCommon.java
+++ b/src/test/java/com/android/tools/r8/R8RunExamplesTestBase.java
@@ -28,9 +28,8 @@
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
-import org.junit.rules.TemporaryFolder;
-public abstract class R8RunExamplesCommon {
+public abstract class R8RunExamplesTestBase extends TestBase {
protected enum Input {
JAVAC,
@@ -59,9 +58,6 @@
}
@Rule
- public TemporaryFolder temp = ToolHelper.getTemporaryFolderForTest();
-
- @Rule
public TestDescriptionWatcher watcher = new TestDescriptionWatcher();
private final Input input;
@@ -71,13 +67,8 @@
private final String mainClass;
protected final Output output;
- public R8RunExamplesCommon(
- String pkg,
- String input,
- String compiler,
- String mode,
- String mainClass,
- String output) {
+ public R8RunExamplesTestBase(
+ String pkg, String input, String compiler, String mode, String mainClass, String output) {
this.pkg = pkg;
this.input = Input.valueOf(input);
this.compiler = CompilerUnderTest.valueOf(compiler);
diff --git a/src/test/java/com/android/tools/r8/R8RunSmaliTestsTest.java b/src/test/java/com/android/tools/r8/R8RunSmaliTestsTest.java
index a5d61e9..0ef9446 100644
--- a/src/test/java/com/android/tools/r8/R8RunSmaliTestsTest.java
+++ b/src/test/java/com/android/tools/r8/R8RunSmaliTestsTest.java
@@ -178,9 +178,6 @@
);
@Rule
- public TemporaryFolder temp = ToolHelper.getTemporaryFolderForTest();
-
- @Rule
public TestDescriptionWatcher watcher = new TestDescriptionWatcher();
private final TestParameters parameters;
diff --git a/src/test/java/com/android/tools/r8/RunExamplesAndroidNTest.java b/src/test/java/com/android/tools/r8/RunExamplesAndroidNTest.java
index f062988..4154c30 100644
--- a/src/test/java/com/android/tools/r8/RunExamplesAndroidNTest.java
+++ b/src/test/java/com/android/tools/r8/RunExamplesAndroidNTest.java
@@ -27,9 +27,8 @@
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
-import org.junit.rules.TemporaryFolder;
-public abstract class RunExamplesAndroidNTest<B> {
+public abstract class RunExamplesAndroidNTest<B> extends TestBase {
private static final String EXAMPLE_DIR = ToolHelper.EXAMPLES_ANDROID_N_BUILD_DIR;
@@ -119,8 +118,6 @@
DexVm.Version.DEFAULT,
ImmutableList.of());
- @Rule public TemporaryFolder temp = ToolHelper.getTemporaryFolderForTest();
-
@Rule public ExpectedException thrown = ExpectedException.none();
@Rule public TestDescriptionWatcher watcher = new TestDescriptionWatcher();
diff --git a/src/test/java/com/android/tools/r8/RunExamplesAndroidOTest.java b/src/test/java/com/android/tools/r8/RunExamplesAndroidOTest.java
index c2c74a4..9e22135 100644
--- a/src/test/java/com/android/tools/r8/RunExamplesAndroidOTest.java
+++ b/src/test/java/com/android/tools/r8/RunExamplesAndroidOTest.java
@@ -312,9 +312,6 @@
}
@Rule
- public TemporaryFolder temp = ToolHelper.getTemporaryFolderForTest();
-
- @Rule
public ExpectedException thrown = ExpectedException.none();
@Rule
diff --git a/src/test/java/com/android/tools/r8/RunExamplesAndroidPTest.java b/src/test/java/com/android/tools/r8/RunExamplesAndroidPTest.java
index c8b6cc4..30ad72e 100644
--- a/src/test/java/com/android/tools/r8/RunExamplesAndroidPTest.java
+++ b/src/test/java/com/android/tools/r8/RunExamplesAndroidPTest.java
@@ -197,9 +197,6 @@
.build();
@Rule
- public TemporaryFolder temp = ToolHelper.getTemporaryFolderForTest();
-
- @Rule
public ExpectedException thrown = ExpectedException.none();
@Rule
diff --git a/src/test/java/com/android/tools/r8/RunExamplesJava9Test.java b/src/test/java/com/android/tools/r8/RunExamplesJava9Test.java
index 485ac54..811c18f 100644
--- a/src/test/java/com/android/tools/r8/RunExamplesJava9Test.java
+++ b/src/test/java/com/android/tools/r8/RunExamplesJava9Test.java
@@ -36,10 +36,9 @@
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
-import org.junit.rules.TemporaryFolder;
-public abstract class RunExamplesJava9Test
- <B extends BaseCommand.Builder<? extends BaseCommand, B>> {
+public abstract class RunExamplesJava9Test<B extends BaseCommand.Builder<? extends BaseCommand, B>>
+ extends TestBase {
private static final String EXAMPLE_DIR = ToolHelper.EXAMPLES_JAVA9_BUILD_DIR;
@@ -148,9 +147,6 @@
"0: s>i>a\n" + "1: d>i>s>i>a\n" + "2: l>i>s>i>a\n" + "3: x>s\n" + "4: c>d>i>s>i>a\n");
@Rule
- public TemporaryFolder temp = ToolHelper.getTemporaryFolderForTest();
-
- @Rule
public ExpectedException thrown = ExpectedException.none();
@Rule
diff --git a/src/test/java/com/android/tools/r8/TestBase.java b/src/test/java/com/android/tools/r8/TestBase.java
index 4f99c46..89d5749 100644
--- a/src/test/java/com/android/tools/r8/TestBase.java
+++ b/src/test/java/com/android/tools/r8/TestBase.java
@@ -241,7 +241,7 @@
public TestBuilder<? extends SingleTestRunResult<?>, ?> testForRuntime(
TestRuntime runtime, Consumer<D8TestBuilder> d8TestBuilderConsumer) {
if (runtime.isCf()) {
- return testForJvm();
+ return testForJvm(temp);
} else {
assert runtime.isDex();
D8TestBuilder d8TestBuilder = testForD8();
diff --git a/src/test/java/com/android/tools/r8/cf/AnnotationTestRunner.java b/src/test/java/com/android/tools/r8/cf/AnnotationTestRunner.java
index e9b4755..481ee2a 100644
--- a/src/test/java/com/android/tools/r8/cf/AnnotationTestRunner.java
+++ b/src/test/java/com/android/tools/r8/cf/AnnotationTestRunner.java
@@ -9,21 +9,17 @@
import com.android.tools.r8.CompilationMode;
import com.android.tools.r8.R8;
import com.android.tools.r8.R8Command;
+import com.android.tools.r8.TestBase;
import com.android.tools.r8.ToolHelper;
import com.android.tools.r8.ToolHelper.ProcessResult;
import com.android.tools.r8.origin.Origin;
import com.google.common.collect.ImmutableList;
import java.nio.file.Path;
-import org.junit.Rule;
import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
-public class AnnotationTestRunner {
+public class AnnotationTestRunner extends TestBase {
static final Class CLASS = AnnotationTest.class;
- @Rule
- public TemporaryFolder temp = ToolHelper.getTemporaryFolderForTest();
-
@Test
public void test() throws Exception {
ProcessResult runInput =
diff --git a/src/test/java/com/android/tools/r8/cf/BaseDefaultMethodTestRunner.java b/src/test/java/com/android/tools/r8/cf/BaseDefaultMethodTestRunner.java
index 91216e4..b1b77fe 100644
--- a/src/test/java/com/android/tools/r8/cf/BaseDefaultMethodTestRunner.java
+++ b/src/test/java/com/android/tools/r8/cf/BaseDefaultMethodTestRunner.java
@@ -9,23 +9,19 @@
import com.android.tools.r8.CompilationMode;
import com.android.tools.r8.R8Command;
import com.android.tools.r8.R8Command.Builder;
+import com.android.tools.r8.TestBase;
import com.android.tools.r8.ToolHelper;
import com.android.tools.r8.ToolHelper.ProcessResult;
import com.android.tools.r8.origin.Origin;
import java.nio.file.Path;
import java.util.Arrays;
import java.util.List;
-import org.junit.Rule;
import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
-public class BaseDefaultMethodTestRunner {
+public class BaseDefaultMethodTestRunner extends TestBase {
static final Class CLASS = BaseDefaultMethodTest.class;
static final Class[] CLASSES = BaseDefaultMethodTest.CLASSES;
- @Rule
- public TemporaryFolder temp = ToolHelper.getTemporaryFolderForTest();
-
@Test
public void test() throws Exception {
ProcessResult runInput =
diff --git a/src/test/java/com/android/tools/r8/cf/CallLoopTestRunner.java b/src/test/java/com/android/tools/r8/cf/CallLoopTestRunner.java
index 1ed7481..76df19f 100644
--- a/src/test/java/com/android/tools/r8/cf/CallLoopTestRunner.java
+++ b/src/test/java/com/android/tools/r8/cf/CallLoopTestRunner.java
@@ -7,16 +7,14 @@
import com.android.tools.r8.CompilationMode;
import com.android.tools.r8.R8;
import com.android.tools.r8.R8Command;
+import com.android.tools.r8.TestBase;
import com.android.tools.r8.ToolHelper;
import com.android.tools.r8.origin.Origin;
import java.nio.file.Path;
-import org.junit.Rule;
import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
-public class CallLoopTestRunner {
- static final Class CLASS = CallLoopTest.class;
- @Rule public TemporaryFolder temp = ToolHelper.getTemporaryFolderForTest();
+public class CallLoopTestRunner extends TestBase {
+ static final Class<?> CLASS = CallLoopTest.class;
@Test
public void test() throws Exception {
diff --git a/src/test/java/com/android/tools/r8/cf/LambdaTestRunner.java b/src/test/java/com/android/tools/r8/cf/LambdaTestRunner.java
index 077c7a7..81621a7 100644
--- a/src/test/java/com/android/tools/r8/cf/LambdaTestRunner.java
+++ b/src/test/java/com/android/tools/r8/cf/LambdaTestRunner.java
@@ -9,6 +9,7 @@
import com.android.tools.r8.CompilationMode;
import com.android.tools.r8.R8;
import com.android.tools.r8.R8Command;
+import com.android.tools.r8.TestBase;
import com.android.tools.r8.ToolHelper;
import com.android.tools.r8.ToolHelper.ProcessResult;
import com.android.tools.r8.cf.code.CfInstruction;
@@ -23,18 +24,13 @@
import java.util.Collections;
import java.util.List;
import org.junit.Assert;
-import org.junit.Rule;
import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
-public class LambdaTestRunner {
+public class LambdaTestRunner extends TestBase {
private static final Class<?> CLASS = LambdaTest.class;
private static final String METHOD = "main";
- @Rule
- public TemporaryFolder temp = ToolHelper.getTemporaryFolderForTest();
-
@Test
public void test() throws Exception {
// Test that the InvokeDynamic instruction in LambdaTest.main()
diff --git a/src/test/java/com/android/tools/r8/cf/NegativeZeroTestRunner.java b/src/test/java/com/android/tools/r8/cf/NegativeZeroTestRunner.java
index a38bf60..87f1294 100644
--- a/src/test/java/com/android/tools/r8/cf/NegativeZeroTestRunner.java
+++ b/src/test/java/com/android/tools/r8/cf/NegativeZeroTestRunner.java
@@ -7,16 +7,15 @@
import com.android.tools.r8.CompilationMode;
import com.android.tools.r8.R8;
import com.android.tools.r8.R8Command;
+import com.android.tools.r8.TestBase;
import com.android.tools.r8.ToolHelper;
import com.android.tools.r8.origin.Origin;
import java.nio.file.Path;
-import org.junit.Rule;
import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
-public class NegativeZeroTestRunner {
+public class NegativeZeroTestRunner extends TestBase {
+
static final Class CLASS = NegativeZeroTest.class;
- @Rule public TemporaryFolder temp = ToolHelper.getTemporaryFolderForTest();
@Test
public void test() throws Exception {
diff --git a/src/test/java/com/android/tools/r8/cf/NestedExceptionTestRunner.java b/src/test/java/com/android/tools/r8/cf/NestedExceptionTestRunner.java
index 2cc8a66..cc8a5cc 100644
--- a/src/test/java/com/android/tools/r8/cf/NestedExceptionTestRunner.java
+++ b/src/test/java/com/android/tools/r8/cf/NestedExceptionTestRunner.java
@@ -9,18 +9,16 @@
import com.android.tools.r8.OutputMode;
import com.android.tools.r8.R8;
import com.android.tools.r8.R8Command;
+import com.android.tools.r8.TestBase;
import com.android.tools.r8.ToolHelper;
import com.android.tools.r8.origin.Origin;
import com.android.tools.r8.utils.AndroidApp;
import com.android.tools.r8.utils.AndroidAppConsumers;
import java.nio.file.Path;
-import org.junit.Rule;
import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
-public class NestedExceptionTestRunner {
+public class NestedExceptionTestRunner extends TestBase {
static final Class CLASS = NestedExceptionTest.class;
- @Rule public TemporaryFolder temp = ToolHelper.getTemporaryFolderForTest();
@Test
public void testNestedException() throws Exception {
diff --git a/src/test/java/com/android/tools/r8/cf/UninitializedInFrameTestRunner.java b/src/test/java/com/android/tools/r8/cf/UninitializedInFrameTestRunner.java
index 466ac41..9f80fe5 100644
--- a/src/test/java/com/android/tools/r8/cf/UninitializedInFrameTestRunner.java
+++ b/src/test/java/com/android/tools/r8/cf/UninitializedInFrameTestRunner.java
@@ -9,6 +9,7 @@
import com.android.tools.r8.CompilationMode;
import com.android.tools.r8.R8;
import com.android.tools.r8.R8Command;
+import com.android.tools.r8.TestBase;
import com.android.tools.r8.ToolHelper;
import com.android.tools.r8.ToolHelper.ProcessResult;
import com.android.tools.r8.origin.Origin;
@@ -16,16 +17,11 @@
import java.io.IOException;
import java.nio.file.Path;
import org.junit.Assert;
-import org.junit.Rule;
import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
-public class UninitializedInFrameTestRunner {
+public class UninitializedInFrameTestRunner extends TestBase {
static final Class CLASS = UninitializedInFrameTest.class;
- @Rule
- public TemporaryFolder temp = ToolHelper.getTemporaryFolderForTest();
-
@Test
public void test() throws Exception {
test(ToolHelper.getClassAsBytes(CLASS));
diff --git a/src/test/java/com/android/tools/r8/debug/ArrayDimensionGreaterThanSevenTestRunner.java b/src/test/java/com/android/tools/r8/debug/ArrayDimensionGreaterThanSevenTestRunner.java
index 06dce87..522c18e 100644
--- a/src/test/java/com/android/tools/r8/debug/ArrayDimensionGreaterThanSevenTestRunner.java
+++ b/src/test/java/com/android/tools/r8/debug/ArrayDimensionGreaterThanSevenTestRunner.java
@@ -25,7 +25,7 @@
public class ArrayDimensionGreaterThanSevenTestRunner extends DebugTestBase {
- private static final Class CLASS = ArrayDimensionGreaterThanSevenTest.class;
+ private static final Class<?> CLASS = ArrayDimensionGreaterThanSevenTest.class;
private static final String NAME = CLASS.getCanonicalName();
private DebugTestConfig getR8CfConfig(String s)
diff --git a/src/test/java/com/android/tools/r8/debug/ArraySimplificationLineNumberTestRunner.java b/src/test/java/com/android/tools/r8/debug/ArraySimplificationLineNumberTestRunner.java
index 6de8589..0646cb1 100644
--- a/src/test/java/com/android/tools/r8/debug/ArraySimplificationLineNumberTestRunner.java
+++ b/src/test/java/com/android/tools/r8/debug/ArraySimplificationLineNumberTestRunner.java
@@ -29,12 +29,16 @@
"Skipping test " + testName.getMethodName() + " because debugging not enabled in 12.0.0",
!ToolHelper.getDexVm().isNewerThanOrEqual(DexVm.ART_12_0_0_HOST));
DebugTestConfig cf = new CfDebugTestConfig().addPaths(ToolHelper.getClassPathForTests());
- DebugTestConfig d8 = new D8DebugTestConfig().compileAndAdd(
- temp, Collections.singletonList(ToolHelper.getClassFileForTestClass(CLASS)));
- DebugTestConfig d8NoLocals = new D8DebugTestConfig().compileAndAdd(
- temp,
- Collections.singletonList(ToolHelper.getClassFileForTestClass(CLASS)),
- options -> options.testing.noLocalsTableOnInput = true);
+ DebugTestConfig d8 =
+ new D8DebugTestConfig()
+ .compileAndAdd(
+ temp, Collections.singletonList(ToolHelper.getClassFileForTestClass(CLASS)));
+ DebugTestConfig d8NoLocals =
+ new D8DebugTestConfig()
+ .compileAndAdd(
+ temp,
+ Collections.singletonList(ToolHelper.getClassFileForTestClass(CLASS)),
+ options -> options.testing.noLocalsTableOnInput = true);
new DebugStreamComparator()
.add("CF", streamDebugTest(cf, NAME, NO_FILTER))
diff --git a/src/test/java/com/android/tools/r8/debug/BlockReorderingTest.java b/src/test/java/com/android/tools/r8/debug/BlockReorderingTest.java
index 4d4844f..f8dfef5 100644
--- a/src/test/java/com/android/tools/r8/debug/BlockReorderingTest.java
+++ b/src/test/java/com/android/tools/r8/debug/BlockReorderingTest.java
@@ -8,9 +8,7 @@
import java.util.Collections;
import org.junit.Assume;
import org.junit.BeforeClass;
-import org.junit.ClassRule;
import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
/**
* Test single stepping behaviour across reordered blocks.
@@ -22,9 +20,6 @@
private static D8DebugTestConfig d8Config;
- @ClassRule
- public static TemporaryFolder temp = ToolHelper.getTemporaryFolderForTest();
-
@BeforeClass
public static void setup() throws Exception {
// Force inversion of all conditionals to reliably construct a regression test for incorrect
@@ -32,7 +27,7 @@
d8Config =
new D8DebugTestConfig()
.compileAndAdd(
- temp,
+ getStaticTemp(),
Collections.singletonList(DEBUGGEE_JAR),
options -> options.testing.invertConditionals = true);
}
diff --git a/src/test/java/com/android/tools/r8/debug/BreakAtTryAndCatchTestRunner.java b/src/test/java/com/android/tools/r8/debug/BreakAtTryAndCatchTestRunner.java
index ca2f53f..62ffe57 100644
--- a/src/test/java/com/android/tools/r8/debug/BreakAtTryAndCatchTestRunner.java
+++ b/src/test/java/com/android/tools/r8/debug/BreakAtTryAndCatchTestRunner.java
@@ -16,7 +16,7 @@
@RunWith(Parameterized.class)
public class BreakAtTryAndCatchTestRunner extends DebugTestBase {
- private static final Class CLASS = BreakAtTryAndCatchTest.class;
+ private static final Class<?> CLASS = BreakAtTryAndCatchTest.class;
private static final String FILE = CLASS.getSimpleName() + ".java";
private static final String NAME = CLASS.getCanonicalName();
@@ -43,7 +43,7 @@
public BreakAtTryAndCatchTestRunner(String name, DelayedDebugTestConfig config) {
this.name = name;
- this.config = config.getConfig(temp);
+ this.config = config.getConfig(getStaticTemp());
}
@Test
diff --git a/src/test/java/com/android/tools/r8/debug/BreakInOneLineFinallyTestRunner.java b/src/test/java/com/android/tools/r8/debug/BreakInOneLineFinallyTestRunner.java
index 6d7d1a9..6059e43 100644
--- a/src/test/java/com/android/tools/r8/debug/BreakInOneLineFinallyTestRunner.java
+++ b/src/test/java/com/android/tools/r8/debug/BreakInOneLineFinallyTestRunner.java
@@ -14,7 +14,7 @@
@RunWith(Parameterized.class)
public class BreakInOneLineFinallyTestRunner extends DebugTestBase {
- private static final Class CLASS = BreakInOneLineFinallyTest.class;
+ private static final Class<?> CLASS = BreakInOneLineFinallyTest.class;
private static final String FILE = CLASS.getSimpleName() + ".java";
private static final String NAME = CLASS.getCanonicalName();
@@ -30,7 +30,7 @@
}
public BreakInOneLineFinallyTestRunner(String name, DelayedDebugTestConfig config) {
- this.config = config.getConfig(temp);
+ this.config = config.getConfig(getStaticTemp());
}
@Test
diff --git a/src/test/java/com/android/tools/r8/debug/BreakInTwoLinesFinallyTestRunner.java b/src/test/java/com/android/tools/r8/debug/BreakInTwoLinesFinallyTestRunner.java
index 7691a2f..888ea87 100644
--- a/src/test/java/com/android/tools/r8/debug/BreakInTwoLinesFinallyTestRunner.java
+++ b/src/test/java/com/android/tools/r8/debug/BreakInTwoLinesFinallyTestRunner.java
@@ -31,7 +31,7 @@
}
public BreakInTwoLinesFinallyTestRunner(String name, DelayedDebugTestConfig config) {
- this.config = config.getConfig(temp);
+ this.config = config.getConfig(getStaticTemp());
}
@Test
diff --git a/src/test/java/com/android/tools/r8/debug/BreakOnIfTestRunner.java b/src/test/java/com/android/tools/r8/debug/BreakOnIfTestRunner.java
index e61d6f8..6e7bec1 100644
--- a/src/test/java/com/android/tools/r8/debug/BreakOnIfTestRunner.java
+++ b/src/test/java/com/android/tools/r8/debug/BreakOnIfTestRunner.java
@@ -29,7 +29,7 @@
}
public BreakOnIfTestRunner(String name, DelayedDebugTestConfig config) {
- this.config = config.getConfig(temp);
+ this.config = config.getConfig(getStaticTemp());
}
@Test
diff --git a/src/test/java/com/android/tools/r8/debug/BreakPointEventsTestRunner.java b/src/test/java/com/android/tools/r8/debug/BreakPointEventsTestRunner.java
index 7d90a93..cee1fec 100644
--- a/src/test/java/com/android/tools/r8/debug/BreakPointEventsTestRunner.java
+++ b/src/test/java/com/android/tools/r8/debug/BreakPointEventsTestRunner.java
@@ -37,11 +37,11 @@
}
public static DebugTestConfig d8Config() throws Exception {
- return new D8DebugTestConfig().compileAndAdd(temp, getClassFilePath());
+ return new D8DebugTestConfig().compileAndAdd(getStaticTemp(), getClassFilePath());
}
public static DebugTestConfig r8CfConfig() throws Exception {
- Path outCf = temp.getRoot().toPath().resolve("cf.jar");
+ Path outCf = getStaticTemp().getRoot().toPath().resolve("cf.jar");
R8.run(
R8Command.builder()
.setMode(CompilationMode.DEBUG)
@@ -55,7 +55,7 @@
public static DebugTestConfig dxConfig() throws Exception {
Path cwd = ToolHelper.getClassPathForTests().toAbsolutePath();
Path test = cwd.relativize(getClassFilePath().toAbsolutePath());
- Path out = temp.newFolder().toPath().resolve("classes.dex").toAbsolutePath();
+ Path out = getStaticTemp().newFolder().toPath().resolve("classes.dex").toAbsolutePath();
ProcessResult result = ToolHelper.runDX(cwd, "--output=" + out, test.toString());
assertTrue(result.stderr, 0 == result.exitCode);
DebugTestConfig config = new DexDebugTestConfig();
@@ -76,7 +76,7 @@
// The main method will single-step each configuration of the test. It cannot be made a test as
// the event streams are unequal due to ART vs JVM line change on return and DX incorrect locals.
public static void main(String[] args) throws Exception {
- temp.create();
+ getStaticTemp().create();
try {
BreakPointEventsTestRunner runner = new BreakPointEventsTestRunner("unused name");
System.out.println("\n============== CF single stepping: ");
@@ -86,7 +86,7 @@
System.out.println("\n============== DX single stepping: ");
runner.printConfig("DX", dxConfig());
} finally {
- temp.delete();
+ getStaticTemp().delete();
}
}
diff --git a/src/test/java/com/android/tools/r8/debug/DebugTestBase.java b/src/test/java/com/android/tools/r8/debug/DebugTestBase.java
index 50a8842..5f69b7c 100644
--- a/src/test/java/com/android/tools/r8/debug/DebugTestBase.java
+++ b/src/test/java/com/android/tools/r8/debug/DebugTestBase.java
@@ -142,9 +142,6 @@
return new DebugTestParameters();
}
- @ClassRule
- public static TemporaryFolder temp = ToolHelper.getTemporaryFolderForTest();
-
@Rule
public TestName testName = new TestName();
diff --git a/src/test/java/com/android/tools/r8/debug/DebugTestExamples.java b/src/test/java/com/android/tools/r8/debug/DebugTestExamples.java
index a27c1d9..92a8408 100644
--- a/src/test/java/com/android/tools/r8/debug/DebugTestExamples.java
+++ b/src/test/java/com/android/tools/r8/debug/DebugTestExamples.java
@@ -19,7 +19,7 @@
@BeforeClass
public static void setup() {
- config = new D8DebugTestResourcesConfig(temp);
+ config = new D8DebugTestResourcesConfig(getStaticTemp());
}
/**
diff --git a/src/test/java/com/android/tools/r8/debug/DoNotCrashOnAccessToThisRunner.java b/src/test/java/com/android/tools/r8/debug/DoNotCrashOnAccessToThisRunner.java
index 53d4d26..6b7109c 100644
--- a/src/test/java/com/android/tools/r8/debug/DoNotCrashOnAccessToThisRunner.java
+++ b/src/test/java/com/android/tools/r8/debug/DoNotCrashOnAccessToThisRunner.java
@@ -44,7 +44,7 @@
}
public DoNotCrashOnAccessToThisRunner(String name, DelayedDebugTestConfig config) {
- this.config = config.getConfig(temp);
+ this.config = config.getConfig(getStaticTemp());
}
@Test
diff --git a/src/test/java/com/android/tools/r8/debug/EmptyLineAfterJoinTestRunner.java b/src/test/java/com/android/tools/r8/debug/EmptyLineAfterJoinTestRunner.java
index 37782dd..3d4c3fc 100644
--- a/src/test/java/com/android/tools/r8/debug/EmptyLineAfterJoinTestRunner.java
+++ b/src/test/java/com/android/tools/r8/debug/EmptyLineAfterJoinTestRunner.java
@@ -19,14 +19,13 @@
@RunWith(Parameterized.class)
public class EmptyLineAfterJoinTestRunner extends DebugTestBase {
- static final Class CLASS = EmptyLineAfterJoinTest.class;
+ static final Class<?> CLASS = EmptyLineAfterJoinTest.class;
static final String NAME = CLASS.getCanonicalName();
static final String DESC = DescriptorUtils.javaTypeToDescriptor(NAME);
static final String FILE = CLASS.getSimpleName() + ".java";
private static Path inputJarCache = null;
- private final String name;
private final DebugTestConfig config;
@Parameters(name = "{0}")
@@ -52,8 +51,7 @@
}
public EmptyLineAfterJoinTestRunner(String name, DelayedDebugTestConfig config) {
- this.name = name;
- this.config = config.getConfig(temp);
+ this.config = config.getConfig(getStaticTemp());
}
@Test
diff --git a/src/test/java/com/android/tools/r8/debug/JasminDebugTest.java b/src/test/java/com/android/tools/r8/debug/JasminDebugTest.java
index 1c811da..99ec6c9 100644
--- a/src/test/java/com/android/tools/r8/debug/JasminDebugTest.java
+++ b/src/test/java/com/android/tools/r8/debug/JasminDebugTest.java
@@ -18,9 +18,6 @@
final String sourcefile = className + ".j";
final String methodName = "test";
- @Rule
- public TemporaryFolder temp = ToolHelper.getTemporaryFolderForTest();
-
@Test
public void testUselessCheckcastCF() throws Throwable {
JasminBuilder builder = getBuilderForUselessCheckcast(className, methodName);
diff --git a/src/test/java/com/android/tools/r8/debug/LambdaTest.java b/src/test/java/com/android/tools/r8/debug/LambdaTest.java
index 749c4b4..719e651 100644
--- a/src/test/java/com/android/tools/r8/debug/LambdaTest.java
+++ b/src/test/java/com/android/tools/r8/debug/LambdaTest.java
@@ -32,7 +32,7 @@
private final DebugTestConfig config;
public LambdaTest(String name, DelayedDebugTestConfig delayedConfig) {
- this.config = delayedConfig.getConfig(temp);
+ this.config = delayedConfig.getConfig(getStaticTemp());
}
@Test
diff --git a/src/test/java/com/android/tools/r8/debug/LoadInvokeLoadOptimizationTestRunner.java b/src/test/java/com/android/tools/r8/debug/LoadInvokeLoadOptimizationTestRunner.java
index 9cd5079..e33be2e 100644
--- a/src/test/java/com/android/tools/r8/debug/LoadInvokeLoadOptimizationTestRunner.java
+++ b/src/test/java/com/android/tools/r8/debug/LoadInvokeLoadOptimizationTestRunner.java
@@ -38,7 +38,7 @@
@Test
public void testReference() throws Throwable {
assumeTrue(parameters.isCfRuntime());
- testForJvm(temp)
+ testForJvm(parameters)
.addProgramClasses(CLASS)
.run(parameters.getRuntime(), CLASS)
.assertSuccessWithOutput(EXPECTED)
diff --git a/src/test/java/com/android/tools/r8/debug/LocalChangeOnSameLineTestRunner.java b/src/test/java/com/android/tools/r8/debug/LocalChangeOnSameLineTestRunner.java
index 9fe7e23..2ef0b4b 100644
--- a/src/test/java/com/android/tools/r8/debug/LocalChangeOnSameLineTestRunner.java
+++ b/src/test/java/com/android/tools/r8/debug/LocalChangeOnSameLineTestRunner.java
@@ -15,7 +15,7 @@
@RunWith(Parameterized.class)
public class LocalChangeOnSameLineTestRunner extends DebugTestBase {
- private static final Class CLASS = LocalChangeOnSameLineTest.class;
+ private static final Class<?> CLASS = LocalChangeOnSameLineTest.class;
private static final String FILE = CLASS.getSimpleName() + ".java";
private static final String NAME = CLASS.getCanonicalName();
@@ -33,7 +33,7 @@
public LocalChangeOnSameLineTestRunner(String name, DelayedDebugTestConfig config) {
this.name = name;
- this.config = config.getConfig(temp);
+ this.config = config.getConfig(getStaticTemp());
}
/** Test that only hit the break point at line 15 once. */
diff --git a/src/test/java/com/android/tools/r8/debug/LocalEndTestRunner.java b/src/test/java/com/android/tools/r8/debug/LocalEndTestRunner.java
index af89b16..e406922 100644
--- a/src/test/java/com/android/tools/r8/debug/LocalEndTestRunner.java
+++ b/src/test/java/com/android/tools/r8/debug/LocalEndTestRunner.java
@@ -20,14 +20,13 @@
@RunWith(Parameterized.class)
public class LocalEndTestRunner extends DebugTestBase {
- static final Class CLASS = LocalEndTest.class;
+ static final Class<?> CLASS = LocalEndTest.class;
static final String NAME = CLASS.getCanonicalName();
static final String DESC = DescriptorUtils.javaTypeToDescriptor(NAME);
static final String FILE = CLASS.getSimpleName() + ".java";
private static Path inputJarCache = null;
- private final String name;
private final DebugTestConfig config;
@Parameters(name = "{0}")
@@ -49,8 +48,7 @@
}
public LocalEndTestRunner(String name, DelayedDebugTestConfig config) {
- this.name = name;
- this.config = config.getConfig(temp);
+ this.config = config.getConfig(getStaticTemp());
}
@Test
diff --git a/src/test/java/com/android/tools/r8/debug/LocalsLiveAtBlockEntryDebugTest.java b/src/test/java/com/android/tools/r8/debug/LocalsLiveAtBlockEntryDebugTest.java
index 85749ab..84bb292 100644
--- a/src/test/java/com/android/tools/r8/debug/LocalsLiveAtBlockEntryDebugTest.java
+++ b/src/test/java/com/android/tools/r8/debug/LocalsLiveAtBlockEntryDebugTest.java
@@ -35,9 +35,6 @@
final String sourcefile = className + ".j";
final String methodName = "test";
- @Rule
- public TemporaryFolder temp = ToolHelper.getTemporaryFolderForTest();
-
@Test
public void testCF() throws Throwable {
JasminBuilder builder = getBuilderForTest(className, methodName);
diff --git a/src/test/java/com/android/tools/r8/debug/LocalsTest.java b/src/test/java/com/android/tools/r8/debug/LocalsTest.java
index 68b67a9..35178f8 100644
--- a/src/test/java/com/android/tools/r8/debug/LocalsTest.java
+++ b/src/test/java/com/android/tools/r8/debug/LocalsTest.java
@@ -35,7 +35,7 @@
private final DebugTestConfig config;
public LocalsTest(String name, DelayedDebugTestConfig config) {
- this.config = config.getConfig(temp);
+ this.config = config.getConfig(getStaticTemp());
}
@Test
diff --git a/src/test/java/com/android/tools/r8/debug/NonExitingMethodTestRunner.java b/src/test/java/com/android/tools/r8/debug/NonExitingMethodTestRunner.java
index 65d5504..fc81883 100644
--- a/src/test/java/com/android/tools/r8/debug/NonExitingMethodTestRunner.java
+++ b/src/test/java/com/android/tools/r8/debug/NonExitingMethodTestRunner.java
@@ -14,7 +14,6 @@
import com.android.tools.r8.VmTestRunner.IgnoreIfVmOlderThan;
import com.android.tools.r8.origin.Origin;
import com.google.common.collect.ImmutableList;
-import java.io.IOException;
import java.nio.file.Path;
import org.junit.Assume;
import org.junit.Test;
@@ -38,7 +37,7 @@
return new D8DebugTestConfig().compileAndAdd(temp, getClassFilePath());
}
- public DebugTestConfig r8CfConfig() throws CompilationFailedException, IOException {
+ public DebugTestConfig r8CfConfig() throws CompilationFailedException {
Path path = temp.getRoot().toPath().resolve("out.jar");
ToolHelper.runR8(
R8Command.builder()
diff --git a/src/test/java/com/android/tools/r8/debug/SmaliDebugTest.java b/src/test/java/com/android/tools/r8/debug/SmaliDebugTest.java
index 1d4a205..71dd6fc 100644
--- a/src/test/java/com/android/tools/r8/debug/SmaliDebugTest.java
+++ b/src/test/java/com/android/tools/r8/debug/SmaliDebugTest.java
@@ -28,9 +28,6 @@
static final String FILE = "SmaliDebugTestDebuggee.smali";
static final String CLASS = "SmaliDebugTestDebuggee";
- @Rule
- public TemporaryFolder temp = ToolHelper.getTemporaryFolderForTest();
-
/**
* Simple test to check setup works for the Java source, ala:
*
diff --git a/src/test/java/com/android/tools/r8/debug/SynchronizedBlockTest.java b/src/test/java/com/android/tools/r8/debug/SynchronizedBlockTest.java
index 208c2cb..0c3f81d 100644
--- a/src/test/java/com/android/tools/r8/debug/SynchronizedBlockTest.java
+++ b/src/test/java/com/android/tools/r8/debug/SynchronizedBlockTest.java
@@ -38,7 +38,7 @@
public SynchronizedBlockTest(String name, DelayedDebugTestConfig config) {
this.name = name;
- this.config = config.getConfig(temp);
+ this.config = config.getConfig(getStaticTemp());
}
@Test
diff --git a/src/test/java/com/android/tools/r8/debug/SyntheticMethodTest.java b/src/test/java/com/android/tools/r8/debug/SyntheticMethodTest.java
index ef09ce2..0872225 100644
--- a/src/test/java/com/android/tools/r8/debug/SyntheticMethodTest.java
+++ b/src/test/java/com/android/tools/r8/debug/SyntheticMethodTest.java
@@ -16,7 +16,7 @@
@BeforeClass
public static void setup() {
- config = new D8DebugTestResourcesConfig(temp);
+ config = new D8DebugTestResourcesConfig(getStaticTemp());
}
@Test
diff --git a/src/test/java/com/android/tools/r8/debuginfo/DebugInfoTestBase.java b/src/test/java/com/android/tools/r8/debuginfo/DebugInfoTestBase.java
index 10d301d..5019708 100644
--- a/src/test/java/com/android/tools/r8/debuginfo/DebugInfoTestBase.java
+++ b/src/test/java/com/android/tools/r8/debuginfo/DebugInfoTestBase.java
@@ -10,6 +10,7 @@
import com.android.tools.r8.D8;
import com.android.tools.r8.D8Command;
import com.android.tools.r8.OutputMode;
+import com.android.tools.r8.TestBase;
import com.android.tools.r8.ToolHelper;
import com.android.tools.r8.ToolHelper.ProcessResult;
import com.android.tools.r8.naming.MemberNaming.MethodSignature;
@@ -21,12 +22,8 @@
import java.nio.file.Path;
import java.util.concurrent.ExecutionException;
import org.junit.Rule;
-import org.junit.rules.TemporaryFolder;
-public class DebugInfoTestBase {
-
- @Rule
- public TemporaryFolder temp = ToolHelper.getTemporaryFolderForTest();
+public class DebugInfoTestBase extends TestBase {
@Rule
public TestDescriptionWatcher watcher = new TestDescriptionWatcher();
diff --git a/src/test/java/com/android/tools/r8/debuginfo/PreamblePositionTestRunner.java b/src/test/java/com/android/tools/r8/debuginfo/PreamblePositionTestRunner.java
index 90239e7..5dafac1 100644
--- a/src/test/java/com/android/tools/r8/debuginfo/PreamblePositionTestRunner.java
+++ b/src/test/java/com/android/tools/r8/debuginfo/PreamblePositionTestRunner.java
@@ -10,22 +10,19 @@
import com.android.tools.r8.CompilationMode;
import com.android.tools.r8.D8Command;
import com.android.tools.r8.OutputMode;
+import com.android.tools.r8.TestBase;
import com.android.tools.r8.ToolHelper;
import com.android.tools.r8.ToolHelper.ArtCommandBuilder;
import com.android.tools.r8.ToolHelper.ProcessResult;
import java.nio.file.Files;
import java.nio.file.Path;
-import org.junit.ClassRule;
import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
-public class PreamblePositionTestRunner {
+public class PreamblePositionTestRunner extends TestBase {
private static final String TEST_CLASS = "PreamblePositionTestSource";
private static final String TEST_PACKAGE = "com.android.tools.r8.debuginfo";
- @ClassRule public static TemporaryFolder temp = ToolHelper.getTemporaryFolderForTest();
-
@Test
public void testBothBranchesDefaultConditionals() throws Exception {
testBothBranches(false);
diff --git a/src/test/java/com/android/tools/r8/desugar/DefaultLambdaWithSelfReferenceTestRunner.java b/src/test/java/com/android/tools/r8/desugar/DefaultLambdaWithSelfReferenceTestRunner.java
index ef56abd..130b7fe 100644
--- a/src/test/java/com/android/tools/r8/desugar/DefaultLambdaWithSelfReferenceTestRunner.java
+++ b/src/test/java/com/android/tools/r8/desugar/DefaultLambdaWithSelfReferenceTestRunner.java
@@ -30,6 +30,7 @@
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameter;
import org.junit.runners.Parameterized.Parameters;
@RunWith(Parameterized.class)
@@ -38,17 +39,14 @@
private static final Class<?> CLASS = DefaultLambdaWithSelfReferenceTest.class;
private static final String EXPECTED = StringUtils.lines("stateful(stateless)");
- private final TestParameters parameters;
+ @Parameter(0)
+ public TestParameters parameters;
@Parameters(name = "{0}")
public static TestParametersCollection data() {
return getTestParameters().withAllRuntimesAndApiLevels().build();
}
- public DefaultLambdaWithSelfReferenceTestRunner(TestParameters parameters) {
- this.parameters = parameters;
- }
-
private void runDebugger(DebugTestConfig config, boolean isR8) throws Throwable {
MethodReference main = Reference.methodFromMethod(CLASS.getMethod("main", String[].class));
Command checkThisLambda =
diff --git a/src/test/java/com/android/tools/r8/examples/newarray/NewArrayTestRunner.java b/src/test/java/com/android/tools/r8/examples/newarray/NewArrayTestRunner.java
index b36fa2c..be1d789 100644
--- a/src/test/java/com/android/tools/r8/examples/newarray/NewArrayTestRunner.java
+++ b/src/test/java/com/android/tools/r8/examples/newarray/NewArrayTestRunner.java
@@ -76,10 +76,10 @@
@Test
public void runReference() throws Exception {
+ parameters.assumeJvmTestParameters();
assumeFalse(enableMultiANewArrayDesugaringForClassFiles);
- assumeTrue(parameters.isCfRuntime());
assumeTrue(mode == CompilationMode.DEBUG);
- testForJvm(getStaticTemp())
+ testForJvm(parameters)
.addProgramClassesAndInnerClasses(CLASS)
.run(parameters.getRuntime(), CLASS)
.assertSuccessWithOutputLines(EXPECTED);
@@ -87,8 +87,8 @@
@Test
public void testD8() throws Exception {
+ parameters.assumeDexRuntime();
assumeFalse(enableMultiANewArrayDesugaringForClassFiles);
- assumeTrue(parameters.isDexRuntime());
testForD8()
.addProgramClassesAndInnerClasses(CLASS)
.setMinApi(parameters)
diff --git a/src/test/java/com/android/tools/r8/internal/CompilationTestBase.java b/src/test/java/com/android/tools/r8/internal/CompilationTestBase.java
index 41ef5ee..8d11903 100644
--- a/src/test/java/com/android/tools/r8/internal/CompilationTestBase.java
+++ b/src/test/java/com/android/tools/r8/internal/CompilationTestBase.java
@@ -61,9 +61,6 @@
protected KeepingDiagnosticHandler handler;
protected Reporter reporter;
- @Rule
- public TemporaryFolder temp = ToolHelper.getTemporaryFolderForTest();
-
@Before
public void reset() {
handler = new KeepingDiagnosticHandler();
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/string/StringLengthDebugTestRunner.java b/src/test/java/com/android/tools/r8/ir/optimize/string/StringLengthDebugTestRunner.java
index 21033e5..4eaf16f 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/string/StringLengthDebugTestRunner.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/string/StringLengthDebugTestRunner.java
@@ -23,8 +23,8 @@
@IgnoreIfVmOlderThan(Version.V5_1_1)
public void test() throws Throwable {
Class<?> main = StringLengthDebugTest.class;
- DebugTestConfig config = new D8DebugTestConfig()
- .compileAndAdd(temp, ToolHelper.getClassFileForTestClass(main));
+ DebugTestConfig config =
+ new D8DebugTestConfig().compileAndAdd(temp, ToolHelper.getClassFileForTestClass(main));
runDebugTest(config, main.getCanonicalName(),
breakpoint(main.getCanonicalName(), "main"),
run(),
diff --git a/src/test/java/com/android/tools/r8/jar/UnicodeSetRegression/UnicodeSetRegressionTest.java b/src/test/java/com/android/tools/r8/jar/UnicodeSetRegression/UnicodeSetRegressionTest.java
index f29b349..9b41eec 100644
--- a/src/test/java/com/android/tools/r8/jar/UnicodeSetRegression/UnicodeSetRegressionTest.java
+++ b/src/test/java/com/android/tools/r8/jar/UnicodeSetRegression/UnicodeSetRegressionTest.java
@@ -5,6 +5,7 @@
import com.android.tools.r8.OutputMode;
import com.android.tools.r8.R8Command;
+import com.android.tools.r8.TestBase;
import com.android.tools.r8.ToolHelper;
import com.android.tools.r8.utils.AndroidApp;
import com.android.tools.r8.utils.AndroidAppConsumers;
@@ -16,18 +17,13 @@
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.List;
-import org.junit.Rule;
import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
-public class UnicodeSetRegressionTest {
+public class UnicodeSetRegressionTest extends TestBase {
private static final String JAR_FILE =
"src/test/java/com/android/tools/r8/jar/UnicodeSetRegression/UnicodeSet.jar";
- @Rule
- public TemporaryFolder temp = ToolHelper.getTemporaryFolderForTest();
-
private AndroidApp dexFromDX() throws IOException {
return ToolHelper.runDexer(JAR_FILE, temp.newFolder("dx-dex").getPath());
}
diff --git a/src/test/java/com/android/tools/r8/jdwp/RunJdwpTests.java b/src/test/java/com/android/tools/r8/jdwp/RunJdwpTests.java
index a831fb0..a7c2581 100644
--- a/src/test/java/com/android/tools/r8/jdwp/RunJdwpTests.java
+++ b/src/test/java/com/android/tools/r8/jdwp/RunJdwpTests.java
@@ -11,6 +11,7 @@
import com.android.tools.r8.D8;
import com.android.tools.r8.D8Command;
import com.android.tools.r8.OutputMode;
+import com.android.tools.r8.TestBase;
import com.android.tools.r8.ToolHelper;
import com.android.tools.r8.ToolHelper.DexVm;
import com.android.tools.r8.ToolHelper.DexVm.Version;
@@ -30,13 +31,11 @@
import java.util.Set;
import org.junit.Assume;
import org.junit.BeforeClass;
-import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
/** Wrapper for the art JDWP tests. */
-public class RunJdwpTests {
+public class RunJdwpTests extends TestBase {
enum Tool {
JAVAC,
@@ -266,9 +265,6 @@
private static File d8Out = null;
- @ClassRule
- public static TemporaryFolder temp = ToolHelper.getTemporaryFolderForTest();
-
@Rule
public TestDescriptionWatcher watcher = new TestDescriptionWatcher();
@@ -284,7 +280,7 @@
extraTestResources.add(testPath.resolve(test + ".class"));
extraTestResources.add(testPath.resolve(test.replace("Test", "Debuggee") + ".class"));
}
- d8Out = temp.newFolder("d8-out");
+ d8Out = getStaticTemp().newFolder("d8-out");
D8.run(
D8Command.builder()
.addProgramFiles(jdwpTestsJar)
diff --git a/src/test/java/com/android/tools/r8/memberrebinding/MemberRebindingTest.java b/src/test/java/com/android/tools/r8/memberrebinding/MemberRebindingTest.java
index 605ddf7..1abcddd 100644
--- a/src/test/java/com/android/tools/r8/memberrebinding/MemberRebindingTest.java
+++ b/src/test/java/com/android/tools/r8/memberrebinding/MemberRebindingTest.java
@@ -35,13 +35,12 @@
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
@RunWith(Parameterized.class)
-public class MemberRebindingTest {
+public class MemberRebindingTest extends TestBase {
private static final Path JAR_LIBRARY =
Paths.get(ToolHelper.EXAMPLES_BUILD_DIR + "memberrebindinglib.jar");
@@ -65,9 +64,6 @@
private final int minApiLevel;
@Rule
- public TemporaryFolder temp = ToolHelper.getTemporaryFolderForTest();
-
- @Rule
public TestDescriptionWatcher watcher = new TestDescriptionWatcher();
public MemberRebindingTest(TestConfiguration configuration) {
diff --git a/src/test/java/com/android/tools/r8/naming/InterfaceConstructorRenamingTest.java b/src/test/java/com/android/tools/r8/naming/InterfaceConstructorRenamingTest.java
index 7ec2589..0b6f53f 100644
--- a/src/test/java/com/android/tools/r8/naming/InterfaceConstructorRenamingTest.java
+++ b/src/test/java/com/android/tools/r8/naming/InterfaceConstructorRenamingTest.java
@@ -10,7 +10,6 @@
import com.android.tools.r8.TestBase;
import com.android.tools.r8.TestParameters;
import com.android.tools.r8.TestParametersCollection;
-import com.android.tools.r8.ToolHelper;
import com.android.tools.r8.references.Reference;
import com.android.tools.r8.utils.AndroidApiLevel;
import com.android.tools.r8.utils.StringUtils;
@@ -18,9 +17,7 @@
import java.io.IOException;
import java.util.Collections;
import java.util.function.Function;
-import org.junit.ClassRule;
import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
@@ -38,12 +35,10 @@
private static Function<Backend, R8TestCompileResult> compilation =
memoizeFunction(InterfaceConstructorRenamingTest::compile);
- @ClassRule public static TemporaryFolder staticTemp = ToolHelper.getTemporaryFolderForTest();
-
private static R8TestCompileResult compile(Backend backend)
throws com.android.tools.r8.CompilationFailedException, IOException {
R8TestCompileResult compileResult =
- testForR8(staticTemp, backend)
+ testForR8(getStaticTemp(), backend)
.addProgramClasses(TestInterface.class, TestClass.class)
.addKeepMainRule(TestClass.class)
.setMinApi(AndroidApiLevel.B)
diff --git a/src/test/java/com/android/tools/r8/naming/RenameSourceFileDebugTest.java b/src/test/java/com/android/tools/r8/naming/RenameSourceFileDebugTest.java
index 6d8982a..7723243 100644
--- a/src/test/java/com/android/tools/r8/naming/RenameSourceFileDebugTest.java
+++ b/src/test/java/com/android/tools/r8/naming/RenameSourceFileDebugTest.java
@@ -39,7 +39,7 @@
@BeforeClass
public static void initDebuggeePath() throws Exception {
for (Backend backend : ToolHelper.getBackends()) {
- Path outdir = temp.newFolder().toPath();
+ Path outdir = getStaticTemp().newFolder().toPath();
Path outjar = outdir.resolve("r8_compiled.jar");
Path proguardMapPath = outdir.resolve("proguard.map");
R8Command.Builder builder =
diff --git a/src/test/java/com/android/tools/r8/naming/applymapping/ApplyMappingAfterVerticalMergingMethodTest.java b/src/test/java/com/android/tools/r8/naming/applymapping/ApplyMappingAfterVerticalMergingMethodTest.java
index 8c0274e..6e84651 100644
--- a/src/test/java/com/android/tools/r8/naming/applymapping/ApplyMappingAfterVerticalMergingMethodTest.java
+++ b/src/test/java/com/android/tools/r8/naming/applymapping/ApplyMappingAfterVerticalMergingMethodTest.java
@@ -15,18 +15,14 @@
import com.android.tools.r8.TestBase;
import com.android.tools.r8.TestParameters;
import com.android.tools.r8.TestParametersCollection;
-import com.android.tools.r8.ToolHelper;
import com.android.tools.r8.utils.AndroidApiLevel;
import com.android.tools.r8.utils.StringUtils;
import com.android.tools.r8.utils.codeinspector.FoundMethodSubject;
import java.io.IOException;
import java.nio.file.Path;
import java.util.List;
-import java.util.concurrent.ExecutionException;
import java.util.function.Function;
-import org.junit.ClassRule;
import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
@@ -92,11 +88,8 @@
private static Function<Backend, CompilationResult> compilationResults =
memoizeFunction(ApplyMappingAfterVerticalMergingMethodTest::compile);
- @ClassRule
- public static TemporaryFolder staticTemp = ToolHelper.getTemporaryFolderForTest();
-
public static CompilationResult compile(Backend backend)
- throws ExecutionException, CompilationFailedException, IOException {
+ throws CompilationFailedException, IOException {
R8TestCompileResult library = compileLibrary(backend);
R8TestCompileResult program = compileProgram(backend, library.getProguardMap());
return new CompilationResult(library, program, library.writeToZip());
@@ -104,7 +97,7 @@
private static R8TestCompileResult compileLibrary(Backend backend)
throws CompilationFailedException, IOException {
- return testForR8(staticTemp, backend)
+ return testForR8(getStaticTemp(), backend)
.enableInliningAnnotations()
.enableMemberValuePropagationAnnotations()
.addProgramClasses(LIBRARY_CLASSES)
@@ -132,7 +125,7 @@
private static R8TestCompileResult compileProgram(Backend backend, String proguardMap)
throws CompilationFailedException {
- return testForR8(staticTemp, backend)
+ return testForR8(getStaticTemp(), backend)
.noTreeShaking()
.addDontObfuscate()
.addProgramClasses(PROGRAM_CLASSES)
diff --git a/src/test/java/com/android/tools/r8/naming/applymapping/shared/NameClashTest.java b/src/test/java/com/android/tools/r8/naming/applymapping/shared/NameClashTest.java
index 5d1c231..4a2c79e 100644
--- a/src/test/java/com/android/tools/r8/naming/applymapping/shared/NameClashTest.java
+++ b/src/test/java/com/android/tools/r8/naming/applymapping/shared/NameClashTest.java
@@ -19,16 +19,11 @@
import java.nio.file.Path;
import org.junit.Before;
import org.junit.BeforeClass;
-import org.junit.ClassRule;
import org.junit.Ignore;
import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
public class NameClashTest extends TestBase {
- @ClassRule
- public static TemporaryFolder temporaryFolder = ToolHelper.getTemporaryFolderForTest();
-
private static Class<?> MAIN = ProgramClass.class;
private static String EXPECTED_OUTPUT =
StringUtils.lines(
@@ -42,13 +37,13 @@
@BeforeClass
public static void setUpJars() throws Exception {
prgJarThatUsesOriginalLib =
- temporaryFolder.newFile("prgOrginalLib.jar").toPath().toAbsolutePath();
+ getStaticTemp().newFile("prgOrginalLib.jar").toPath().toAbsolutePath();
writeClassFileDataToJar(
prgJarThatUsesOriginalLib, ImmutableList.of(ToolHelper.getClassAsBytes(MAIN)));
prgJarThatUsesMinifiedLib =
- temporaryFolder.newFile("prgMinifiedLib.jar").toPath().toAbsolutePath();
+ getStaticTemp().newFile("prgMinifiedLib.jar").toPath().toAbsolutePath();
writeClassFileDataToJar(prgJarThatUsesMinifiedLib, ImmutableList.of(ProgramClassDump.dump()));
- libJar = temporaryFolder.newFile("lib.jar").toPath().toAbsolutePath();
+ libJar = getStaticTemp().newFile("lib.jar").toPath().toAbsolutePath();
writeClassesToJar(
libJar,
ImmutableList.of(
diff --git a/src/test/java/com/android/tools/r8/regress/b79498926/B79498926.java b/src/test/java/com/android/tools/r8/regress/b79498926/B79498926.java
index d10454d..481cb2c 100644
--- a/src/test/java/com/android/tools/r8/regress/b79498926/B79498926.java
+++ b/src/test/java/com/android/tools/r8/regress/b79498926/B79498926.java
@@ -33,9 +33,6 @@
return getTestParameters().withDexRuntimes().build();
}
- @Rule
- public TemporaryFolder temp = ToolHelper.getTemporaryFolderForTest();
-
@Test
public void test() throws CompilationFailedException, IOException {
Path outDex = temp.getRoot().toPath().resolve("out.zip");
diff --git a/src/test/java/com/android/tools/r8/rewrite/assertions/RemoveAssertionsTest.java b/src/test/java/com/android/tools/r8/rewrite/assertions/RemoveAssertionsTest.java
index fc880c9..235ef00 100644
--- a/src/test/java/com/android/tools/r8/rewrite/assertions/RemoveAssertionsTest.java
+++ b/src/test/java/com/android/tools/r8/rewrite/assertions/RemoveAssertionsTest.java
@@ -28,9 +28,7 @@
import java.nio.file.Path;
import java.util.Collection;
import java.util.function.Function;
-import org.junit.ClassRule;
import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.objectweb.asm.ClassReader;
@@ -178,14 +176,12 @@
this.parameters = parameters;
}
- @ClassRule public static TemporaryFolder staticTemp = ToolHelper.getTemporaryFolderForTest();
-
private static Function<Backend, CompilationResults> compilationResults =
memoizeFunction(RemoveAssertionsTest::compileAll);
private static R8TestCompileResult compileWithAccessModification(Backend backend)
throws CompilationFailedException {
- return testForR8(staticTemp, backend)
+ return testForR8(getStaticTemp(), backend)
.addProgramClasses(ClassWithAssertions.class)
.addKeepMainRule(ClassWithAssertions.class)
.addOptionsModification(o -> o.inlinerOptions().enableInlining = false)
@@ -198,7 +194,7 @@
private static R8TestCompileResult compileCf(
Function<AssertionsConfiguration.Builder, AssertionsConfiguration> transformation)
throws CompilationFailedException {
- return testForR8(staticTemp, Backend.CF)
+ return testForR8(getStaticTemp(), Backend.CF)
.addProgramClasses(ClassWithAssertions.class)
.debug()
.noTreeShaking()
@@ -219,7 +215,7 @@
private static R8TestCompileResult compileRegress110887293(Function<byte[], byte[]> rewriter)
throws CompilationFailedException, IOException {
- return testForR8(staticTemp, Backend.DEX)
+ return testForR8(getStaticTemp(), Backend.DEX)
.addProgramClassFileData(
rewriter.apply(ToolHelper.getClassAsBytes(ClassWithAssertions.class)))
.addProgramClasses(ChromuimAssertionHookMock.class)
diff --git a/src/test/java/com/android/tools/r8/shaking/NonVirtualOverrideTest.java b/src/test/java/com/android/tools/r8/shaking/NonVirtualOverrideTest.java
index 163a63f..8ce1d80 100644
--- a/src/test/java/com/android/tools/r8/shaking/NonVirtualOverrideTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/NonVirtualOverrideTest.java
@@ -15,7 +15,6 @@
import com.android.tools.r8.TestBase;
import com.android.tools.r8.TestParameters;
import com.android.tools.r8.TestRuntime.CfRuntime;
-import com.android.tools.r8.ToolHelper;
import com.android.tools.r8.ToolHelper.DexVm.Version;
import com.android.tools.r8.ir.optimize.Inliner.Reason;
import com.android.tools.r8.utils.AndroidApiLevel;
@@ -29,9 +28,7 @@
import java.util.Collection;
import java.util.Objects;
import java.util.function.Function;
-import org.junit.ClassRule;
import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.objectweb.asm.ClassWriter;
@@ -83,8 +80,6 @@
this.enableVerticalClassMerging = enableVerticalClassMerging;
}
- @ClassRule public static TemporaryFolder staticTemp = ToolHelper.getTemporaryFolderForTest();
-
private static Function<Boolean, String> expectedResults =
memoizeFunction(NonVirtualOverrideTest::getExpectedResult);
@@ -92,7 +87,7 @@
memoizeFunction(NonVirtualOverrideTest::compile);
public static String getExpectedResult(boolean isOldVm) throws Exception {
- Path referenceJar = staticTemp.getRoot().toPath().resolve("input.jar");
+ Path referenceJar = getStaticTemp().getRoot().toPath().resolve("input.jar");
ArchiveConsumer inputConsumer = new ArchiveConsumer(referenceJar);
inputConsumer.accept(
ByteDataView.of(NonVirtualOverrideTestClassDump.dump()),
@@ -128,7 +123,7 @@
}
public static R8TestCompileResult compile(Dimensions dimensions) throws Exception {
- return testForR8(staticTemp, dimensions.backend)
+ return testForR8(getStaticTemp(), dimensions.backend)
.addProgramClassFileData(
NonVirtualOverrideTestClassDump.dump(), ADump.dump(), BDump.dump(), CDump.dump())
.addKeepMainRule(NonVirtualOverrideTestClass.class)
diff --git a/src/test/java/com/android/tools/r8/shaking/TreeShakingSpecificTest.java b/src/test/java/com/android/tools/r8/shaking/TreeShakingSpecificTest.java
index eacb522..a5a7c88 100644
--- a/src/test/java/com/android/tools/r8/shaking/TreeShakingSpecificTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/TreeShakingSpecificTest.java
@@ -50,9 +50,6 @@
parameters.assertNoneRuntime();
}
- @Rule
- public TemporaryFolder temp = ToolHelper.getTemporaryFolderForTest();
-
private Path getProgramFiles(String test) {
return Paths.get(EXAMPLES_BUILD_DIR, test + ".jar");
}
diff --git a/src/test/java/com/android/tools/r8/shaking/assumenosideeffects/AssumenosideeffectsVisibleMethodsTest.java b/src/test/java/com/android/tools/r8/shaking/assumenosideeffects/AssumenosideeffectsVisibleMethodsTest.java
index 05fa461..bb3c520 100644
--- a/src/test/java/com/android/tools/r8/shaking/assumenosideeffects/AssumenosideeffectsVisibleMethodsTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/assumenosideeffects/AssumenosideeffectsVisibleMethodsTest.java
@@ -17,9 +17,7 @@
import java.nio.file.Path;
import java.util.Collection;
import org.junit.BeforeClass;
-import org.junit.ClassRule;
import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
@@ -130,18 +128,15 @@
this.config = config;
}
- @ClassRule
- public static TemporaryFolder staticTemp = ToolHelper.getTemporaryFolderForTest();
-
private static Path libJarPath;
private static Path libDexPath;
@BeforeClass
public static void prepareLib() throws Exception {
- libJarPath = staticTemp.newFile("lib.jar").toPath().toAbsolutePath();
+ libJarPath = getStaticTemp().newFile("lib.jar").toPath().toAbsolutePath();
writeClassesToJar(libJarPath, ImmutableList.of(LibraryBase.class));
- libDexPath = staticTemp.newFile("lib.dex").toPath().toAbsolutePath();
- testForD8(staticTemp)
+ libDexPath = getStaticTemp().newFile("lib.dex").toPath().toAbsolutePath();
+ testForD8(getStaticTemp())
.addProgramFiles(libJarPath)
.setMinApi(AndroidApiLevel.B)
.setProgramConsumer(new ArchiveConsumer(libDexPath))
diff --git a/src/test/java/com/android/tools/r8/shaking/assumenosideeffects/AssumenosideeffectsWithoutMatchingDefinitionTest.java b/src/test/java/com/android/tools/r8/shaking/assumenosideeffects/AssumenosideeffectsWithoutMatchingDefinitionTest.java
index a7f1914..65687cc4 100644
--- a/src/test/java/com/android/tools/r8/shaking/assumenosideeffects/AssumenosideeffectsWithoutMatchingDefinitionTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/assumenosideeffects/AssumenosideeffectsWithoutMatchingDefinitionTest.java
@@ -10,7 +10,6 @@
import com.android.tools.r8.DexIndexedConsumer.ArchiveConsumer;
import com.android.tools.r8.TestBase;
import com.android.tools.r8.TestParameters;
-import com.android.tools.r8.ToolHelper;
import com.android.tools.r8.errors.Unreachable;
import com.android.tools.r8.utils.AndroidApiLevel;
import com.android.tools.r8.utils.StringUtils;
@@ -21,9 +20,7 @@
import java.nio.file.Path;
import java.util.Collection;
import org.junit.BeforeClass;
-import org.junit.ClassRule;
import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameter;
@@ -88,18 +85,15 @@
@Parameter(1)
public TestConfig config;
- @ClassRule
- public static TemporaryFolder staticTemp = ToolHelper.getTemporaryFolderForTest();
-
private static Path libJarPath;
private static Path libDexPath;
@BeforeClass
public static void prepareLibJar() throws Exception {
- libJarPath = staticTemp.newFile("lib.jar").toPath().toAbsolutePath();
+ libJarPath = getStaticTemp().newFile("lib.jar").toPath().toAbsolutePath();
writeClassesToJar(libJarPath, ImmutableList.of(LibraryBase.class, LibrarySub.class));
- libDexPath = staticTemp.newFile("lib.dex").toPath().toAbsolutePath();
- testForD8(staticTemp)
+ libDexPath = getStaticTemp().newFile("lib.dex").toPath().toAbsolutePath();
+ testForD8(getStaticTemp())
.addProgramFiles(libJarPath)
.setMinApi(AndroidApiLevel.B)
.setProgramConsumer(new ArchiveConsumer(libDexPath))
diff --git a/src/test/java/com/android/tools/r8/utils/GenerateMainDexListCommandTest.java b/src/test/java/com/android/tools/r8/utils/GenerateMainDexListCommandTest.java
index f681673..becf21f 100644
--- a/src/test/java/com/android/tools/r8/utils/GenerateMainDexListCommandTest.java
+++ b/src/test/java/com/android/tools/r8/utils/GenerateMainDexListCommandTest.java
@@ -14,6 +14,7 @@
import com.android.tools.r8.GenerateMainDexList;
import com.android.tools.r8.GenerateMainDexListCommand;
import com.android.tools.r8.StringConsumer;
+import com.android.tools.r8.TestBase;
import com.android.tools.r8.ToolHelper;
import com.android.tools.r8.ToolHelper.ProcessResult;
import com.android.tools.r8.origin.Origin;
@@ -30,16 +31,12 @@
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
-import org.junit.rules.TemporaryFolder;
-public class GenerateMainDexListCommandTest {
+public class GenerateMainDexListCommandTest extends TestBase {
@Rule
public ExpectedException thrown = ExpectedException.none();
- @Rule
- public TemporaryFolder temp = ToolHelper.getTemporaryFolderForTest();
-
private Path getOutputPath(GenerateMainDexListCommand command) {
StringConsumer consumer = command.getMainDexListConsumer();
if (consumer instanceof JoiningStringConsumer) {