From 478aff5c22a3930b33dd913cd15d4c97463f83ee Mon Sep 17 00:00:00 2001 From: Greg Beaver Date: Sat, 29 May 2004 09:02:47 +0000 Subject: [PATCH] update registry test for channels --- pear/tests/pear_registry.phpt | 82 ++++++++++++++--------------------- 1 file changed, 33 insertions(+), 49 deletions(-) diff --git a/pear/tests/pear_registry.phpt b/pear/tests/pear_registry.phpt index e44f6ce259..89313618a7 100644 --- a/pear/tests/pear_registry.phpt +++ b/pear/tests/pear_registry.phpt @@ -5,13 +5,20 @@ PEAR_Registry if (!getenv('PHP_PEAR_RUNTESTS')) { echo 'skip'; } +$statedir = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'registry_tester'; +if (file_exists($statedir)) { + // don't delete existing directories! + echo 'skip'; +} ?> --FILE-- statedir = getcwd(); +$reg = new PEAR_Registry($statedir); dumpall($reg); $reg->addPackage("pkg1", array("name" => "pkg1", "version" => "1.0", "filelist" => $files1)); @@ -72,98 +78,76 @@ dumpall($reg); var_dump($reg->deletePackage("pkg2")); dumpall($reg); +echo "add package with conflicting files:\n"; +var_dump($reg->addPackage('pkg2', array('name' => 'pkg2', 'version' => '1.0', 'filelist' => $files1))); +dumpall($reg); + $reg->updatePackage("pkg3", array("version" => "3.1b1", "status" => "beta")); dumpall($reg); $testing = $reg->checkFilemap(array_merge($files3, $files2)); $ok = ($testing == array('pkg3-1.php' => 'pkg3', 'pkg3' . DIRECTORY_SEPARATOR . 'pkg3-2.php' => 'pkg3')); echo 'filemap OK? ' . ($ok ? "yes\n" : "no\n"); +if (!$ok) { + var_dump($testing); +} $reg->updatePackage("pkg3", array("filelist" => $files3_new)); dumpall($reg); print "tests done\n"; - -cleanall(); - -// ------------------------------------------------------------------------- // - -function cleanall() -{ - $dp = opendir("."); - while ($ent = readdir($dp)) { - if (substr($ent, -4) == ".reg") { - unlink($ent); - } - } -} - -function dumpall(&$reg) -{ - print "dumping registry...\n"; - $info = $reg->packageInfo(); - foreach ($info as $pkg) { - print $pkg["name"] . ":"; - unset($pkg["name"]); - foreach ($pkg as $k => $v) { - if ($k == '_lastmodified') continue; - if (is_array($v) && $k == 'filelist') { - print " $k=array("; - $i = 0; - foreach ($v as $k2 => $v2) { - if ($i++ > 0) print ","; - print "{$k2}["; - $j = 0; - foreach ($v2 as $k3 => $v3) { - if ($j++ > 0) print ","; - print "$k3=$v3"; - } - print "]"; - } - print ")"; - } else { - print " $k=\"$v\""; - } - } - print "\n"; - } - print "dump done\n"; -} - ?> --EXPECT-- creating registry object dumping registry... +channel pear: dump done dumping registry... +channel pear: pkg1: version="1.0" filelist=array(pkg1-1.php[role=php],pkg1-2.php[role=php,baseinstalldir=pkg1]) dump done dumping registry... +channel pear: pkg1: version="1.0" filelist=array(pkg1-1.php[role=php],pkg1-2.php[role=php,baseinstalldir=pkg1]) pkg2: version="2.0" filelist=array(pkg2-1.php[role=php],pkg2-2.php[role=php,baseinstalldir=pkg2]) pkg3: version="3.0" filelist=array(pkg3-1.php[role=php],pkg3-2.php[role=php,baseinstalldir=pkg3]) dump done dumping registry... +channel pear: pkg1: version="1.0" filelist=array(pkg1-1.php[role=php],pkg1-2.php[role=php,baseinstalldir=pkg1]) pkg2: version="2.1" filelist=array(pkg2-1.php[role=php],pkg2-2.php[role=php,baseinstalldir=pkg2]) pkg3: version="3.0" filelist=array(pkg3-1.php[role=php],pkg3-2.php[role=php,baseinstalldir=pkg3]) dump done bool(true) dumping registry... +channel pear: +pkg1: version="1.0" filelist=array(pkg1-1.php[role=php],pkg1-2.php[role=php,baseinstalldir=pkg1]) +pkg3: version="3.0" filelist=array(pkg3-1.php[role=php],pkg3-2.php[role=php,baseinstalldir=pkg3]) +dump done +bool(false) +dumping registry... +channel pear: pkg1: version="1.0" filelist=array(pkg1-1.php[role=php],pkg1-2.php[role=php,baseinstalldir=pkg1]) pkg3: version="3.0" filelist=array(pkg3-1.php[role=php],pkg3-2.php[role=php,baseinstalldir=pkg3]) dump done +add package with conflicting files: +caught ErrorStack error: +message: package pear::pkg2 has files that conflict with installed packages pear::pkg1 +code: -5 bool(false) dumping registry... +channel pear: pkg1: version="1.0" filelist=array(pkg1-1.php[role=php],pkg1-2.php[role=php,baseinstalldir=pkg1]) pkg3: version="3.0" filelist=array(pkg3-1.php[role=php],pkg3-2.php[role=php,baseinstalldir=pkg3]) dump done dumping registry... +channel pear: pkg1: version="1.0" filelist=array(pkg1-1.php[role=php],pkg1-2.php[role=php,baseinstalldir=pkg1]) pkg3: version="3.1b1" filelist=array(pkg3-1.php[role=php],pkg3-2.php[role=php,baseinstalldir=pkg3]) status="beta" dump done filemap OK? yes dumping registry... +channel pear: pkg1: version="1.0" filelist=array(pkg1-1.php[role=php],pkg1-2.php[role=php,baseinstalldir=pkg1]) pkg3: version="3.1b1" filelist=array(pkg3-3.php[role=php,baseinstalldir=pkg3],pkg3-4.php[role=php]) status="beta" dump done -- 2.40.0