summaryrefslogtreecommitdiff
path: root/t/chunked-items.t
diff options
context:
space:
mode:
authordormando <dormando@rydia.net>2016-07-12 22:54:41 -0700
committerdormando <dormando@rydia.net>2016-07-12 22:54:41 -0700
commit5627405fe0c299d96b541768f48cbf234ead6969 (patch)
tree36cff741e711a94bc01d71bb875465828b91bd07 /t/chunked-items.t
parent9c92c3a2100989f67b2b51c744f0d6c8c76d699e (diff)
downloadmemcached-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.t29
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");