Fix test expectations and file access
Change-Id: I5a0794d7c96d4ec7271dfb5e5c73b3752f10cd2e
diff --git a/src/library_desugar/java/desugar/sun/nio/fs/DesugarAndroidFileSystemProvider.java b/src/library_desugar/java/desugar/sun/nio/fs/DesugarAndroidFileSystemProvider.java
index 0f42b83..42a3f91 100644
--- a/src/library_desugar/java/desugar/sun/nio/fs/DesugarAndroidFileSystemProvider.java
+++ b/src/library_desugar/java/desugar/sun/nio/fs/DesugarAndroidFileSystemProvider.java
@@ -65,7 +65,7 @@
@Override
public void createDirectory(Path dir, FileAttribute<?>... attrs) throws IOException {
- if (!Files.exists(dir.getParent())) {
+ if (dir.getParent() != null && !Files.exists(dir.getParent())) {
throw new NoSuchFileException(dir.toString());
}
super.createDirectory(dir, attrs);
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/ExtractWrapperTypesTest.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/ExtractWrapperTypesTest.java
index 08bfb99..a54633b 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/ExtractWrapperTypesTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/ExtractWrapperTypesTest.java
@@ -123,7 +123,13 @@
// TODO(b/238179854): Investigate how to fix these.
private static final Set<String> MISSING_GENERIC_TYPE_CONVERSION_PATH =
- ImmutableSet.of("java.lang.Iterable java.nio.file.FileSystem.getFileStores()");
+ ImmutableSet.of(
+ "java.lang.Iterable java.nio.file.FileSystem.getFileStores()",
+ // The Acl seems to be unusable on Android anyway.
+ "java.util.Set java.nio.file.attribute.AclEntry.permissions()",
+ "java.util.Set java.nio.file.attribute.AclEntry.flags()",
+ "java.util.List java.nio.file.attribute.AclFileAttributeView.getAcl()",
+ "void java.nio.file.attribute.AclFileAttributeView.setAcl(java.util.List)");
// TODO(b/238179854): Investigate how to fix these.
private static final Set<String> MISSING_GENERIC_TYPE_CONVERSION_FLOW =
@@ -301,7 +307,10 @@
// java.util.stream.Collector$Characteristics is required for api generic type conversion
// on JDK8, but that is not supported on legacy specification used for JDK8 and on old
// R8 compiler versions.
- int expectedMissingWrappers = libraryDesugaringSpecification == JDK8 ? 1 : 0;
+ int expectedMissingWrappers =
+ libraryDesugaringSpecification == JDK8
+ ? 1
+ : (libraryDesugaringSpecification == JDK11_PATH ? 4 : 0);
{
Set<String> missingWrappers = getMissingWrappers(indirectWrappers, wrappersInSpec);