diff options
author | Tomash Brechko <tomash.brechko@gmail.com> | 2008-02-22 04:57:41 +0000 |
---|---|---|
committer | Tomash Brechko <tomash.brechko@gmail.com> | 2008-02-22 04:57:41 +0000 |
commit | d9ece78091f1dc15332b16131258fb25d9ba3224 (patch) | |
tree | 850b51c15d6d5b00493f850bfd37e6666e186865 /t/noreply.t | |
parent | 57e3367ce4ba3f1bfd562ddf87c270c51a19bfa9 (diff) | |
download | memcached-d9ece78091f1dc15332b16131258fb25d9ba3224.tar.gz |
Implement 'noreply' option for update commands. (Tomash Brechko <tomash.brechko@gmail.com>)
Commands add, set, replace, append, prepend, cas, delete, incr, decr,
flush_all, verbosity can take last optional parameter, 'noreply',
which instructs the server to not send the reply.
Add benchmark script for noreply parameter.
git-svn-id: http://code.sixapart.com/svn/memcached/trunk/server@708 b0b603af-a30f-0410-a34e-baf09ae79d0b
Diffstat (limited to 't/noreply.t')
-rw-r--r-- | t/noreply.t | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/t/noreply.t b/t/noreply.t new file mode 100644 index 0000000..c1457b0 --- /dev/null +++ b/t/noreply.t @@ -0,0 +1,53 @@ +#!/usr/bin/perl + +use strict; +use Test::More tests => 10; +use FindBin qw($Bin); +use lib "$Bin/lib"; +use MemcachedTest; + + +my $server = new_memcached(); +my $sock = $server->sock; + + +# Test that commands can take 'noreply' parameter. +print $sock "flush_all noreply\r\n"; +print $sock "flush_all 0 noreply\r\n"; + +print $sock "verbosity 0 noreply\r\n"; + +print $sock "add noreply:foo 0 0 1 noreply\r\n1\r\n"; +mem_get_is($sock, "noreply:foo", "1"); + +print $sock "set noreply:foo 0 0 1 noreply\r\n2\r\n"; +mem_get_is($sock, "noreply:foo", "2"); + +print $sock "replace noreply:foo 0 0 1 noreply\r\n3\r\n"; +mem_get_is($sock, "noreply:foo", "3"); + +print $sock "append noreply:foo 0 0 1 noreply\r\n4\r\n"; +mem_get_is($sock, "noreply:foo", "34"); + +print $sock "prepend noreply:foo 0 0 1 noreply\r\n5\r\n"; +my @result = mem_gets($sock, "noreply:foo"); +ok($result[1] eq "534"); + +print $sock "cas noreply:foo 0 0 1 $result[0] noreply\r\n6\r\n"; +mem_get_is($sock, "noreply:foo", "6"); + +print $sock "incr noreply:foo 3 noreply\r\n"; +mem_get_is($sock, "noreply:foo", "9"); + +print $sock "decr noreply:foo 2 noreply\r\n"; +mem_get_is($sock, "noreply:foo", "7"); + +print $sock "delete noreply:foo noreply\r\n"; +mem_get_is($sock, "noreply:foo"); + +# Test that delete accepts both <time> and 'noreply'. +print $sock "add noreply:foo 0 0 1 noreply\r\n1\r\n"; +print $sock "delete noreply:foo 10 noreply\r\n"; +print $sock "add noreply:foo 0 0 1 noreply\r\n1\r\n"; +# undef result means we couldn't add an entry because the key is locked. +mem_get_is($sock, "noreply:foo"); |