diff options
author | dormando <dormando@rydia.net> | 2016-07-09 12:49:43 -0700 |
---|---|---|
committer | dormando <dormando@rydia.net> | 2016-07-12 18:42:46 -0700 |
commit | 5978cf70ddba82ff08034075befd5f855963f556 (patch) | |
tree | b4058df60600067a609254653bf49c639b61e387 /t/chunked-items.t | |
parent | 3e10a71dfe1cbf03037735d49d77a37a40e88ea8 (diff) | |
download | memcached-5978cf70ddba82ff08034075befd5f855963f556.tar.gz |
chunked append/prepend now work.
This is also the only actual tests of append and prepend in the codebase :/
t/binary.t had some simple tests but no others were ever written.
Diffstat (limited to 't/chunked-items.t')
-rw-r--r-- | t/chunked-items.t | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/t/chunked-items.t b/t/chunked-items.t index ea34fd4..1b5b0dd 100644 --- a/t/chunked-items.t +++ b/t/chunked-items.t @@ -61,4 +61,51 @@ for (1..5) { } } +# Test long appends and prepends. +{ + my $str = 'seedstring'; + my $len = length($str); + print $sock "set appender 0 0 $len\r\n$str\r\n"; + is(scalar <$sock>, "STORED\r\n", "stored seed string for append"); + for my $part (@parts) { + # reduce required loops but still have a pattern. + $part .= "x" x 10; + $str .= $part; + my $len = length($part); + print $sock "append appender 0 0 $len\r\n$part\r\n"; + is(scalar <$sock>, "STORED\r\n", "appened $part size $len"); + mem_get_is($sock, "appender", $str); + } + # Now test appending a chunked item to a chunked item. + $len = length($str); + print $sock "append appender 0 0 $len\r\n$str\r\n"; + is(scalar <$sock>, "STORED\r\n", "append large string size $len"); + mem_get_is($sock, "appender", $str . $str); + print $sock "delete appender\r\n"; + is(scalar <$sock>, "DELETED\r\n", "removed appender key"); +} + +{ + my $str = 'seedstring'; + my $len = length($str); + print $sock "set prepender 0 0 $len\r\n$str\r\n"; + is(scalar <$sock>, "STORED\r\n", "stored seed string for append"); + for my $part (@parts) { + # reduce required loops but still have a pattern. + $part .= "x" x 10; + $str = $part . $str; + my $len = length($part); + print $sock "prepend prepender 0 0 $len\r\n$part\r\n"; + is(scalar <$sock>, "STORED\r\n", "prepend $part size $len"); + mem_get_is($sock, "prepender", $str); + } + # Now test appending a chunked item to a chunked item. + $len = length($str); + print $sock "prepend prepender 0 0 $len\r\n$str\r\n"; + is(scalar <$sock>, "STORED\r\n", "prepend large string size $len"); + mem_get_is($sock, "prepender", $str . $str); + print $sock "delete prepender\r\n"; + is(scalar <$sock>, "DELETED\r\n", "removed prepender key"); +} + done_testing(); |