Ensure that we can generate java_base_extension from tmp dir
Atomic move does not allow moving files over a (logical) disk boundary
Bug: b/403415240
Change-Id: Id3f50addc56646311b3d9467165dec6a8970d6f8
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/jdktests/Jdk11TestLibraryDesugaringSpecification.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/jdktests/Jdk11TestLibraryDesugaringSpecification.java
index 3e42517..4abd316 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/jdktests/Jdk11TestLibraryDesugaringSpecification.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/jdktests/Jdk11TestLibraryDesugaringSpecification.java
@@ -25,6 +25,7 @@
import java.util.HashSet;
import java.util.List;
import java.util.Set;
+import java.util.UUID;
import java.util.zip.ZipFile;
import org.junit.rules.TemporaryFolder;
@@ -101,9 +102,13 @@
.compile();
assert new ZipFile(output.toFile()).size() > 0;
+ // Atomic move does not work if the files are on different drives, first move to a random file
+ // next to EXTENSION_PATH file (see b/403415240).
+ Path tmpOnSameDrive = Paths.get(EXTENSION_PATH.toString() + ".tmp." + UUID.randomUUID());
+ Files.move(output, tmpOnSameDrive);
// Move the result into the build/libs folder.
Files.move(
- output,
+ tmpOnSameDrive,
EXTENSION_PATH,
StandardCopyOption.REPLACE_EXISTING,
StandardCopyOption.ATOMIC_MOVE);