Fixing spammy logging for CoalescingBufferQueueTest

Motivation:

The CoalescingBufferQueueTest is somewhat relaxed with its releasing of test buffers, using safeRelease to generically deal with tests that may or may not release the buffers. SafeRelease generates logs, however, when the release fails.

Modifications:

Tightened up the individual test methods to verify that the buffers are released properly.

Result:

Fixes #4497
This commit is contained in:
nmittler 2015-11-25 06:50:30 -08:00
parent 3fa4603120
commit 227e67900e

View File

@ -20,7 +20,6 @@ import io.netty.channel.embedded.EmbeddedChannel;
import io.netty.util.CharsetUtil;
import io.netty.util.ReferenceCountUtil;
import io.netty.util.concurrent.ImmediateEventExecutor;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.mockito.MockitoAnnotations;
@ -67,12 +66,6 @@ public class CoalescingBufferQueueTest {
mouse = Unpooled.wrappedBuffer("mouse".getBytes(CharsetUtil.US_ASCII));
}
@After
public void tearDown() {
ReferenceCountUtil.safeRelease(cat);
ReferenceCountUtil.safeRelease(mouse);
}
@Test
public void testAggregateWithFullRead() {
writeQueue.add(cat, catPromise);
@ -84,9 +77,11 @@ public class CoalescingBufferQueueTest {
assertQueueSize(0, true);
assertFalse(catPromise.isSuccess());
assertFalse(mouseDone);
aggregatePromise.trySuccess();
aggregatePromise.setSuccess();
assertTrue(catPromise.isSuccess());
assertTrue(mouseSuccess);
assertEquals(0, cat.refCnt());
assertEquals(0, mouse.refCnt());
}
@Test
@ -98,6 +93,8 @@ public class CoalescingBufferQueueTest {
assertQueueSize(4, false);
assertEquals("ouse", dequeue(4, newPromise()));
assertQueueSize(0, true);
assertEquals(0, cat.refCnt());
assertEquals(0, mouse.refCnt());
}
@Test
@ -109,7 +106,7 @@ public class CoalescingBufferQueueTest {
assertQueueSize(4, false);
assertFalse(catPromise.isSuccess());
assertFalse(mouseDone);
aggregatePromise.trySuccess();
aggregatePromise.setSuccess();
assertTrue(catPromise.isSuccess());
assertFalse(mouseDone);
@ -117,29 +114,40 @@ public class CoalescingBufferQueueTest {
assertEquals("ouse", dequeue(Integer.MAX_VALUE, aggregatePromise));
assertQueueSize(0, true);
assertFalse(mouseDone);
aggregatePromise.trySuccess();
aggregatePromise.setSuccess();
assertTrue(mouseSuccess);
assertEquals(0, cat.refCnt());
assertEquals(0, mouse.refCnt());
}
@Test
public void testReadExactAddedBufferSizeReturnsOriginal() {
writeQueue.add(cat, catPromise);
writeQueue.add(mouse, mouseListener);
DefaultChannelPromise aggregatePromise = newPromise();
assertSame(cat, writeQueue.remove(3, aggregatePromise));
assertFalse(catPromise.isSuccess());
aggregatePromise.trySuccess();
aggregatePromise.setSuccess();
assertTrue(catPromise.isSuccess());
assertEquals(1, cat.refCnt());
cat.release();
aggregatePromise = newPromise();
assertSame(mouse, writeQueue.remove(5, aggregatePromise));
assertFalse(mouseDone);
aggregatePromise.trySuccess();
aggregatePromise.setSuccess();
assertTrue(mouseSuccess);
assertEquals(1, mouse.refCnt());
mouse.release();
}
@Test
public void testReadEmptyQueueReturnsEmptyBuffer() {
// Not used in this test.
cat.release();
mouse.release();
assertQueueSize(0, true);
DefaultChannelPromise aggregatePromise = newPromise();
assertEquals("", dequeue(Integer.MAX_VALUE, aggregatePromise));
@ -173,7 +181,7 @@ public class CoalescingBufferQueueTest {
assertQueueSize(0, true);
assertFalse(catPromise.isSuccess());
assertFalse(emptyPromise.isSuccess());
aggregatePromise.trySuccess();
aggregatePromise.setSuccess();
assertTrue(catPromise.isSuccess());
assertTrue(emptyPromise.isSuccess());
assertEquals(0, cat.refCnt());
@ -192,9 +200,11 @@ public class CoalescingBufferQueueTest {
assertQueueSize(0, true);
assertFalse(catPromise.isSuccess());
assertFalse(mouseDone);
aggregatePromise.trySuccess();
aggregatePromise.setSuccess();
assertTrue(catPromise.isSuccess());
assertTrue(mouseSuccess);
assertEquals(0, cat.refCnt());
assertEquals(0, mouse.refCnt());
}
private DefaultChannelPromise newPromise() {