diff options
-rw-r--r-- | _test/bootstrap.php | 7 | ||||
-rw-r--r-- | _test/core/DokuWikiTest.php | 20 |
2 files changed, 26 insertions, 1 deletions
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 @@ -19,6 +19,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(); |