Viewing file: setup.php.inc (3.35 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php error_reporting(1803); require_once dirname(dirname(dirname(__FILE__))) . DIRECTORY_SEPARATOR . 'phpt_test.php.inc'; $temp_path = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'testit';
register_shutdown_function('cleanall'); function cleanall($dir = null) { if ($dir !== null) { $temp_path = $dir; } else { $temp_path = $GLOBALS['temp_path']; } clearstatcache(); if (file_exists($temp_path)) { $dp = opendir($temp_path); while ($ent = readdir($dp)) { if (in_array($ent, array('.', '..'))) { continue; } if (is_dir($temp_path . DIRECTORY_SEPARATOR . $ent)) { cleanall($temp_path . DIRECTORY_SEPARATOR . $ent); continue; } unlink($temp_path . DIRECTORY_SEPARATOR . $ent); } closedir($dp); rmdir($temp_path); } }
cleanall($temp_path); mkdir($temp_path); $phpunit = new PEAR_PHPTest(true); require_once 'PEAR/Config.php'; $statedir = $temp_path; if (!is_dir($temp_path)) { mkdir($temp_path); } if (!is_dir($temp_path . DIRECTORY_SEPARATOR . 'php')) { mkdir($php_dir = $temp_path . DIRECTORY_SEPARATOR . 'php'); } if (!is_dir($temp_path . DIRECTORY_SEPARATOR . 'data')) { mkdir($temp_path . DIRECTORY_SEPARATOR . 'data'); } if (!is_dir($temp_path . DIRECTORY_SEPARATOR . 'doc')) { mkdir($temp_path . DIRECTORY_SEPARATOR . 'doc'); } if (!is_dir($temp_path . DIRECTORY_SEPARATOR . 'test')) { mkdir($temp_path . DIRECTORY_SEPARATOR . 'test'); } if (!is_dir($temp_path . DIRECTORY_SEPARATOR . 'ext')) { mkdir($temp_path . DIRECTORY_SEPARATOR . 'ext'); $ext_dir = $temp_path . DIRECTORY_SEPARATOR . 'ext'; } if (!is_dir($temp_path . DIRECTORY_SEPARATOR . 'script')) { mkdir($temp_path . DIRECTORY_SEPARATOR . 'script'); } if (!is_dir($temp_path . DIRECTORY_SEPARATOR . 'tmp')) { mkdir($temp_path . DIRECTORY_SEPARATOR . 'tmp'); } if (!is_dir($temp_path . DIRECTORY_SEPARATOR . 'bin')) { mkdir($temp_path . DIRECTORY_SEPARATOR . 'bin'); } if (!is_dir($temp_path . DIRECTORY_SEPARATOR . 'cache')) { mkdir($temp_path . DIRECTORY_SEPARATOR . 'cache'); } // make the fake configuration - we'll use one of these and it should work $config = serialize(array( 'preferred_state' => 'stable', 'cache_dir' => $temp_path . DIRECTORY_SEPARATOR . 'cache', 'php_dir' => $temp_path . DIRECTORY_SEPARATOR . 'php', 'ext_dir' => $temp_path . DIRECTORY_SEPARATOR . 'ext', 'data_dir' => $temp_path . DIRECTORY_SEPARATOR . 'data', 'doc_dir' => $temp_path . DIRECTORY_SEPARATOR . 'doc', 'test_dir' => $temp_path . DIRECTORY_SEPARATOR . 'test', 'bin_dir' => $temp_path . DIRECTORY_SEPARATOR . 'bin',)); touch($temp_path . DIRECTORY_SEPARATOR . 'pear.conf'); $fp = fopen($temp_path . DIRECTORY_SEPARATOR . 'pear.conf', 'w'); fwrite($fp, $config); fclose($fp); touch($temp_path . DIRECTORY_SEPARATOR . 'pear.ini'); $fp = fopen($temp_path . DIRECTORY_SEPARATOR . 'pear.ini', 'w'); fwrite($fp, $config); fclose($fp);
putenv('PHP_PEAR_SYSCONF_DIR='.$temp_path); $home = getenv('HOME'); if (!empty($home)) { // for PEAR_Config initialization putenv('HOME="'.$temp_path); } $config = &PEAR_Config::singleton($temp_path . DIRECTORY_SEPARATOR . 'pear.conf', $temp_path . DIRECTORY_SEPARATOR . 'pear.conf'); require_once 'PEAR/PackageFileManager2.php'; $pfm = new PEAR_PackageFileManager2; ?>
|