diff options
Diffstat (limited to 'core/tests')
| -rw-r--r-- | core/tests/coretests/src/android/net/netlink/NetlinkSocketTest.java | 23 |
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(); + } } |
