diff options
author | Bharat Mediratta <bharat@menalto.com> | 2008-12-03 03:44:48 +0000 |
---|---|---|
committer | Bharat Mediratta <bharat@menalto.com> | 2008-12-03 03:44:48 +0000 |
commit | 705698a425bf00f7294a2e9eee8065fcadfffde5 (patch) | |
tree | a0720ff2309d85da7e43713177bb5e4202c52576 | |
parent | 37758d15defc18486671d2f33d7018e820dc61e0 (diff) |
Drop the database and rm -rf test/var instead of calling uninstall on
all modules. This guarantees a clean start w/out worrying about
weirdness in the uninstaller code.
-rw-r--r-- | modules/gallery_unit_test/controllers/gallery_unit_test.php | 37 |
1 files changed, 9 insertions, 28 deletions
diff --git a/modules/gallery_unit_test/controllers/gallery_unit_test.php b/modules/gallery_unit_test/controllers/gallery_unit_test.php index 2046e323..1185fb95 100644 --- a/modules/gallery_unit_test/controllers/gallery_unit_test.php +++ b/modules/gallery_unit_test/controllers/gallery_unit_test.php @@ -58,38 +58,17 @@ class Gallery_Unit_Test_Controller extends Controller { } Kohana::config_set('unit_test.paths', $paths); - // We probably don't want to uninstall and reinstall the core every time, but let's start off - // this way. Uninstall modules first and core last. Ignore errors during uninstall. - try { - $this->_uninstall_modules(); - } catch (Exception $e) { + // Clean out the database + foreach ($db->list_tables() as $table) { + $db->query("DROP TABLE $table"); } - $this->_install_modules(); + // Clean out the filesystem + @system("rm -rf test/var"); + @system('mkdir -p test/var/logs'); - print new Unit_Test(); - } - - private function _uninstall_modules() { - foreach (module::installed() as $module) { - if ($module->name == "core") { - continue; - } - - $installer_class = "{$module->name}_installer"; - Kohana::log("debug", "$installer_class"); - if (method_exists($installer_class, "uninstall")) { - call_user_func_array(array($installer_class, "uninstall"), array()); - } - } - - // Always uninstall core last. - core_installer::uninstall(); - } - - private function _install_modules() { + // Install all modules core_installer::install(); - foreach (glob(MODPATH . "*/helpers/*_installer.php") as $file) { $module_name = basename(dirname(dirname($file))); if ($module_name == "core") { @@ -101,5 +80,7 @@ class Gallery_Unit_Test_Controller extends Controller { call_user_func_array(array($installer_class, "install"), array()); } } + + print new Unit_Test(); } } |