[memcached] bradfitz, r373: make memcached reports its pointer size,
...
commits at code.sixapart.com
commits at code.sixapart.com
Tue Sep 5 18:48:38 UTC 2006
make memcached reports its pointer size, so test suite needs less overflow guesswork
U trunk/server/memcached.c
U trunk/server/t/64bit.t
Modified: trunk/server/memcached.c
===================================================================
--- trunk/server/memcached.c 2006-09-05 05:59:43 UTC (rev 372)
+++ trunk/server/memcached.c 2006-09-05 18:48:38 UTC (rev 373)
@@ -655,6 +655,7 @@
pos += sprintf(pos, "STAT uptime %u\r\n", now);
pos += sprintf(pos, "STAT time %ld\r\n", now + stats.started);
pos += sprintf(pos, "STAT version " VERSION "\r\n");
+ pos += sprintf(pos, "STAT pointer_size %d\r\n", 8 * sizeof(void*));
pos += sprintf(pos, "STAT rusage_user %ld.%06ld\r\n", usage.ru_utime.tv_sec, usage.ru_utime.tv_usec);
pos += sprintf(pos, "STAT rusage_system %ld.%06ld\r\n", usage.ru_stime.tv_sec, usage.ru_stime.tv_usec);
pos += sprintf(pos, "STAT curr_items %u\r\n", stats.curr_items);
Modified: trunk/server/t/64bit.t
===================================================================
--- trunk/server/t/64bit.t 2006-09-05 05:59:43 UTC (rev 372)
+++ trunk/server/t/64bit.t 2006-09-05 18:48:38 UTC (rev 373)
@@ -11,44 +11,25 @@
my $server = new_memcached("-m 4097 -M");
my $sock = $server->sock;
-my %slabs;
-my %stats;
-my $get_slabs = sub{
- print $sock "stats slabs\r\n";
- while (<$sock>) {
- last if /^(\.|END)/;
- /^STAT (\S+) (\d+)/;
- #print " slabs: $_";
- $slabs{$1} = $2;
- }
-};
+my ($stats, $slabs) = @_;
-my $get_stats = sub{
- print $sock "stats\r\n";
- while (<$sock>) {
- last if /^(\.|END)/;
- /^STAT (\S+) (\d+)/;
- #print " stats ($1) = ($2)\n";
- $stats{$1} = $2;
- }
-};
+$stats = mem_stats($sock);
-$get_slabs->();
-$get_stats->();
-
-if ($slabs{'total_malloced'} eq "32" || $slabs{'total_malloced'} eq "2147483647") {
+if ($stats->{'pointer_size'} eq "32") {
plan skip_all => 'Skipping 64-bit tests on 32-bit build';
exit 0;
} else {
plan tests => 6;
}
-ok(1, "is 64 bit");
-is($stats{'limit_maxbytes'}, "4296015872", "max bytes is 4097 MB");
-is($slabs{'total_malloced'}, "4294967328", "expected (faked) value of total_malloced");
-is($slabs{'active_slabs'}, 0, "no active slabs");
+is($stats->{'pointer_size'}, 64, "is 64 bit");
+is($stats->{'limit_maxbytes'}, "4296015872", "max bytes is 4097 MB");
+$slabs = mem_stats($sock, 'slabs');
+is($slabs->{'total_malloced'}, "4294967328", "expected (faked) value of total_malloced");
+is($slabs->{'active_slabs'}, 0, "no active slabs");
+
my $hit_limit = 0;
for (1..3) {
my $size = 400 * 1024;
@@ -59,5 +40,5 @@
}
ok($hit_limit, "hit size limit");
-$get_slabs->();
-is($slabs{'active_slabs'}, 1, "1 active slab");
+$slabs = mem_stats($sock, 'slabs');
+is($slabs->{'active_slabs'}, 1, "1 active slab");
More information about the memcached-commits
mailing list