From acf7dbf811e28e8cff94deb2846a9332f9879dff Mon Sep 17 00:00:00 2001 From: Trustin Lee Date: Sat, 7 Dec 2013 12:15:44 +0900 Subject: [PATCH] Fix buffer leaks in BinaryMemcacheEncoderTest --- .../binary/BinaryMemcacheEncoderTest.java | 25 +++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/codec-memcache/src/test/java/io/netty/handler/codec/memcache/binary/BinaryMemcacheEncoderTest.java b/codec-memcache/src/test/java/io/netty/handler/codec/memcache/binary/BinaryMemcacheEncoderTest.java index 37a2708e1d..d922e3cfcd 100644 --- a/codec-memcache/src/test/java/io/netty/handler/codec/memcache/binary/BinaryMemcacheEncoderTest.java +++ b/codec-memcache/src/test/java/io/netty/handler/codec/memcache/binary/BinaryMemcacheEncoderTest.java @@ -22,6 +22,7 @@ import io.netty.handler.codec.EncoderException; import io.netty.handler.codec.memcache.DefaultLastMemcacheContent; import io.netty.handler.codec.memcache.DefaultMemcacheContent; import io.netty.util.CharsetUtil; +import org.junit.After; import org.junit.Before; import org.junit.Test; @@ -43,6 +44,11 @@ public class BinaryMemcacheEncoderTest { channel = new EmbeddedChannel(new BinaryMemcacheRequestEncoder()); } + @After + public void teardown() throws Exception { + channel.finish(); + } + @Test public void shouldEncodeDefaultHeader() { BinaryMemcacheRequestHeader header = new DefaultBinaryMemcacheRequestHeader(); @@ -55,6 +61,7 @@ public class BinaryMemcacheEncoderTest { assertThat(written.readableBytes(), is(DEFAULT_HEADER_SIZE)); assertThat(written.readByte(), is((byte) 0x80)); assertThat(written.readByte(), is((byte) 0x00)); + written.release(); } @Test @@ -71,6 +78,7 @@ public class BinaryMemcacheEncoderTest { assertThat(written.readableBytes(), is(DEFAULT_HEADER_SIZE)); assertThat(written.readByte(), is((byte) 0xAA)); assertThat(written.readByte(), is(BinaryMemcacheOpcodes.GET)); + written.release(); } @Test @@ -89,6 +97,7 @@ public class BinaryMemcacheEncoderTest { assertThat(written.readableBytes(), is(DEFAULT_HEADER_SIZE + extrasLength)); written.readBytes(DEFAULT_HEADER_SIZE); assertThat(written.readBytes(extrasLength).toString(CharsetUtil.UTF_8), equalTo(extrasContent)); + written.release(); } @Test @@ -106,6 +115,7 @@ public class BinaryMemcacheEncoderTest { assertThat(written.readableBytes(), is(DEFAULT_HEADER_SIZE + keyLength)); written.readBytes(DEFAULT_HEADER_SIZE); assertThat(written.readBytes(keyLength).toString(CharsetUtil.UTF_8), equalTo(key)); + written.release(); } @Test @@ -132,22 +142,23 @@ public class BinaryMemcacheEncoderTest { written = (ByteBuf) channel.readOutbound(); assertThat(written.readableBytes(), is(content1.content().readableBytes())); assertThat( - written.readBytes(content1.content().readableBytes()).toString(CharsetUtil.UTF_8), - is("Netty") + written.readBytes(content1.content().readableBytes()).toString(CharsetUtil.UTF_8), + is("Netty") ); + written.release(); + written = (ByteBuf) channel.readOutbound(); assertThat(written.readableBytes(), is(content2.content().readableBytes())); assertThat( - written.readBytes(content2.content().readableBytes()).toString(CharsetUtil.UTF_8), - is(" Rocks!") + written.readBytes(content2.content().readableBytes()).toString(CharsetUtil.UTF_8), + is(" Rocks!") ); + written.release(); } @Test(expected = EncoderException.class) public void shouldFailWithoutLastContent() { channel.writeOutbound(new DefaultMemcacheContent(Unpooled.EMPTY_BUFFER)); - channel.writeOutbound( - new DefaultBinaryMemcacheRequest(new DefaultBinaryMemcacheRequestHeader())); + channel.writeOutbound(new DefaultBinaryMemcacheRequest(new DefaultBinaryMemcacheRequestHeader())); } - }