Merge "Fix Os.getDefault() BlockGuard test."
diff --git a/luni/src/test/java/libcore/libcore/io/BlockGuardOsTest.java b/luni/src/test/java/libcore/libcore/io/BlockGuardOsTest.java
index 91d7c3a..471906f 100644
--- a/luni/src/test/java/libcore/libcore/io/BlockGuardOsTest.java
+++ b/luni/src/test/java/libcore/libcore/io/BlockGuardOsTest.java
@@ -24,6 +24,7 @@
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
+import android.system.ErrnoException;
import android.system.OsConstants;
import android.system.StructAddrinfo;
@@ -58,22 +59,42 @@
@Mock private Os mockOsDelegate;
@Mock private BlockGuard.Policy mockThreadPolicy;
+ @Mock private BlockGuard.VmPolicy mockVmPolicy;
private BlockGuard.Policy savedThreadPolicy;
+ private BlockGuard.VmPolicy savedVmPolicy;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
savedThreadPolicy = BlockGuard.getThreadPolicy();
+ savedVmPolicy = BlockGuard.getVmPolicy();
BlockGuard.setThreadPolicy(mockThreadPolicy);
+ BlockGuard.setVmPolicy(mockVmPolicy);
}
@After
public void tearDown() {
+ BlockGuard.setVmPolicy(savedVmPolicy);
BlockGuard.setThreadPolicy(savedThreadPolicy);
}
@Test
+ public void test_blockguardOsIsNotifiedByDefault_rename() {
+ String oldPath = "BlockGuardOsTest/missing/old/path";
+ String newPath = "BlockGuardOsTest/missing/new/path";
+ try {
+ // We try not to be prescriptive about the exact default Os implementation.
+ // Whatever default Os is installed, we do expect BlockGuard to be called.
+ Os.getDefault().rename(oldPath, newPath);
+ } catch (ErrnoException ignored) {
+ }
+ verify(mockThreadPolicy).onWriteToDisk();
+ verify(mockVmPolicy).onPathAccess(oldPath);
+ verify(mockVmPolicy).onPathAccess(newPath);
+ }
+
+ @Test
public void test_android_getaddrinfo_networkPolicy() {
InetAddress[] addresses = new InetAddress[] { InetAddress.getLoopbackAddress() };
when(mockOsDelegate.android_getaddrinfo(anyString(), any(), anyInt()))
diff --git a/luni/src/test/java/libcore/libcore/io/OsTest.java b/luni/src/test/java/libcore/libcore/io/OsTest.java
index 0b66d96..6359f87 100644
--- a/luni/src/test/java/libcore/libcore/io/OsTest.java
+++ b/luni/src/test/java/libcore/libcore/io/OsTest.java
@@ -18,7 +18,6 @@
import junit.framework.TestCase;
-import libcore.io.BlockGuardOs;
import libcore.io.ForwardingOs;
import libcore.io.Os;
@@ -26,11 +25,6 @@
public class OsTest extends TestCase {
- public void testGetDefault_instanceofBlockguardOs() {
- Os os = Os.getDefault();
- assertTrue(os.getClass().toString(), os instanceof BlockGuardOs);
- }
-
public void testCompareAndSetDefault_success() throws Exception {
Os defaultOs = Os.getDefault();
Os mockOs = Mockito.mock(Os.class);