Browse Source
new unit test - test works, but there is a serious bug in sortPkgDeps to be fixed, as unearthed by this test
PEAR_1_4DEV
new unit test - test works, but there is a serious bug in sortPkgDeps to be fixed, as unearthed by this test
PEAR_1_4DEV
7 changed files with 302 additions and 0 deletions
-
38pear/tests/common_sortPkgDeps1_package.xml
-
39pear/tests/common_sortPkgDeps2_package.xml
-
39pear/tests/common_sortPkgDeps3_package.xml
-
38pear/tests/common_sortPkgDeps4_package.xml
-
38pear/tests/common_sortPkgDeps5_package.xml
-
35pear/tests/common_sortPkgDeps6_package.xml
-
75pear/tests/pear_common_sortPkgDeps.phpt
@ -0,0 +1,38 @@ |
|||
<?xml version="1.0" encoding="ISO-8859-1" ?> |
|||
<!DOCTYPE package SYSTEM "http://pear.php.net/dtd/package-1.0"> |
|||
<package version="1.0"> |
|||
<name>pkg1</name> |
|||
<summary>required test for PEAR_Installer</summary> |
|||
<description> |
|||
fake package |
|||
</description> |
|||
<license>PHP License</license> |
|||
<maintainers> |
|||
<maintainer> |
|||
<user>fakeuser</user> |
|||
<name>Joe Shmoe</name> |
|||
<email>nobody@example.com</email> |
|||
<role>lead</role> |
|||
</maintainer> |
|||
</maintainers> |
|||
<release> |
|||
<version>1.1</version> |
|||
<date>2003-09-09</date> |
|||
<state>stable</state> |
|||
<notes> |
|||
required dependency test |
|||
</notes> |
|||
<deps> |
|||
<dep type="pkg" version="1.0" rel="ge">pkg2</dep> |
|||
</deps> |
|||
<filelist> |
|||
<dir name="/" baseinstalldir="grob" role="php"> |
|||
<file>zoorb.php</file> |
|||
<dir name="goompness" role="php"> |
|||
<file>oggbrzitzkee.php</file> |
|||
<file>Mopreeb.php</file> |
|||
</dir> |
|||
</dir> |
|||
</filelist> |
|||
</release> |
|||
</package> |
|||
@ -0,0 +1,39 @@ |
|||
<?xml version="1.0" encoding="ISO-8859-1" ?> |
|||
<!DOCTYPE package SYSTEM "http://pear.php.net/dtd/package-1.0"> |
|||
<package version="1.0"> |
|||
<name>pkg2</name> |
|||
<summary>required test for PEAR_Installer</summary> |
|||
<description> |
|||
fake package |
|||
</description> |
|||
<license>PHP License</license> |
|||
<maintainers> |
|||
<maintainer> |
|||
<user>fakeuser</user> |
|||
<name>Joe Shmoe</name> |
|||
<email>nobody@example.com</email> |
|||
<role>lead</role> |
|||
</maintainer> |
|||
</maintainers> |
|||
<release> |
|||
<version>1.1</version> |
|||
<date>2003-09-09</date> |
|||
<state>stable</state> |
|||
<notes> |
|||
required dependency test |
|||
</notes> |
|||
<deps> |
|||
<dep type="pkg" version="1.0" rel="ge">pkg3</dep> |
|||
<dep type="php" version="1.0" rel="ge" /> |
|||
</deps> |
|||
<filelist> |
|||
<dir name="/" baseinstalldir="grob" role="php"> |
|||
<file>zoorb.php</file> |
|||
<dir name="goompness" role="php"> |
|||
<file>oggbrzitzkee.php</file> |
|||
<file>Mopreeb.php</file> |
|||
</dir> |
|||
</dir> |
|||
</filelist> |
|||
</release> |
|||
</package> |
|||
@ -0,0 +1,39 @@ |
|||
<?xml version="1.0" encoding="ISO-8859-1" ?> |
|||
<!DOCTYPE package SYSTEM "http://pear.php.net/dtd/package-1.0"> |
|||
<package version="1.0"> |
|||
<name>pkg3</name> |
|||
<summary>required test for PEAR_Installer</summary> |
|||
<description> |
|||
fake package |
|||
</description> |
|||
<license>PHP License</license> |
|||
<maintainers> |
|||
<maintainer> |
|||
<user>fakeuser</user> |
|||
<name>Joe Shmoe</name> |
|||
<email>nobody@example.com</email> |
|||
<role>lead</role> |
|||
</maintainer> |
|||
</maintainers> |
|||
<release> |
|||
<version>1.1</version> |
|||
<date>2003-09-09</date> |
|||
<state>stable</state> |
|||
<notes> |
|||
required dependency test |
|||
</notes> |
|||
<deps> |
|||
<dep type="pkg" version="1.0" rel="ge">pkg4</dep> |
|||
<dep type="php" version="1.0" rel="ge">pkg5</dep> |
|||
</deps> |
|||
<filelist> |
|||
<dir name="/" baseinstalldir="grob" role="php"> |
|||
<file>zoorb.php</file> |
|||
<dir name="goompness" role="php"> |
|||
<file>oggbrzitzkee.php</file> |
|||
<file>Mopreeb.php</file> |
|||
</dir> |
|||
</dir> |
|||
</filelist> |
|||
</release> |
|||
</package> |
|||
@ -0,0 +1,38 @@ |
|||
<?xml version="1.0" encoding="ISO-8859-1" ?> |
|||
<!DOCTYPE package SYSTEM "http://pear.php.net/dtd/package-1.0"> |
|||
<package version="1.0"> |
|||
<name>pkg4</name> |
|||
<summary>required test for PEAR_Installer</summary> |
|||
<description> |
|||
fake package |
|||
</description> |
|||
<license>PHP License</license> |
|||
<maintainers> |
|||
<maintainer> |
|||
<user>fakeuser</user> |
|||
<name>Joe Shmoe</name> |
|||
<email>nobody@example.com</email> |
|||
<role>lead</role> |
|||
</maintainer> |
|||
</maintainers> |
|||
<release> |
|||
<version>1.1</version> |
|||
<date>2003-09-09</date> |
|||
<state>stable</state> |
|||
<notes> |
|||
required dependency test |
|||
</notes> |
|||
<deps> |
|||
<dep type="pkg" version="1.0" rel="ge">pkg6</dep> |
|||
</deps> |
|||
<filelist> |
|||
<dir name="/" baseinstalldir="grob" role="php"> |
|||
<file>zoorb.php</file> |
|||
<dir name="goompness" role="php"> |
|||
<file>oggbrzitzkee.php</file> |
|||
<file>Mopreeb.php</file> |
|||
</dir> |
|||
</dir> |
|||
</filelist> |
|||
</release> |
|||
</package> |
|||
@ -0,0 +1,38 @@ |
|||
<?xml version="1.0" encoding="ISO-8859-1" ?> |
|||
<!DOCTYPE package SYSTEM "http://pear.php.net/dtd/package-1.0"> |
|||
<package version="1.0"> |
|||
<name>pkg5</name> |
|||
<summary>required test for PEAR_Installer</summary> |
|||
<description> |
|||
fake package |
|||
</description> |
|||
<license>PHP License</license> |
|||
<maintainers> |
|||
<maintainer> |
|||
<user>fakeuser</user> |
|||
<name>Joe Shmoe</name> |
|||
<email>nobody@example.com</email> |
|||
<role>lead</role> |
|||
</maintainer> |
|||
</maintainers> |
|||
<release> |
|||
<version>1.1</version> |
|||
<date>2003-09-09</date> |
|||
<state>stable</state> |
|||
<notes> |
|||
required dependency test |
|||
</notes> |
|||
<deps> |
|||
<dep type="pkg" version="1.0" rel="ge">pkg6</dep> |
|||
</deps> |
|||
<filelist> |
|||
<dir name="/" baseinstalldir="grob" role="php"> |
|||
<file>zoorb.php</file> |
|||
<dir name="goompness" role="php"> |
|||
<file>oggbrzitzkee.php</file> |
|||
<file>Mopreeb.php</file> |
|||
</dir> |
|||
</dir> |
|||
</filelist> |
|||
</release> |
|||
</package> |
|||
@ -0,0 +1,35 @@ |
|||
<?xml version="1.0" encoding="ISO-8859-1" ?> |
|||
<!DOCTYPE package SYSTEM "http://pear.php.net/dtd/package-1.0"> |
|||
<package version="1.0"> |
|||
<name>pkg6</name> |
|||
<summary>required test for PEAR_Installer</summary> |
|||
<description> |
|||
fake package |
|||
</description> |
|||
<license>PHP License</license> |
|||
<maintainers> |
|||
<maintainer> |
|||
<user>fakeuser</user> |
|||
<name>Joe Shmoe</name> |
|||
<email>nobody@example.com</email> |
|||
<role>lead</role> |
|||
</maintainer> |
|||
</maintainers> |
|||
<release> |
|||
<version>1.1</version> |
|||
<date>2003-09-09</date> |
|||
<state>stable</state> |
|||
<notes> |
|||
required dependency test |
|||
</notes> |
|||
<filelist> |
|||
<dir name="/" baseinstalldir="grob" role="php"> |
|||
<file>zoorb.php</file> |
|||
<dir name="goompness" role="php"> |
|||
<file>oggbrzitzkee.php</file> |
|||
<file>Mopreeb.php</file> |
|||
</dir> |
|||
</dir> |
|||
</filelist> |
|||
</release> |
|||
</package> |
|||
@ -0,0 +1,75 @@ |
|||
--TEST-- |
|||
PEAR_Common::sortPkgDeps test |
|||
--SKIPIF-- |
|||
<?php |
|||
if (!getenv('PHP_PEAR_RUNTESTS')) { |
|||
echo 'skip'; |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
$dir = getcwd(); |
|||
chdir(dirname(__FILE__)); |
|||
|
|||
require_once 'PEAR/Common.php'; |
|||
|
|||
$c = new PEAR_Common(); |
|||
|
|||
$packages = array( |
|||
'common_sortPkgDeps6_package.xml', |
|||
'common_sortPkgDeps2_package.xml', |
|||
'common_sortPkgDeps1_package.xml', |
|||
'common_sortPkgDeps4_package.xml', |
|||
'common_sortPkgDeps5_package.xml', |
|||
'common_sortPkgDeps3_package.xml', |
|||
); |
|||
|
|||
$uninstallpackages = array( |
|||
$c->infoFromAny('common_sortPkgDeps6_package.xml'), |
|||
$c->infoFromAny('common_sortPkgDeps2_package.xml'), |
|||
$c->infoFromAny('common_sortPkgDeps1_package.xml'), |
|||
$c->infoFromAny('common_sortPkgDeps4_package.xml'), |
|||
$c->infoFromAny('common_sortPkgDeps5_package.xml'), |
|||
$c->infoFromAny('common_sortPkgDeps3_package.xml'), |
|||
); |
|||
|
|||
echo "Test Install Sort:\n"; |
|||
$c->sortPkgDeps($packages); |
|||
dumpPacks($packages); |
|||
|
|||
echo "Test Uninstall Sort:\n"; |
|||
$c->sortPkgDeps($uninstallpackages, true); |
|||
dumpPacks($packages); |
|||
|
|||
chdir($dir); |
|||
|
|||
function dumpPacks($p) |
|||
{ |
|||
echo "Packages(\n"; |
|||
foreach ($p as $inf) { |
|||
echo $inf['info']['package'] . ",\n"; |
|||
} |
|||
echo ")\n"; |
|||
} |
|||
?> |
|||
--GET-- |
|||
--POST-- |
|||
--EXPECT-- |
|||
Test Install Sort: |
|||
Packages( |
|||
pkg6, |
|||
pkg4, |
|||
pkg5, |
|||
pkg3, |
|||
pkg2, |
|||
pkg1, |
|||
) |
|||
Test Uninstall Sort: |
|||
Packages( |
|||
pkg1, |
|||
pkg2, |
|||
pkg3, |
|||
pkg4, |
|||
pkg5, |
|||
pkg6, |
|||
) |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue