Upgrade 1-11.38

This commit is contained in:
xesmyd
2026-03-30 14:10:30 +02:00
parent f2a7e6d1fc
commit ac648ef29d
24665 changed files with 69682 additions and 2205004 deletions
@@ -13,9 +13,6 @@ namespace Symfony\Component\Cache\Tests\Simple;
use Symfony\Component\Cache\Simple\RedisCache;
/**
* @group legacy
*/
abstract class AbstractRedisCacheTest extends CacheTestCase
{
protected $skippedTests = [
@@ -31,18 +28,19 @@ abstract class AbstractRedisCacheTest extends CacheTestCase
return new RedisCache(self::$redis, str_replace('\\', '.', __CLASS__), $defaultLifetime);
}
public static function setUpBeforeClass(): void
public static function setUpBeforeClass()
{
if (!\extension_loaded('redis')) {
self::markTestSkipped('Extension redis required.');
}
if (!@((new \Redis())->connect(getenv('REDIS_HOST')))) {
$e = error_get_last();
self::markTestSkipped($e['message']);
try {
(new \Redis())->connect(getenv('REDIS_HOST'));
} catch (\Exception $e) {
self::markTestSkipped($e->getMessage());
}
}
public static function tearDownAfterClass(): void
public static function tearDownAfterClass()
{
self::$redis = null;
}
+1 -4
View File
@@ -13,9 +13,6 @@ namespace Symfony\Component\Cache\Tests\Simple;
use Symfony\Component\Cache\Simple\ApcuCache;
/**
* @group legacy
*/
class ApcuCacheTest extends CacheTestCase
{
protected $skippedTests = [
@@ -26,7 +23,7 @@ class ApcuCacheTest extends CacheTestCase
public function createSimpleCache($defaultLifetime = 0)
{
if (!\function_exists('apcu_fetch') || !filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) || ('cli' === \PHP_SAPI && !filter_var(ini_get('apc.enable_cli'), FILTER_VALIDATE_BOOLEAN))) {
if (!\function_exists('apcu_fetch') || !filter_var(ini_get('apc.enabled'), \FILTER_VALIDATE_BOOLEAN) || ('cli' === \PHP_SAPI && !filter_var(ini_get('apc.enable_cli'), \FILTER_VALIDATE_BOOLEAN))) {
$this->markTestSkipped('APCu extension is required.');
}
if ('\\' === \DIRECTORY_SEPARATOR) {
-1
View File
@@ -15,7 +15,6 @@ use Symfony\Component\Cache\Simple\ArrayCache;
/**
* @group time-sensitive
* @group legacy
*/
class ArrayCacheTest extends CacheTestCase
{
+12 -3
View File
@@ -17,7 +17,7 @@ use Symfony\Component\Cache\PruneableInterface;
abstract class CacheTestCase extends SimpleCacheTest
{
protected function setUp(): void
protected function setUp()
{
parent::setUp();
@@ -28,6 +28,10 @@ abstract class CacheTestCase extends SimpleCacheTest
public static function validKeys()
{
if (\defined('HHVM_VERSION')) {
return parent::validKeys();
}
return array_merge(parent::validKeys(), [["a\0b"]]);
}
@@ -132,9 +136,14 @@ abstract class CacheTestCase extends SimpleCacheTest
}
}
class NotUnserializable
class NotUnserializable implements \Serializable
{
public function __wakeup()
public function serialize()
{
return serialize(123);
}
public function unserialize($ser)
{
throw new \Exception(__CLASS__);
}
-1
View File
@@ -20,7 +20,6 @@ use Symfony\Component\Cache\Simple\FilesystemCache;
/**
* @group time-sensitive
* @group legacy
*/
class ChainCacheTest extends CacheTestCase
{
@@ -16,7 +16,6 @@ use Symfony\Component\Cache\Tests\Fixtures\ArrayCache;
/**
* @group time-sensitive
* @group legacy
*/
class DoctrineCacheTest extends CacheTestCase
{
@@ -16,7 +16,6 @@ use Symfony\Component\Cache\Simple\FilesystemCache;
/**
* @group time-sensitive
* @group legacy
*/
class FilesystemCacheTest extends CacheTestCase
{
+11 -8
View File
@@ -14,9 +14,6 @@ namespace Symfony\Component\Cache\Tests\Simple;
use Symfony\Component\Cache\Adapter\AbstractAdapter;
use Symfony\Component\Cache\Simple\MemcachedCache;
/**
* @group legacy
*/
class MemcachedCacheTest extends CacheTestCase
{
protected $skippedTests = [
@@ -27,7 +24,7 @@ class MemcachedCacheTest extends CacheTestCase
protected static $client;
public static function setUpBeforeClass(): void
public static function setUpBeforeClass()
{
if (!MemcachedCache::isSupported()) {
self::markTestSkipped('Extension memcached >=2.2.0 required.');
@@ -79,8 +76,14 @@ class MemcachedCacheTest extends CacheTestCase
*/
public function testBadOptions($name, $value)
{
$this->expectException('ErrorException');
$this->expectExceptionMessage('constant(): Couldn\'t find constant Memcached::');
if (\PHP_VERSION_ID < 80000) {
$this->expectException('ErrorException');
$this->expectExceptionMessage('constant(): Couldn\'t find constant Memcached::');
} else {
$this->expectException('Error');
$this->expectExceptionMessage('Undefined constant Memcached::');
}
MemcachedCache::createConnection([], [$name => $value]);
}
@@ -147,7 +150,7 @@ class MemcachedCacheTest extends CacheTestCase
'localhost',
11222,
];
if (filter_var(ini_get('memcached.use_sasl'), FILTER_VALIDATE_BOOLEAN)) {
if (filter_var(ini_get('memcached.use_sasl'), \FILTER_VALIDATE_BOOLEAN)) {
yield [
'memcached://user:password@127.0.0.1?weight=50',
'127.0.0.1',
@@ -164,7 +167,7 @@ class MemcachedCacheTest extends CacheTestCase
'/var/local/run/memcached.socket',
0,
];
if (filter_var(ini_get('memcached.use_sasl'), FILTER_VALIDATE_BOOLEAN)) {
if (filter_var(ini_get('memcached.use_sasl'), \FILTER_VALIDATE_BOOLEAN)) {
yield [
'memcached://user:password@/var/local/run/memcached.socket?weight=25',
'/var/local/run/memcached.socket',
@@ -14,9 +14,6 @@ namespace Symfony\Component\Cache\Tests\Simple;
use Symfony\Component\Cache\Adapter\AbstractAdapter;
use Symfony\Component\Cache\Simple\MemcachedCache;
/**
* @group legacy
*/
class MemcachedCacheTextModeTest extends MemcachedCacheTest
{
public function createSimpleCache($defaultLifetime = 0)
-1
View File
@@ -16,7 +16,6 @@ use Symfony\Component\Cache\Simple\NullCache;
/**
* @group time-sensitive
* @group legacy
*/
class NullCacheTest extends TestCase
{
+2 -3
View File
@@ -16,7 +16,6 @@ use Symfony\Component\Cache\Tests\Traits\PdoPruneableTrait;
/**
* @group time-sensitive
* @group legacy
*/
class PdoCacheTest extends CacheTestCase
{
@@ -24,7 +23,7 @@ class PdoCacheTest extends CacheTestCase
protected static $dbFile;
public static function setUpBeforeClass(): void
public static function setUpBeforeClass()
{
if (!\extension_loaded('pdo_sqlite')) {
self::markTestSkipped('Extension pdo_sqlite required.');
@@ -36,7 +35,7 @@ class PdoCacheTest extends CacheTestCase
$pool->createTable();
}
public static function tearDownAfterClass(): void
public static function tearDownAfterClass()
{
@unlink(self::$dbFile);
}
+2 -3
View File
@@ -17,7 +17,6 @@ use Symfony\Component\Cache\Tests\Traits\PdoPruneableTrait;
/**
* @group time-sensitive
* @group legacy
*/
class PdoDbalCacheTest extends CacheTestCase
{
@@ -25,7 +24,7 @@ class PdoDbalCacheTest extends CacheTestCase
protected static $dbFile;
public static function setUpBeforeClass(): void
public static function setUpBeforeClass()
{
if (!\extension_loaded('pdo_sqlite')) {
self::markTestSkipped('Extension pdo_sqlite required.');
@@ -37,7 +36,7 @@ class PdoDbalCacheTest extends CacheTestCase
$pool->createTable();
}
public static function tearDownAfterClass(): void
public static function tearDownAfterClass()
{
@unlink(self::$dbFile);
}
+34 -21
View File
@@ -17,7 +17,6 @@ use Symfony\Component\Cache\Tests\Adapter\FilesystemAdapterTest;
/**
* @group time-sensitive
* @group legacy
*/
class PhpArrayCacheTest extends CacheTestCase
{
@@ -50,12 +49,12 @@ class PhpArrayCacheTest extends CacheTestCase
protected static $file;
public static function setUpBeforeClass(): void
public static function setUpBeforeClass()
{
self::$file = sys_get_temp_dir().'/symfony-cache/php-array-adapter-test.php';
}
protected function tearDown(): void
protected function tearDown()
{
$this->createSimpleCache()->clear();
@@ -98,35 +97,49 @@ class PhpArrayCacheTest extends CacheTestCase
public function testStoredFile()
{
$data = [
$expected = [
'integer' => 42,
'float' => 42.42,
'boolean' => true,
'array_simple' => ['foo', 'bar'],
'array_associative' => ['foo' => 'bar', 'foo2' => 'bar2'],
];
$expected = [
[
'integer' => 0,
'float' => 1,
'boolean' => 2,
'array_simple' => 3,
'array_associative' => 4,
],
[
0 => 42,
1 => 42.42,
2 => true,
3 => ['foo', 'bar'],
4 => ['foo' => 'bar', 'foo2' => 'bar2'],
],
];
$cache = new PhpArrayCache(self::$file, new NullCache());
$cache->warmUp($data);
$cache->warmUp($expected);
$values = eval(substr(file_get_contents(self::$file), 6));
$this->assertSame($expected, $values, 'Warm up should create a PHP file that OPCache can load in memory');
}
}
class PhpArrayCacheWrapper extends PhpArrayCache
{
public function set($key, $value, $ttl = null)
{
\call_user_func(\Closure::bind(function () use ($key, $value) {
$this->values[$key] = $value;
$this->warmUp($this->values);
$this->values = eval(substr(file_get_contents($this->file), 6));
}, $this, PhpArrayCache::class));
return true;
}
public function setMultiple($values, $ttl = null)
{
if (!\is_array($values) && !$values instanceof \Traversable) {
return parent::setMultiple($values, $ttl);
}
\call_user_func(\Closure::bind(function () use ($values) {
foreach ($values as $key => $value) {
$this->values[$key] = $value;
}
$this->warmUp($this->values);
$this->values = eval(substr(file_get_contents($this->file), 6));
}, $this, PhpArrayCache::class));
return true;
}
}
@@ -17,7 +17,6 @@ use Symfony\Component\Cache\Tests\Adapter\FilesystemAdapterTest;
/**
* @group time-sensitive
* @group legacy
*/
class PhpArrayCacheWithFallbackTest extends CacheTestCase
{
@@ -37,12 +36,12 @@ class PhpArrayCacheWithFallbackTest extends CacheTestCase
protected static $file;
public static function setUpBeforeClass(): void
public static function setUpBeforeClass()
{
self::$file = sys_get_temp_dir().'/symfony-cache/php-array-adapter-test.php';
}
protected function tearDown(): void
protected function tearDown()
{
$this->createSimpleCache()->clear();
@@ -1,46 +0,0 @@
<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Component\Cache\Tests\Simple;
use Symfony\Component\Cache\Simple\PhpArrayCache;
class PhpArrayCacheWrapper extends PhpArrayCache
{
protected $data = [];
public function set($key, $value, $ttl = null)
{
(\Closure::bind(function () use ($key, $value) {
$this->data[$key] = $value;
$this->warmUp($this->data);
list($this->keys, $this->values) = eval(substr(file_get_contents($this->file), 6));
}, $this, PhpArrayCache::class))();
return true;
}
public function setMultiple($values, $ttl = null)
{
if (!\is_array($values) && !$values instanceof \Traversable) {
return parent::setMultiple($values, $ttl);
}
(\Closure::bind(function () use ($values) {
foreach ($values as $key => $value) {
$this->data[$key] = $value;
}
$this->warmUp($this->data);
list($this->keys, $this->values) = eval(substr(file_get_contents($this->file), 6));
}, $this, PhpArrayCache::class))();
return true;
}
}
+4 -1
View File
@@ -16,7 +16,6 @@ use Symfony\Component\Cache\Simple\PhpFilesCache;
/**
* @group time-sensitive
* @group legacy
*/
class PhpFilesCacheTest extends CacheTestCase
{
@@ -26,6 +25,10 @@ class PhpFilesCacheTest extends CacheTestCase
public function createSimpleCache()
{
if (!PhpFilesCache::isSupported()) {
$this->markTestSkipped('OPcache extension is not enabled.');
}
return new PhpFilesCache('sf-cache');
}
+4 -5
View File
@@ -11,12 +11,13 @@
namespace Symfony\Component\Cache\Tests\Simple;
use Symfony\Component\Cache\Adapter\FilesystemAdapter;
use Symfony\Component\Cache\Simple\Psr6Cache;
/**
* @group legacy
* @group time-sensitive
*/
abstract class Psr6CacheTest extends CacheTestCase
class Psr6CacheTest extends CacheTestCase
{
protected $skippedTests = [
'testPrune' => 'Psr6Cache just proxies',
@@ -24,8 +25,6 @@ abstract class Psr6CacheTest extends CacheTestCase
public function createSimpleCache($defaultLifetime = 0)
{
return new Psr6Cache($this->createCacheItemPool($defaultLifetime));
return new Psr6Cache(new FilesystemAdapter('', $defaultLifetime));
}
abstract protected function createCacheItemPool($defaultLifetime = 0);
}
@@ -1,26 +0,0 @@
<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Component\Cache\Tests\Simple;
use Symfony\Component\Cache\Adapter\FilesystemAdapter;
/**
* @group time-sensitive
* @group legacy
*/
class Psr6CacheWithAdapterTest extends Psr6CacheTest
{
protected function createCacheItemPool($defaultLifetime = 0)
{
return new FilesystemAdapter('', $defaultLifetime);
}
}
@@ -1,26 +0,0 @@
<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Component\Cache\Tests\Simple;
use Symfony\Component\Cache\Tests\Fixtures\ExternalAdapter;
/**
* @group time-sensitive
* @group legacy
*/
class Psr6CacheWithoutAdapterTest extends Psr6CacheTest
{
protected function createCacheItemPool($defaultLifetime = 0)
{
return new ExternalAdapter($defaultLifetime);
}
}
+1 -4
View File
@@ -11,12 +11,9 @@
namespace Symfony\Component\Cache\Tests\Simple;
/**
* @group legacy
*/
class RedisArrayCacheTest extends AbstractRedisCacheTest
{
public static function setUpBeforeClass(): void
public static function setUpBeforeClass()
{
parent::setupBeforeClass();
if (!class_exists('RedisArray')) {
+2 -5
View File
@@ -13,12 +13,9 @@ namespace Symfony\Component\Cache\Tests\Simple;
use Symfony\Component\Cache\Simple\RedisCache;
/**
* @group legacy
*/
class RedisCacheTest extends AbstractRedisCacheTest
{
public static function setUpBeforeClass(): void
public static function setUpBeforeClass()
{
parent::setupBeforeClass();
self::$redis = RedisCache::createConnection('redis://'.getenv('REDIS_HOST'));
@@ -52,7 +49,7 @@ class RedisCacheTest extends AbstractRedisCacheTest
public function testFailedCreateConnection($dsn)
{
$this->expectException('Symfony\Component\Cache\Exception\InvalidArgumentException');
$this->expectExceptionMessage('Redis connection failed');
$this->expectExceptionMessage('Redis connection ');
RedisCache::createConnection($dsn);
}
@@ -11,12 +11,9 @@
namespace Symfony\Component\Cache\Tests\Simple;
/**
* @group legacy
*/
class RedisClusterCacheTest extends AbstractRedisCacheTest
{
public static function setUpBeforeClass(): void
public static function setUpBeforeClass()
{
if (!class_exists('RedisCluster')) {
self::markTestSkipped('The RedisCluster class is required.');
@@ -16,7 +16,6 @@ use Symfony\Component\Cache\Simple\TraceableCache;
/**
* @group time-sensitive
* @group legacy
*/
class TraceableCacheTest extends CacheTestCase
{