]> granicus.if.org Git - php/commitdiff
new unit test - test works, but there is a serious bug in sortPkgDeps to be fixed...
authorGreg Beaver <cellog@php.net>
Sun, 30 Nov 2003 23:43:19 +0000 (23:43 +0000)
committerGreg Beaver <cellog@php.net>
Sun, 30 Nov 2003 23:43:19 +0000 (23:43 +0000)
pear/tests/common_sortPkgDeps1_package.xml [new file with mode: 0644]
pear/tests/common_sortPkgDeps2_package.xml [new file with mode: 0644]
pear/tests/common_sortPkgDeps3_package.xml [new file with mode: 0644]
pear/tests/common_sortPkgDeps4_package.xml [new file with mode: 0644]
pear/tests/common_sortPkgDeps5_package.xml [new file with mode: 0644]
pear/tests/common_sortPkgDeps6_package.xml [new file with mode: 0644]
pear/tests/pear_common_sortPkgDeps.phpt [new file with mode: 0644]

diff --git a/pear/tests/common_sortPkgDeps1_package.xml b/pear/tests/common_sortPkgDeps1_package.xml
new file mode 100644 (file)
index 0000000..a103b10
--- /dev/null
@@ -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>
diff --git a/pear/tests/common_sortPkgDeps2_package.xml b/pear/tests/common_sortPkgDeps2_package.xml
new file mode 100644 (file)
index 0000000..3e7c038
--- /dev/null
@@ -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>
diff --git a/pear/tests/common_sortPkgDeps3_package.xml b/pear/tests/common_sortPkgDeps3_package.xml
new file mode 100644 (file)
index 0000000..3bfab7a
--- /dev/null
@@ -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>
diff --git a/pear/tests/common_sortPkgDeps4_package.xml b/pear/tests/common_sortPkgDeps4_package.xml
new file mode 100644 (file)
index 0000000..ff3394e
--- /dev/null
@@ -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>
diff --git a/pear/tests/common_sortPkgDeps5_package.xml b/pear/tests/common_sortPkgDeps5_package.xml
new file mode 100644 (file)
index 0000000..6dea22f
--- /dev/null
@@ -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>
diff --git a/pear/tests/common_sortPkgDeps6_package.xml b/pear/tests/common_sortPkgDeps6_package.xml
new file mode 100644 (file)
index 0000000..a196e70
--- /dev/null
@@ -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>
diff --git a/pear/tests/pear_common_sortPkgDeps.phpt b/pear/tests/pear_common_sortPkgDeps.phpt
new file mode 100644 (file)
index 0000000..9a4e667
--- /dev/null
@@ -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,
+)
\ No newline at end of file