1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-04-19 23:32:02 +02:00

[ticket/10013] Changed cache test to use tests/tmp/cache as cache directory

This is the first step of making the test suite use a single directory
for writing files to, this directory being tests/tmp.

The cache test, instead of tests/cache/tmp, now writes to tests/tmp/cache.

Also remove cache directory in setUp method, in case an earlier test run
did not complete successfully and the cache directory was not cleaned up.

Finally, this change makes the cache test take responsibility over the entire
contents of its cache directory.

PHPBB3-10013
This commit is contained in:
Oleg Pudeyev 2011-01-27 18:26:58 -05:00 committed by Igor Wiedler
parent f50d74506a
commit 8de411cc25
3 changed files with 37 additions and 4 deletions

1
.gitignore vendored
View File

@ -7,4 +7,5 @@ phpBB/images/avatars/upload/*
phpBB/store/*
tests/phpbb_unit_tests.sqlite2
tests/test_config.php
tests/tmp
tests/utf/data/*.txt

View File

@ -11,21 +11,53 @@ require_once dirname(__FILE__) . '/../../phpBB/includes/functions.php';
class phpbb_cache_test extends phpbb_test_case
{
private $cache_dir;
public function __construct()
{
$this->cache_dir = dirname(__FILE__) . '/../tmp/cache';
}
protected function setUp()
{
if (file_exists($this->cache_dir))
{
// cache directory possibly left after aborted
// or failed run earlier
$this->remove_cache_dir();
}
$this->create_cache_dir();
}
protected function tearDown()
{
$iterator = new DirectoryIterator(dirname(__FILE__) . '/tmp');
if (file_exists($this->cache_dir))
{
$this->remove_cache_dir();
}
}
private function create_cache_dir()
{
mkdir($this->cache_dir);
}
private function remove_cache_dir()
{
$iterator = new DirectoryIterator($this->cache_dir);
foreach ($iterator as $file)
{
if (is_file(dirname(__FILE__) . '/tmp/' . $file) && $file != '.gitkeep')
if ($file != '.' && $file != '..')
{
unlink(dirname(__FILE__) . '/tmp/' . $file);
unlink($this->cache_dir . '/' . $file);
}
}
rmdir($this->cache_dir);
}
public function test_cache_driver_file()
{
$driver = new phpbb_cache_driver_file(dirname(__FILE__) . '/tmp/');
$driver = new phpbb_cache_driver_file($this->cache_dir);
$driver->put('test_key', 'test_value');
$driver->save();

View File