Ensure output directory for test mock classes exists, again.
This is an extended version of go/r8g/45519, which attempted to remedy
go/r8g/45513 (tooling for Java source compilation).
Test: remove build/classes/java/jdk11Tests and run
$ tools/test.py *Jdk11*
Change-Id: Iab15a47d71deb43512060403985b3a4ca4b3c2a9
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/desugaredlibraryjdktests/Jdk11AtomicTests.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/desugaredlibraryjdktests/Jdk11AtomicTests.java
index 313dc3e..db0a09a 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/desugaredlibraryjdktests/Jdk11AtomicTests.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/desugaredlibraryjdktests/Jdk11AtomicTests.java
@@ -15,6 +15,7 @@
import com.android.tools.r8.ToolHelper.DexVm.Version;
import com.android.tools.r8.utils.BooleanUtils;
import com.android.tools.r8.utils.StringUtils;
+import java.io.File;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Collections;
@@ -62,6 +63,8 @@
@BeforeClass
public static void compileAtomicClasses() throws Exception {
+ File atomicClassesDir = new File(ATOMIC_COMPILED_TESTS_FOLDER.toString());
+ assert atomicClassesDir.exists() || atomicClassesDir.mkdirs();
javac(CfVm.JDK11, getStaticTemp())
.addClasspathFiles(
Collections.singletonList(Paths.get(JDK_TESTS_BUILD_DIR + "testng-6.10.jar")))
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/desugaredlibraryjdktests/Jdk11ConcurrentMapTests.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/desugaredlibraryjdktests/Jdk11ConcurrentMapTests.java
index 7caa2ee..71458f0 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/desugaredlibraryjdktests/Jdk11ConcurrentMapTests.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/desugaredlibraryjdktests/Jdk11ConcurrentMapTests.java
@@ -22,6 +22,7 @@
import com.android.tools.r8.utils.BooleanUtils;
import com.android.tools.r8.utils.StringUtils;
import com.android.tools.r8.utils.codeinspector.CodeInspector;
+import java.io.File;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
@@ -73,30 +74,35 @@
}
@BeforeClass
- public static void compileAtomicClasses() throws Exception {
+ public static void compileConcurrentClasses() throws Exception {
+ File concurrentClassesDir = new File(CONCURRENT_COMPILED_TESTS_FOLDER.toString());
+ assert concurrentClassesDir.exists() || concurrentClassesDir.mkdirs();
javac(CfVm.JDK11, getStaticTemp())
.addClasspathFiles(
Collections.singletonList(Paths.get(JDK_TESTS_BUILD_DIR + "testng-6.10.jar")))
.addSourceFiles(getAllFilesWithSuffixInDirectory(CONCURRENT_TESTS_FOLDER, JAVA_EXTENSION))
.setOutputPath(CONCURRENT_COMPILED_TESTS_FOLDER)
.compile();
- List<Path> concHashFilesAndDependencies = new ArrayList<>();
+ CONCURRENT_COMPILED_TESTS_FILES =
+ getAllFilesWithSuffixInDirectory(CONCURRENT_COMPILED_TESTS_FOLDER, CLASS_EXTENSION);
+ assert CONCURRENT_COMPILED_TESTS_FILES.length > 0;
+
+ List<Path> concurrentHashFilesAndDependencies = new ArrayList<>();
Collections.addAll(
- concHashFilesAndDependencies,
+ concurrentHashFilesAndDependencies,
getAllFilesWithSuffixInDirectory(CONCURRENT_HASH_TESTS_FOLDER, JAVA_EXTENSION));
- Collections.addAll(concHashFilesAndDependencies, SUPPORT_LIBS);
- Path[] classesToCompile = concHashFilesAndDependencies.toArray(new Path[0]);
+ Collections.addAll(concurrentHashFilesAndDependencies, SUPPORT_LIBS);
+ Path[] classesToCompile = concurrentHashFilesAndDependencies.toArray(new Path[0]);
+ File concurrentHashClassesDir = new File(CONCURRENT_HASH_COMPILED_TESTS_FOLDER.toString());
+ assert concurrentHashClassesDir.exists() || concurrentHashClassesDir.mkdirs();
javac(CfVm.JDK11, getStaticTemp())
.addClasspathFiles(
Collections.singletonList(Paths.get(JDK_TESTS_BUILD_DIR + "testng-6.10.jar")))
.addSourceFiles(classesToCompile)
.setOutputPath(CONCURRENT_HASH_COMPILED_TESTS_FOLDER)
.compile();
- CONCURRENT_COMPILED_TESTS_FILES =
- getAllFilesWithSuffixInDirectory(CONCURRENT_COMPILED_TESTS_FOLDER, CLASS_EXTENSION);
CONCURRENT_HASH_COMPILED_TESTS_FILES =
getAllFilesWithSuffixInDirectory(CONCURRENT_HASH_COMPILED_TESTS_FOLDER, CLASS_EXTENSION);
- assert CONCURRENT_COMPILED_TESTS_FILES.length > 0;
assert CONCURRENT_HASH_COMPILED_TESTS_FILES.length > 0;
}
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/desugaredlibraryjdktests/Jdk11CoreLibTestBase.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/desugaredlibraryjdktests/Jdk11CoreLibTestBase.java
index 5789ce7..ca66c7b 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/desugaredlibraryjdktests/Jdk11CoreLibTestBase.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/desugaredlibraryjdktests/Jdk11CoreLibTestBase.java
@@ -73,22 +73,20 @@
@BeforeClass
public static void compileJavaBaseExtensions() throws Exception {
File extensionClassesDir = new File(JDK_11_JAVA_BASE_EXTENSION_CLASSES_DIR.toString());
- if (!extensionClassesDir.exists()) {
- extensionClassesDir.mkdirs();
- List<String> options =
- Arrays.asList(
- "--add-reads",
- "java.base=ALL-UNNAMED",
- "--patch-module",
- "java.base=" + JDK_11_JAVA_BASE_EXTENSION_FILES_DIR);
- javac(CfVm.JDK11, getStaticTemp())
- .addOptions(options)
- .addClasspathFiles(
- Collections.singletonList(Paths.get(JDK_TESTS_BUILD_DIR + "testng-6.10.jar")))
- .addSourceFiles(getJavaBaseExtensionsFiles())
- .setOutputPath(JDK_11_JAVA_BASE_EXTENSION_CLASSES_DIR)
- .compile();
- }
+ assert extensionClassesDir.exists() || extensionClassesDir.mkdirs();
+ List<String> options =
+ Arrays.asList(
+ "--add-reads",
+ "java.base=ALL-UNNAMED",
+ "--patch-module",
+ "java.base=" + JDK_11_JAVA_BASE_EXTENSION_FILES_DIR);
+ javac(CfVm.JDK11, getStaticTemp())
+ .addOptions(options)
+ .addClasspathFiles(
+ Collections.singletonList(Paths.get(JDK_TESTS_BUILD_DIR + "testng-6.10.jar")))
+ .addSourceFiles(getJavaBaseExtensionsFiles())
+ .setOutputPath(JDK_11_JAVA_BASE_EXTENSION_CLASSES_DIR)
+ .compile();
JDK_11_JAVA_BASE_EXTENSION_COMPILED_FILES =
getAllFilesWithSuffixInDirectory(JDK_11_JAVA_BASE_EXTENSION_CLASSES_DIR, CLASS_EXTENSION);
assert JDK_11_JAVA_BASE_EXTENSION_COMPILED_FILES.length > 0;
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/desugaredlibraryjdktests/Jdk11MathTests.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/desugaredlibraryjdktests/Jdk11MathTests.java
index b5a8e78..9f64237 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/desugaredlibraryjdktests/Jdk11MathTests.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/desugaredlibraryjdktests/Jdk11MathTests.java
@@ -12,6 +12,7 @@
import com.android.tools.r8.TestParametersCollection;
import com.android.tools.r8.TestRuntime.CfVm;
import com.android.tools.r8.ToolHelper;
+import java.io.File;
import java.nio.file.Path;
import java.nio.file.Paths;
import org.junit.Assume;
@@ -65,10 +66,15 @@
@BeforeClass
public static void compileMathClasses() throws Exception {
+ File mathClassesDir = new File(JDK_11_MATH_TESTS_DIR.toString());
+ assert mathClassesDir.exists() || mathClassesDir.mkdirs();
javac(CfVm.JDK11, getStaticTemp())
.addSourceFiles(JDK_11_MATH_JAVA_FILES)
.setOutputPath(JDK_11_MATH_TESTS_DIR)
.compile();
+
+ File strictMathClassesDir = new File(JDK_11_STRICT_MATH_TESTS_DIR.toString());
+ assert strictMathClassesDir.exists() || strictMathClassesDir.mkdirs();
javac(CfVm.JDK11, getStaticTemp())
.addSourceFiles(JDK_11_STRICT_MATH_JAVA_FILES)
.setOutputPath(JDK_11_STRICT_MATH_TESTS_DIR)
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/desugaredlibraryjdktests/Jdk11ObjectsTests.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/desugaredlibraryjdktests/Jdk11ObjectsTests.java
index bba8bb6..730ee1b 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/desugaredlibraryjdktests/Jdk11ObjectsTests.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/desugaredlibraryjdktests/Jdk11ObjectsTests.java
@@ -13,6 +13,7 @@
import com.android.tools.r8.TestRuntime.CfVm;
import com.android.tools.r8.ToolHelper;
import com.android.tools.r8.ToolHelper.DexVm;
+import java.io.File;
import java.nio.file.Path;
import java.nio.file.Paths;
import org.junit.Assume;
@@ -52,6 +53,8 @@
@BeforeClass
public static void compileObjectsClass() throws Exception {
+ File objectsDir = new File(JDK_11_OBJECTS_TESTS_DIR.toString());
+ assert objectsDir.exists() || objectsDir.mkdirs();
javac(CfVm.JDK11, getStaticTemp())
.addSourceFiles(JDK_11_OBJECTS_JAVA_DIR.resolve(BASIC_OBJECTS_TEST + JAVA_EXTENSION))
.setOutputPath(JDK_11_OBJECTS_TESTS_DIR)
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/desugaredlibraryjdktests/Jdk11StreamTests.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/desugaredlibraryjdktests/Jdk11StreamTests.java
index a072386..d08d9d3 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/desugaredlibraryjdktests/Jdk11StreamTests.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/desugaredlibraryjdktests/Jdk11StreamTests.java
@@ -165,21 +165,21 @@
@BeforeClass
public static void compileJdk11StreamTests() throws Exception {
- if (!new File(JDK_11_STREAM_TEST_CLASSES_DIR.toString()).exists()) {
- List<String> options =
- Arrays.asList(
- "--add-reads",
- "java.base=ALL-UNNAMED",
- "--patch-module",
- "java.base=" + JDK_11_JAVA_BASE_EXTENSION_CLASSES_DIR);
- javac(CfVm.JDK11, getStaticTemp())
- .addOptions(options)
- .addClasspathFiles(
- Collections.singletonList(Paths.get(JDK_TESTS_BUILD_DIR + "testng-6.10.jar")))
- .addSourceFiles(getJdk11StreamTestFiles())
- .setOutputPath(JDK_11_STREAM_TEST_CLASSES_DIR)
- .compile();
- }
+ File streamClassesDir = new File(JDK_11_STREAM_TEST_CLASSES_DIR.toString());
+ assert streamClassesDir.exists() || streamClassesDir.mkdirs();
+ List<String> options =
+ Arrays.asList(
+ "--add-reads",
+ "java.base=ALL-UNNAMED",
+ "--patch-module",
+ "java.base=" + JDK_11_JAVA_BASE_EXTENSION_CLASSES_DIR);
+ javac(CfVm.JDK11, getStaticTemp())
+ .addOptions(options)
+ .addClasspathFiles(
+ Collections.singletonList(Paths.get(JDK_TESTS_BUILD_DIR + "testng-6.10.jar")))
+ .addSourceFiles(getJdk11StreamTestFiles())
+ .setOutputPath(JDK_11_STREAM_TEST_CLASSES_DIR)
+ .compile();
JDK_11_STREAM_TEST_COMPILED_FILES =
getAllFilesWithSuffixInDirectory(JDK_11_STREAM_TEST_CLASSES_DIR, CLASS_EXTENSION);
assert JDK_11_STREAM_TEST_COMPILED_FILES.length > 0;