You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
При нормальном окружении тесты отрабатывают. Если memcached вообще не запущен, получаю три ошибки. Первые две ожидаемые - третья как раз таки нет.
There were 3 errors:
1) OnPHP\Tests\Core\SequentialCacheTest::testMultiCacheAliveLast
RuntimeException: All peers are dead
/var/www/onPHP/src/Core/Cache/SequentialCache.php:97
/var/www/onPHP/tests/Core/SequentialCacheTest.php:44
2) OnPHP\Tests\Core\SequentialCacheTest::testMultiCacheAliveFirst
RuntimeException: All peers are dead
/var/www/onPHP/src/Core/Cache/SequentialCache.php:97
/var/www/onPHP/tests/Core/SequentialCacheTest.php:60
3) OnPHP\Tests\Core\SequentialCacheTest::testMultiCacheAliveOnly
OnPHP\Core\Exception\BaseException: Trying to access array offset on value of type bool
/var/www/onPHP/global.inc.php.tpl:16
/var/www/onPHP/src/Core/Cache/CyclicAggregateCache.php:75
/var/www/onPHP/src/Core/Cache/BaseAggregateCache.php:115
/var/www/onPHP/src/Core/Cache/SequentialCache.php:87
/var/www/onPHP/tests/Core/SequentialCacheTest.php:77
ERRORS!
Tests: 4, Assertions: 1, Errors: 3.
Это место CyclicAggregateCache::guessLabel
protected function guessLabel($key)
{
if (!$this->sorted)
$this->sortPeers();
$point = hexdec(substr(sha1($key), 0, 5)) % $this->summaryWeight;
$firstPeer = reset($this->peers);
while ($peer = current($this->peers)) {
if ($point <= $peer['mountPoint'])
return key($this->peers);
next($this->peers);
}
if ($point <= ($firstPeer['mountPoint'] + $this->summaryWeight)) {
reset($this->peers);
return key($this->peers);
}
Assert::isUnreachable();
}
откуда на строке
if ($point <= ($firstPeer['mountPoint'] + $this->summaryWeight)) {
получается ошибка, потому что $this->peers пустой массив и reset от него вернул false.
Пустой он стал после попытки ->set( и вызова BaseAggregateCache::checkAlive() - там все пиры проверились и удалились из списка.
The text was updated successfully, but these errors were encountered:
Случайно сломал тесты, сходу не пойму, поэтому оставлю здесь пока
Что бы запустить только этот тест:
При нормальном окружении тесты отрабатывают. Если memcached вообще не запущен, получаю три ошибки. Первые две ожидаемые - третья как раз таки нет.
Это место
CyclicAggregateCache::guessLabel
откуда на строке
получается ошибка, потому что
$this->peers
пустой массив иreset
от него вернул false.Пустой он стал после попытки
->set(
и вызоваBaseAggregateCache::checkAlive()
- там все пиры проверились и удалились из списка.The text was updated successfully, but these errors were encountered: