diff options
-rw-r--r-- | luni/src/test/java/libcore/libcore/io/BlockGuardOsTest.java | 21 | ||||
-rw-r--r-- | luni/src/test/java/libcore/libcore/io/OsTest.java | 6 |
2 files changed, 21 insertions, 6 deletions
diff --git a/luni/src/test/java/libcore/libcore/io/BlockGuardOsTest.java b/luni/src/test/java/libcore/libcore/io/BlockGuardOsTest.java index 91d7c3aa02..471906f622 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.junit.runners.JUnit4; import org.mockito.Mock; import org.mockito.MockitoAnnotations; +import android.system.ErrnoException; import android.system.OsConstants; import android.system.StructAddrinfo; @@ -58,22 +59,42 @@ public class BlockGuardOsTest { @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 0b66d96400..6359f877f9 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 @@ package libcore.libcore.io; import junit.framework.TestCase; -import libcore.io.BlockGuardOs; import libcore.io.ForwardingOs; import libcore.io.Os; @@ -26,11 +25,6 @@ import org.mockito.Mockito; 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); |