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);