From 0644090a80cabe51bcee580999ed33913aa24699 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Sun, 1 Jul 2012 19:39:07 +0200 Subject: reset the data directory before each test class is run --- _test/bootstrap.php | 7 ++++++- _test/core/DokuWikiTest.php | 20 ++++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) (limited to '_test') diff --git a/_test/bootstrap.php b/_test/bootstrap.php index 6c3d6aaa8..58ad6a0d7 100644 --- a/_test/bootstrap.php +++ b/_test/bootstrap.php @@ -82,7 +82,12 @@ if (getenv('PRESERVE_TMP') != 'true') { // populate default dirs TestUtils::rcopy(TMP_DIR, DOKU_INC.'/conf'); TestUtils::rcopy(TMP_DIR, dirname(__FILE__).'/conf'); -TestUtils::rcopy(TMP_DIR, dirname(__FILE__).'/data'); +mkdir(DOKU_TMP_DATA); +foreach(array( + 'attic', 'cache', 'index', 'locks', 'media', + 'media_attic', 'media_meta', 'meta', 'pages', 'tmp') as $dir){ + mkdir(DOKU_TMP_DATA.'/'.$dir); +} // disable all non-default plugins by default $dh = dir(DOKU_INC.'lib/plugins/'); diff --git a/_test/core/DokuWikiTest.php b/_test/core/DokuWikiTest.php index e47c06329..e51f1eeb1 100644 --- a/_test/core/DokuWikiTest.php +++ b/_test/core/DokuWikiTest.php @@ -18,6 +18,25 @@ abstract class DokuWikiTest extends PHPUnit_Framework_TestCase { */ protected $pluginsDisabled = array(); + /** + * Setup the data directory + * + * This is ran before each test class + */ + public static function setUpBeforeClass() { + // just to be safe not to delete something undefined later + if(!defined('TMP_DIR')) die('no temporary directory'); + if(!defined('DOKU_TMP_DATA')) die('no temporary data directory'); + + // remove any leftovers from the last run + if(is_dir(DOKU_TMP_DATA)){ + TestUtils::rdelete(DOKU_TMP_DATA); + } + + // populate default dirs + TestUtils::rcopy(TMP_DIR, dirname(__FILE__).'/../data/'); + } + /** * Reset the DokuWiki environment before each test run. Makes sure loaded config, * language and plugins are correct. @@ -26,6 +45,7 @@ abstract class DokuWikiTest extends PHPUnit_Framework_TestCase { * @return void */ public function setUp() { + // reload config global $conf, $config_cascade; $conf = array(); -- cgit v1.2.3