diff options
author | dormando <dormando@rydia.net> | 2016-07-12 22:54:41 -0700 |
---|---|---|
committer | dormando <dormando@rydia.net> | 2016-07-12 22:54:41 -0700 |
commit | 5627405fe0c299d96b541768f48cbf234ead6969 (patch) | |
tree | 36cff741e711a94bc01d71bb875465828b91bd07 /t/chunked-items.t | |
parent | 9c92c3a2100989f67b2b51c744f0d6c8c76d699e (diff) | |
download | memcached-5627405fe0c299d96b541768f48cbf234ead6969.tar.gz |
fix test RAM bloat and more 32bit offsets.
when doing tests with long strings the results are buffered... so doing
thousands of tests with long strings was using more than a gig of ram. now we
just summarize if any were different.
also fixes more offset stuff.
Diffstat (limited to 't/chunked-items.t')
-rw-r--r-- | t/chunked-items.t | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/t/chunked-items.t b/t/chunked-items.t index 1b5b0dd..6f4fc87 100644 --- a/t/chunked-items.t +++ b/t/chunked-items.t @@ -62,20 +62,27 @@ for (1..5) { } # Test long appends and prepends. +# Note: memory bloats like crazy if we use one test per request. { 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"); + my $unexpected = 0; 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); + my $todo = $part . "x" x 10; + $str .= $todo; + my $len = length($todo); + print $sock "append appender 0 0 $len\r\n$todo\r\n"; + is(scalar <$sock>, "STORED\r\n", "appened $todo size $len"); + print $sock "get appender\r\n"; + my $header = scalar <$sock>; + my $body = scalar <$sock>; + my $end = scalar <$sock>; + $unexpected++ unless $body eq "$str\r\n"; } + is($unexpected, 0, "No unexpected results during appends\n"); # 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"; @@ -90,6 +97,7 @@ for (1..5) { 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"); + my $unexpected = 0; for my $part (@parts) { # reduce required loops but still have a pattern. $part .= "x" x 10; @@ -97,9 +105,14 @@ for (1..5) { 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); + print $sock "get prepender\r\n"; + my $header = scalar <$sock>; + my $body = scalar <$sock>; + my $end = scalar <$sock>; + $unexpected++ unless $body eq "$str\r\n"; } - # Now test appending a chunked item to a chunked item. + is($unexpected, 0, "No unexpected results during prepends\n"); + # Now test prepending 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"); |