diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowParcelFileDescriptorTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowParcelFileDescriptorTest.java index 3a1f65d0f3c..b68c5744edd 100644 --- a/robolectric/src/test/java/org/robolectric/shadows/ShadowParcelFileDescriptorTest.java +++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowParcelFileDescriptorTest.java @@ -2,20 +2,20 @@ import static com.google.common.truth.Truth.assertThat; import static org.junit.Assert.assertThrows; -import static org.junit.Assume.assumeThat; import android.os.ParcelFileDescriptor; import androidx.test.core.app.ApplicationProvider; import androidx.test.ext.junit.runners.AndroidJUnit4; import java.io.File; +import java.io.FileDescriptor; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; -import org.hamcrest.Matchers; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; +import org.robolectric.util.ReflectionHelpers; @RunWith(AndroidJUnit4.class) public class ShadowParcelFileDescriptorTest { @@ -255,13 +255,15 @@ public void testCreatePipeTwice() throws IOException { @Test public void testGetFd_canRead() throws IOException { - assumeThat("Windows is an affront to decency.", - File.separator, Matchers.equalTo("/")); - pfd = ParcelFileDescriptor.open(readOnlyFile, ParcelFileDescriptor.MODE_READ_ONLY); int fd = pfd.getFd(); assertThat(fd).isGreaterThan(0); - FileInputStream is = new FileInputStream(new File("/proc/self/fd/" + fd)); + + final FileDescriptor fileDescriptor = pfd.getFileDescriptor(); + assertThat(fileDescriptor.valid()).isTrue(); + assertThat(fd).isEqualTo(ReflectionHelpers.getField(fileDescriptor, "fd")); + + FileInputStream is = new FileInputStream(fileDescriptor); assertThat(is.read()).isEqualTo(READ_ONLY_FILE_CONTENTS); is.close(); }