diff options
Diffstat (limited to 'pear/tests/pear_installer_install_channels.phpt')
-rw-r--r-- | pear/tests/pear_installer_install_channels.phpt | 214 |
1 files changed, 0 insertions, 214 deletions
diff --git a/pear/tests/pear_installer_install_channels.phpt b/pear/tests/pear_installer_install_channels.phpt deleted file mode 100644 index d4c3418d0d..0000000000 --- a/pear/tests/pear_installer_install_channels.phpt +++ /dev/null @@ -1,214 +0,0 @@ ---TEST-- -PEAR_Installer test #4: PEAR_Installer::install() with channels ---SKIPIF-- -<?php -if (!getenv('PHP_PEAR_RUNTESTS')) { - echo 'skip'; -} -?> ---FILE-- -<?php -$temp_path = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'testinstallertemp'; -if (!is_dir($temp_path)) { - mkdir($temp_path); -} -if (!is_dir($temp_path . DIRECTORY_SEPARATOR . 'php')) { - mkdir($temp_path . DIRECTORY_SEPARATOR . 'php'); - mkdir($temp_path . DIRECTORY_SEPARATOR . 'php' . DIRECTORY_SEPARATOR . 'frob'); -} -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'); -} -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'); -} -// make the fake configuration - we'll use one of these and it should work -$config = serialize(array('master_server' => 'pear.php.net', - 'default_channel' => 'pear', - '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', - '__channels' => array( - 'frob' => array( - 'php_dir' => $temp_path . DIRECTORY_SEPARATOR . 'php' . DIRECTORY_SEPARATOR . 'frob', - )))); -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); -} -require_once 'PEAR/ChannelFile.php'; -require_once 'PEAR/Registry.php'; -$reg = &new PEAR_Registry($temp_path . DIRECTORY_SEPARATOR . 'php'); -$chan = new PEAR_ChannelFile; -$chan->setName('frob'); -$chan->setSummary('test'); -$chan->setServer('test'); -$reg->addChannel($chan); -$chan->setName('groob'); -$reg->addChannel($chan); -require_once "PEAR/Installer.php"; - -// no UI is needed for these tests -$ui = false; -$installer = new PEAR_Installer($ui); -$curdir = getcwd(); -chdir(dirname(__FILE__)); - -PEAR::setErrorHandling(PEAR_ERROR_CALLBACK, 'catchit'); - -$error_to_catch = false; -function catchit($err) -{ - global $error_to_catch; - if ($error_to_catch) { - if ($err->getMessage() == $error_to_catch) { - $error_to_catch = false; - echo "Caught expected error\n"; - return; - } - } - echo "Caught error: " . $err->getMessage() . "\n"; -} - -echo "Test package.xml direct install:\n"; -$installer->install(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'test-pkg6' . DIRECTORY_SEPARATOR . 'package2.xml'); -$reg = &new PEAR_Registry($temp_path . DIRECTORY_SEPARATOR . 'php'); -var_dump($reg->listAllPackages()); -echo "zoorb.php exists? "; -echo (file_exists($temp_path . DIRECTORY_SEPARATOR . 'php' . DIRECTORY_SEPARATOR . 'frob' - . DIRECTORY_SEPARATOR . 'groob' . DIRECTORY_SEPARATOR . 'zoorb.php')) ? "yes\n" : "no\n"; -echo "goompness/Mopreeb.php exists? "; -echo (file_exists($temp_path . DIRECTORY_SEPARATOR . 'php' . DIRECTORY_SEPARATOR . 'frob' - . DIRECTORY_SEPARATOR . 'groob' . DIRECTORY_SEPARATOR . 'goompness' - . DIRECTORY_SEPARATOR . 'Mopreeb.php')) ? "yes\n" : "no\n"; -echo "goompness/oggbrzitzkee.php exists? "; -echo (file_exists($temp_path . DIRECTORY_SEPARATOR . 'php' . DIRECTORY_SEPARATOR . 'frob' - . DIRECTORY_SEPARATOR . 'groob' . DIRECTORY_SEPARATOR . 'goompness' - . DIRECTORY_SEPARATOR . 'oggbrzitzkee.php')) ? "yes\n" : "no\n"; -echo "goompness/test.dat exists? "; -echo (file_exists($temp_path . DIRECTORY_SEPARATOR . 'data' . DIRECTORY_SEPARATOR . 'pkg6' - . DIRECTORY_SEPARATOR . 'goompness' - . DIRECTORY_SEPARATOR . 'test.dat')) ? "yes\n" : "no\n"; - -echo "Test conflicting files:\n"; -$installer->install(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'test-pkg6' . DIRECTORY_SEPARATOR . 'conflictpackage2.xml'); - -echo "Test unknown channel:\n"; -$installer->install(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'test-pkg6' . DIRECTORY_SEPARATOR . 'package2_invalid.xml'); - -echo "After uninstall:\n"; -$installer->uninstall('frob::pkg6'); -var_dump($reg->listAllPackages()); -echo "zoorb.php exists? "; -echo (file_exists($temp_path . DIRECTORY_SEPARATOR . 'php' . DIRECTORY_SEPARATOR . 'frob' - . DIRECTORY_SEPARATOR . 'groob' . DIRECTORY_SEPARATOR . 'zoorb.php')) ? "yes\n" : "no\n"; -echo "goompness/Mopreeb.php exists? "; -echo (file_exists($temp_path . DIRECTORY_SEPARATOR . 'php' . DIRECTORY_SEPARATOR . 'frob' - . DIRECTORY_SEPARATOR . 'groob' . DIRECTORY_SEPARATOR . 'goompness' - . DIRECTORY_SEPARATOR . 'Mopreeb.php')) ? "yes\n" : "no\n"; -echo "goompness/oggbrzitzkee.php exists? "; -echo (file_exists($temp_path . DIRECTORY_SEPARATOR . 'php' . DIRECTORY_SEPARATOR . 'frob' - . DIRECTORY_SEPARATOR . 'groob' . DIRECTORY_SEPARATOR . 'goompness' - . DIRECTORY_SEPARATOR . 'oggbrzitzkee.php')) ? "yes\n" : "no\n"; -echo "goompness/test.dat exists? "; -echo (file_exists($temp_path . DIRECTORY_SEPARATOR . 'data' . DIRECTORY_SEPARATOR . 'pkg6' - . DIRECTORY_SEPARATOR . 'goompness' - . DIRECTORY_SEPARATOR . 'test.dat')) ? "yes\n" : "no\n"; - -chdir($curdir); -cleanall($temp_path); - -// ------------------------------------------------------------------------- // - -function cleanall($dir) -{ - $dp = opendir($dir); - while ($ent = readdir($dp)) { - if ($ent == '.' || $ent == '..') { - continue; - } - if (is_dir($dir . DIRECTORY_SEPARATOR . $ent)) { - cleanall($dir . DIRECTORY_SEPARATOR . $ent); - } else { - unlink($dir . DIRECTORY_SEPARATOR . $ent); - } - } - closedir($dp); - rmdir($dir); -} -?> ---GET-- ---POST-- ---EXPECT-- -Test package.xml direct install: -array(3) { - ["frob"]=> - array(1) { - [0]=> - string(4) "pkg6" - } - ["groob"]=> - array(0) { - } - ["pear"]=> - array(0) { - } -} -zoorb.php exists? yes -goompness/Mopreeb.php exists? yes -goompness/oggbrzitzkee.php exists? yes -goompness/test.dat exists? yes -Test conflicting files: -Caught error: groob::pkg6conflict: conflicting files found: -groob\goompness\oggbrzitzkee.php (frob::pkg6) - groob\goompness\Mopreeb.php (frob::pkg6) - groob\goompness\test.dat (frob::pkg6) - -Test unknown channel: -Error: Unknown channel, "gorp" -Caught error: Installation failed: invalid package file, use option force to install anyway -After uninstall: -array(3) { - ["frob"]=> - array(0) { - } - ["groob"]=> - array(0) { - } - ["pear"]=> - array(0) { - } -} -zoorb.php exists? no -goompness/Mopreeb.php exists? no -goompness/oggbrzitzkee.php exists? no -goompness/test.dat exists? no |