Prevent cache gc from happening during test suite runs, and add output so it is clear why it is blocking for a bit
parent
a23f8a3d6c
commit
b751156e1c
|
@ -16,6 +16,7 @@
|
||||||
>
|
>
|
||||||
<php>
|
<php>
|
||||||
<env name="SYMFONY_DEPRECATIONS_HELPER" value="weak"/>
|
<env name="SYMFONY_DEPRECATIONS_HELPER" value="weak"/>
|
||||||
|
<env name="COMPOSER_TEST_SUITE" value="1"/>
|
||||||
</php>
|
</php>
|
||||||
<testsuites>
|
<testsuites>
|
||||||
<testsuite name="Composer Test Suite">
|
<testsuite name="Composer Test Suite">
|
||||||
|
|
|
@ -24,7 +24,7 @@ use Symfony\Component\Finder\Finder;
|
||||||
*/
|
*/
|
||||||
class Cache
|
class Cache
|
||||||
{
|
{
|
||||||
private static $cacheCollected = false;
|
private static $cacheCollected = null;
|
||||||
private $io;
|
private $io;
|
||||||
private $root;
|
private $root;
|
||||||
private $enabled = true;
|
private $enabled = true;
|
||||||
|
@ -191,7 +191,20 @@ class Cache
|
||||||
|
|
||||||
public function gcIsNecessary()
|
public function gcIsNecessary()
|
||||||
{
|
{
|
||||||
return (!self::$cacheCollected && !mt_rand(0, 50));
|
if (self::$cacheCollected) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
self::$cacheCollected = true;
|
||||||
|
if (getenv('COMPOSER_TEST_SUITE')) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (PHP_VERSION_ID > 70000) {
|
||||||
|
return !random_int(0, 50);
|
||||||
|
}
|
||||||
|
|
||||||
|
return !mt_rand(0, 50);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function remove($file)
|
public function remove($file)
|
||||||
|
|
|
@ -84,6 +84,7 @@ class FileDownloader implements DownloaderInterface, ChangeReportInterface
|
||||||
$this->filesystem = $filesystem ?: new Filesystem($this->process);
|
$this->filesystem = $filesystem ?: new Filesystem($this->process);
|
||||||
|
|
||||||
if ($this->cache && $this->cache->gcIsNecessary()) {
|
if ($this->cache && $this->cache->gcIsNecessary()) {
|
||||||
|
$this->io->writeError('Running cache garbage collection', true, IOInterface::VERY_VERBOSE);
|
||||||
$this->cache->gc($config->get('cache-files-ttl'), $config->get('cache-files-maxsize'));
|
$this->cache->gc($config->get('cache-files-ttl'), $config->get('cache-files-maxsize'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue