summaryrefslogtreecommitdiffstats
path: root/core/tests
diff options
context:
space:
mode:
Diffstat (limited to 'core/tests')
-rw-r--r--core/tests/coretests/src/android/net/netlink/NetlinkSocketTest.java23
1 files changed, 23 insertions, 0 deletions
diff --git a/core/tests/coretests/src/android/net/netlink/NetlinkSocketTest.java b/core/tests/coretests/src/android/net/netlink/NetlinkSocketTest.java
index b32de78..c599fe3 100644
--- a/core/tests/coretests/src/android/net/netlink/NetlinkSocketTest.java
+++ b/core/tests/coretests/src/android/net/netlink/NetlinkSocketTest.java
@@ -90,4 +90,27 @@ public class NetlinkSocketTest extends TestCase {
s.close();
}
+
+ public void testRepeatedCloseCallsAreQuiet() throws Exception {
+ // Create a working NetlinkSocket.
+ NetlinkSocket s = new NetlinkSocket(OsConstants.NETLINK_ROUTE);
+ assertNotNull(s);
+ s.connectToKernel();
+ NetlinkSocketAddress localAddr = s.getLocalAddress();
+ assertNotNull(localAddr);
+ assertEquals(0, localAddr.getGroupsMask());
+ assertTrue(0 != localAddr.getPortId());
+ // Close once.
+ s.close();
+ // Test that it is closed.
+ boolean expectedErrorSeen = false;
+ try {
+ localAddr = s.getLocalAddress();
+ } catch (ErrnoException e) {
+ expectedErrorSeen = true;
+ }
+ assertTrue(expectedErrorSeen);
+ // Close once more.
+ s.close();
+ }
}