summaryrefslogtreecommitdiff
path: root/pear
diff options
context:
space:
mode:
authorGreg Beaver <cellog@php.net>2003-09-16 23:43:47 +0000
committerGreg Beaver <cellog@php.net>2003-09-16 23:43:47 +0000
commit1b76db05e74894696d900ed6c2fdeca36848d939 (patch)
tree79f845b9336d7be86e980436e10d937d5a354442 /pear
parenta5b67714ae5f1bc536a805ba1591543fd950275b (diff)
downloadphp-git-1b76db05e74894696d900ed6c2fdeca36848d939.tar.gz
adding transaction test file (unfinished)
Diffstat (limited to 'pear')
-rw-r--r--pear/tests/pear_installer3.phpt96
1 files changed, 96 insertions, 0 deletions
diff --git a/pear/tests/pear_installer3.phpt b/pear/tests/pear_installer3.phpt
new file mode 100644
index 0000000000..c3c80cf5b8
--- /dev/null
+++ b/pear/tests/pear_installer3.phpt
@@ -0,0 +1,96 @@
+--TEST--
+PEAR_Installer test #2
+--SKIPIF--
+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');
+}
+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',
+ '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);
+}
+require_once "PEAR/Installer.php";
+
+// no UI is needed for these tests
+$ui = false;
+$installer = new PEAR_Installer($ui);
+$installer->debug = 3; // hack debugging in
+$curdir = getcwd();
+chdir(dirname(__FILE__));
+
+echo "test addFileOperation():\n";
+echo "invalid input to addFileOperation():\n";
+$err = $installer->addFileOperation('rename', 2);
+echo 'Returned PEAR_Error?';
+echo (get_class($err) == 'pear_error' ? " yes\n" : " no\n");
+if (get_class($err) == 'pear_error') {
+ echo $err->getMessage() . "\n";
+}
+
+//cleanup
+chdir($curdir);
+unlink ($temp_path . DIRECTORY_SEPARATOR . 'pear.conf');
+unlink ($temp_path . DIRECTORY_SEPARATOR . 'pear.ini');
+rmdir($temp_path . DIRECTORY_SEPARATOR . 'php');
+rmdir($temp_path . DIRECTORY_SEPARATOR . 'data');
+rmdir($temp_path . DIRECTORY_SEPARATOR . 'doc');
+rmdir($temp_path . DIRECTORY_SEPARATOR . 'test');
+rmdir($temp_path . DIRECTORY_SEPARATOR . 'script');
+rmdir($temp_path . DIRECTORY_SEPARATOR . 'ext');
+rmdir($temp_path . DIRECTORY_SEPARATOR . 'tmp');
+rmdir($temp_path . DIRECTORY_SEPARATOR . 'bin');
+rmdir($temp_path);
+?>
+--GET--
+--POST--
+--EXPECT--
+test addFileOperation():
+invalid input to addFileOperation():
+Returned PEAR_Error? yes
+Internal Error: $data in addFileOperation must be an array, was integer