| Server IP : 127.0.1.1 / Your IP : 216.73.216.152 Web Server : Apache/2.4.52 (Ubuntu) System : Linux bahcrestlinepropertiesllc 5.15.0-113-generic #123-Ubuntu SMP Mon Jun 10 08:16:17 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /var/www/bahcrestline/core/vendor/phpunit/phpunit/tests/unit/Runner/ |
Upload File : |
<?php declare(strict_types=1);
/*
* This file is part of PHPUnit.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
use PHPUnit\Framework\TestCase;
use PHPUnit\Runner\BaseTestRunner;
use PHPUnit\Runner\DefaultTestResultCache;
/**
* @group test-reorder
* @small
*/
final class TestResultCacheTest extends TestCase
{
public function testReadsCacheFromProvidedFilename(): void
{
$cacheFile = TEST_FILES_PATH . '../end-to-end/execution-order/_files/MultiDependencyTest_result_cache.txt';
$cache = new DefaultTestResultCache($cacheFile);
$cache->load();
$this->assertSame(BaseTestRunner::STATUS_UNKNOWN, $cache->getState(\MultiDependencyTest::class . '::testOne'));
$this->assertSame(BaseTestRunner::STATUS_SKIPPED, $cache->getState(\MultiDependencyTest::class . '::testFive'));
}
public function testDoesClearCacheBeforeLoad(): void
{
$cacheFile = TEST_FILES_PATH . '../end-to-end/execution-order/_files/MultiDependencyTest_result_cache.txt';
$cache = new DefaultTestResultCache($cacheFile);
$cache->setState('someTest', BaseTestRunner::STATUS_FAILURE);
$this->assertSame(BaseTestRunner::STATUS_UNKNOWN, $cache->getState(\MultiDependencyTest::class . '::testFive'));
$cache->load();
$this->assertSame(BaseTestRunner::STATUS_UNKNOWN, $cache->getState(\MultiDependencyTest::class . '::someTest'));
$this->assertSame(BaseTestRunner::STATUS_SKIPPED, $cache->getState(\MultiDependencyTest::class . '::testFive'));
}
public function testShouldNotSerializePassedTestsAsDefectButTimeIsStored(): void
{
$cache = new DefaultTestResultCache;
$cache->setState('testOne', BaseTestRunner::STATUS_PASSED);
$cache->setTime('testOne', 123);
$data = \serialize($cache);
$this->assertSame('C:37:"PHPUnit\Runner\DefaultTestResultCache":64:{a:2:{s:7:"defects";a:0:{}s:5:"times";a:1:{s:7:"testOne";d:123;}}}', $data);
}
public function testCanPersistCacheToFile(): void
{
// Create a cache with one result and store it
$cacheFile = \tempnam(\sys_get_temp_dir(), 'phpunit_');
$cache = new DefaultTestResultCache($cacheFile);
$testName = 'test' . \uniqid();
$cache->setState($testName, BaseTestRunner::STATUS_SKIPPED);
$cache->persist();
unset($cache);
// Load the cache we just created
$loadedCache = new DefaultTestResultCache($cacheFile);
$loadedCache->load();
$this->assertSame(BaseTestRunner::STATUS_SKIPPED, $loadedCache->getState($testName));
// Clean up
\unlink($cacheFile);
}
public function testShouldReturnEmptyCacheWhenFileDoesNotExist(): void
{
$cache = new DefaultTestResultCache('/a/wrong/path/file');
$cache->load();
$this->assertTrue($this->isSerializedEmptyCache(\serialize($cache)));
}
public function testShouldReturnEmptyCacheFromInvalidFile(): void
{
$cacheFile = \tempnam(\sys_get_temp_dir(), 'phpunit_');
\file_put_contents($cacheFile, '<certainly not serialized php>');
$cache = new DefaultTestResultCache($cacheFile);
$cache->load();
$this->assertTrue($this->isSerializedEmptyCache(\serialize($cache)));
}
public function isSerializedEmptyCache(string $data): bool
{
return $data === 'C:37:"PHPUnit\Runner\DefaultTestResultCache":44:{a:2:{s:7:"defects";a:0:{}s:5:"times";a:0:{}}}';
}
}