Author: mturk
Date: Tue Jun 28 14:42:32 2011
New Revision: 1140653
URL: http://svn.apache.org/viewvc?rev=1140653&view=rev
Log:
Simple Descriptor retention test
Modified:
commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/io/Descriptor.java
commons/sandbox/runtime/trunk/src/main/test/org/apache/commons/runtime/TestPosixEndpoint.java
Modified:
commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/io/Descriptor.java
URL:
http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/io/Descriptor.java?rev=1140653&r1=1140652&r2=1140653&view=diff
==============================================================================
---
commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/io/Descriptor.java
(original)
+++
commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/io/Descriptor.java
Tue Jun 28 14:42:32 2011
@@ -235,6 +235,8 @@ public abstract class Descriptor impleme
{
try {
close();
+ } catch (Exception x) {
+ // Ignore exceptions on finalize
}
finally {
fd = 0L;
Modified:
commons/sandbox/runtime/trunk/src/main/test/org/apache/commons/runtime/TestPosixEndpoint.java
URL:
http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/test/org/apache/commons/runtime/TestPosixEndpoint.java?rev=1140653&r1=1140652&r2=1140653&view=diff
==============================================================================
---
commons/sandbox/runtime/trunk/src/main/test/org/apache/commons/runtime/TestPosixEndpoint.java
(original)
+++
commons/sandbox/runtime/trunk/src/main/test/org/apache/commons/runtime/TestPosixEndpoint.java
Tue Jun 28 14:42:32 2011
@@ -22,6 +22,8 @@ import java.util.List;
import org.testng.annotations.*;
import org.testng.Assert;
+import org.apache.commons.runtime.io.Descriptor;
+
public class TestPosixEndpoint extends Assert
{
@@ -101,6 +103,12 @@ public class TestPosixEndpoint extends A
LocalEndpointAddress sa = new
LocalEndpointAddress("/tmp/acrposixep1.sock");
ss.configureBlocking(false);
ss.bind(sa);
+ // Test Descriptor retention
+ long fd = ss.descriptor().retain();
+ assertFalse(Descriptor.unique(ss.descriptor().fd()));
+ Descriptor.release(fd);
+ assertTrue(Descriptor.unique(ss.descriptor().fd()));
+
// keyFor() should return null since the endpoint
// is not yet registered.
assertNull(ss.keyFor(ps));