1--TEST-- 2Memcached virtual buckets 3--SKIPIF-- 4<?php 5include dirname(__FILE__) . "/skipif.inc"; 6if (!defined("Memcached::DISTRIBUTION_VIRTUAL_BUCKET")) die ("skip DISTRIBUTION_VIRTUAL_BUCKET not defined"); 7if (PHP_VERSION_ID < 80000) die("skip PHP 8 only"); 8?> 9--FILE-- 10<?php 11include dirname (__FILE__) . '/config.inc'; 12$m = memc_get_instance (array ( 13 Memcached::OPT_DISTRIBUTION => Memcached::DISTRIBUTION_VIRTUAL_BUCKET 14 )); 15 16var_dump ($m->setBucket (array (), null, 2)); 17 18var_dump ($m->setBucket (array (), array (), -1)); 19 20try { 21 var_dump ($m->setBucket (null, array (), -1)); 22} catch (TypeError $e) { 23 echo $e->getMessage() . PHP_EOL; 24} 25 26var_dump ($m->setBucket (array (-1), array (-1), 1)); 27 28echo "OK\n"; 29 30?> 31--EXPECTF-- 32Warning: Memcached::setBucket(): server map cannot be empty in %s on line %d 33bool(false) 34 35Warning: Memcached::setBucket(): server map cannot be empty in %s on line %d 36bool(false) 37Memcached::setBucket(): Argument #1 ($host_map) must be of type array, null given 38 39Warning: Memcached::setBucket(): the map must contain positive integers in %s on line %d 40bool(false) 41OK 42