uw              Wed Jul 11 11:12:11 2007 UTC

  Modified files:              
    /php-src/ext/mysql/tests    connect.inc table.inc skipif.inc 001.phpt 
                                002.phpt 003.phpt 
  Log:
  Trying to fix broken tests. The last set of files committed a few weeks ago
  broke almost all tests. I'll try to merge the CVS with a working set of
  tests from the mysqlnd development repository. With this first set of 
  changes most tests should run (and pass) again.
  
  Note the additional environment variables in connect.inc that you can
  use to control a test run.
  
  More changes to come.
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/mysql/tests/connect.inc?r1=1.1&r2=1.2&diff_format=u
Index: php-src/ext/mysql/tests/connect.inc
diff -u php-src/ext/mysql/tests/connect.inc:1.1 
php-src/ext/mysql/tests/connect.inc:1.2
--- php-src/ext/mysql/tests/connect.inc:1.1     Mon Jan 12 02:31:08 2004
+++ php-src/ext/mysql/tests/connect.inc Wed Jul 11 11:12:10 2007
@@ -1,10 +1,64 @@
 <?php
+if (!function_exists('sys_get_temp_dir')) {
+       function sys_get_temp_dir() {
 
-  /* default values are localhost, root and empty password 
-     Change the values if you use another configuration   */
+               if (!empty($_ENV['TMP']))
+                       return realpath( $_ENV['TMP'] );
+               if (!empty($_ENV['TMPDIR']))
+                       return realpath( $_ENV['TMPDIR'] );
+               if (!empty($_ENV['TEMP']))
+                       return realpath( $_ENV['TEMP'] );
 
-       $host = "localhost";
-       $user = "root";
-       $passwd = "";
+               $temp_file = tempnam(md5(uniqid(rand(), TRUE)), '');
+               if ($temp_file) {
+                       $temp_dir = realpath(dirname($temp_file));
+                       unlink($temp_file);
+                       return $temp_dir;
+               }
+               return FALSE;
+       }
+}
 
+/* wrapper to simplify test porting */
+function my_mysql_connect($host, $user, $passwd, $db, $port, $socket) {
+
+       if ($socket)
+               $host = sprintf("%s:%s", $host, $socket);
+       else if ($port)
+               $host = sprintf("%s:%s", $host, $port);
+
+       if (!$link = mysql_connect($host, $user, $passwd, true)) {
+               printf("[000-a] Cannot connect using host '%s', user '%s', 
password '****', [%d] %s\n",
+                       $host, $user, $passwd,
+                       mysql_errno(), mysql_error());
+               return false;
+       }
+
+       if (!mysql_select_db($db, $link)) {
+               printf("[000-b] [%d] %s\n", mysql_errno($link), 
mysql_error($link));
+               return false;
+       }
+
+       return $link;
+}
+
+/*
+Default values are "localhost", "root", database "test" and empty password.
+Change the MYSQL_TEST environment values if you want to use another 
configuration.
+*/
+
+$host          = getenv("MYSQL_TEST_HOST")     ? getenv("MYSQL_TEST_HOST")     
: "localhost";
+$port          = getenv("MYSQL_TEST_PORT")     ? getenv("MYSQL_TEST_PORT")     
: 3306;
+$user          = getenv("MYSQL_TEST_USER")     ? getenv("MYSQL_TEST_USER")     
: "root";
+$passwd                = getenv("MYSQL_TEST_PASSWD")   ? 
getenv("MYSQL_TEST_PASSWD")   : "";
+$db            = getenv("MYSQL_TEST_DB")       ? getenv("MYSQL_TEST_DB")       
: "test";
+$engine                = getenv("MYSQL_TEST_ENGINE")   ? 
getenv("MYSQL_TEST_ENGINE")   : "MyISAM";
+$socket                = getenv("MYSQL_TEST_SOCKET")   ? 
getenv("MYSQL_TEST_SOCKET")   : null;
+
+/* Development setting: test experimal features and/or feature requests that 
never worked before? */
+$TEST_EXPERIMENTAL = (in_array(getenv("MYSQL_TEST_EXPERIMENTAL"), array(0, 
1))) ?
+                       ((1 == getenv("MYSQL_TEST_EXPERIMENTAL")) ? true : 
false) :
+                       false;
+
+$IS_MYSQLND = stristr(mysql_get_client_info(), "mysqlnd");
 ?>
http://cvs.php.net/viewvc.cgi/php-src/ext/mysql/tests/table.inc?r1=1.1&r2=1.2&diff_format=u
Index: php-src/ext/mysql/tests/table.inc
diff -u php-src/ext/mysql/tests/table.inc:1.1 
php-src/ext/mysql/tests/table.inc:1.2
--- php-src/ext/mysql/tests/table.inc:1.1       Sun Nov 19 12:14:44 2006
+++ php-src/ext/mysql/tests/table.inc   Wed Jul 11 11:12:10 2007
@@ -1,4 +1,4 @@
-<?PHP 
+<?PHP
 require_once('connect.inc');
 
 // connect + select_db
@@ -6,19 +6,19 @@
     printf("Cannot connect to the server using host=%s/%s, user=%s, 
passwd=***, dbname=%s, port=%s, socket=%s\n",
         $host, $myhost, $user, $db, $port, $socket);
     exit(1);
-}   
+}
 
 if (!mysql_query('DROP TABLE IF EXISTS test', $link)) {
     printf("Failed to drop old test table: [%d] %s\n", mysql_errno($link), 
mysql_error($link));
     exit(1);
-}        
-        
+}
+
 if (!mysql_query('CREATE TABLE test(id INT, label CHAR(1), PRIMARY KEY(id)) 
ENGINE=' . $engine, $link)) {
     printf("Failed to create test table: [%d] %s\n", mysql_errno($link), 
mysql_error($link));
     exit(1);
 }
 
 if (!mysql_query('INSERT INTO test(id, label) VALUES (1, "a"), (2, "b"), (3, 
"c"), (4, "d"), (5, "e"), (6, "f")', $link)) {
-    printf("[%d] %s\n",  mysql_errno($link), mysql_error($link));        
+    printf("[%d] %s\n",  mysql_errno($link), mysql_error($link));
 }
 ?>
\ No newline at end of file
http://cvs.php.net/viewvc.cgi/php-src/ext/mysql/tests/skipif.inc?r1=1.3&r2=1.4&diff_format=u
Index: php-src/ext/mysql/tests/skipif.inc
diff -u php-src/ext/mysql/tests/skipif.inc:1.3 
php-src/ext/mysql/tests/skipif.inc:1.4
--- php-src/ext/mysql/tests/skipif.inc:1.3      Tue Jun 27 00:09:23 2006
+++ php-src/ext/mysql/tests/skipif.inc  Wed Jul 11 11:12:10 2007
@@ -1,11 +1,6 @@
 <?php
-
-include 'connect.inc';
+require_once('connect.inc');
 if (!extension_loaded("mysql")) {
     die('skip mysql extension not available');
 }
-$link = @mysql_connect($host, $user, $passwd);
-if (!$link) die('skip cannot connect');
-mysql_close($link);
-
 ?>
http://cvs.php.net/viewvc.cgi/php-src/ext/mysql/tests/001.phpt?r1=1.4&r2=1.5&diff_format=u
Index: php-src/ext/mysql/tests/001.phpt
diff -u php-src/ext/mysql/tests/001.phpt:1.4 
php-src/ext/mysql/tests/001.phpt:1.5
--- php-src/ext/mysql/tests/001.phpt:1.4        Mon Feb  6 14:25:28 2006
+++ php-src/ext/mysql/tests/001.phpt    Wed Jul 11 11:12:10 2007
@@ -4,22 +4,30 @@
 <?php include 'skipif.inc'; ?>
 --FILE--
 <?php
-
-include 'connect.inc';
+require_once('connect.inc');
 $test = '';
 
+if ($socket)
+       $host = sprintf("%s:%s", $host, $socket);
+else if ($port)
+       $host = sprintf("%s:%s", $host, $port);
+
 /*** test mysql_connect localhost ***/
 $db = mysql_connect($host, $user, $passwd);
 $test .= ($db) ? '1' : '0';
 mysql_close($db);
 
 /*** test mysql_connect localhost:port ***/
-$db = mysql_connect("{$host}:3306", $user, $passwd, '');
+$db = mysql_connect($host, $user, $passwd, true);
 $test .= ($db) ? '1' : '0';
 mysql_close($db);
 
 var_dump($test);
-
+print "done!";
 ?>
 --EXPECT--
 string(2) "11"
+done!
+--UEXPECTF--
+unicode(2) "11"
+done!
\ No newline at end of file
http://cvs.php.net/viewvc.cgi/php-src/ext/mysql/tests/002.phpt?r1=1.1&r2=1.2&diff_format=u
Index: php-src/ext/mysql/tests/002.phpt
diff -u php-src/ext/mysql/tests/002.phpt:1.1 
php-src/ext/mysql/tests/002.phpt:1.2
--- php-src/ext/mysql/tests/002.phpt:1.1        Mon Jan 12 02:31:08 2004
+++ php-src/ext/mysql/tests/002.phpt    Wed Jul 11 11:12:10 2007
@@ -4,14 +4,13 @@
 <?php include 'skipif.inc'; ?>
 --FILE--
 <?php
+require_once('connect.inc');
 
-include 'connect.inc';
+if (!$link = my_mysql_connect($host, $user, $passwd, $db, $port, $socket))
+       printf("[001] Cannot connect to the server using host=%s, user=%s, 
passwd=***, dbname=%s, port=%s, socket=%s\n",
+               $host, $user, $db, $port, $socket);
 
-$db = mysql_connect($host, $user, $passwd);
-
-var_dump($db);
-
-var_dump(mysql_select_db('test'));
+var_dump($link);
 
 var_dump(mysql_query('DROP TABLE IF EXISTS test'));
 
@@ -25,15 +24,16 @@
        var_dump($data);
 }
 
-mysql_close($db);
+mysql_free_result($res);
+mysql_close($link);
 
+print "done!";
 ?>
 --EXPECTF--
 resource(%d) of type (mysql link)
 bool(true)
 bool(true)
 bool(true)
-bool(true)
 resource(%d) of type (mysql result)
 array(3) {
   ["col1"]=>
@@ -51,3 +51,27 @@
   ["col3"]=>
   string(3) "bar"
 }
+done!
+--UEXPECTF--
+resource(%d) of type (mysql link)
+bool(true)
+bool(true)
+bool(true)
+resource(%d) of type (mysql result)
+array(3) {
+  [u"col1"]=>
+  unicode(1) "1"
+  [u"col2"]=>
+  unicode(3) "foo"
+  [u"col3"]=>
+  unicode(3) "bar"
+}
+array(3) {
+  [u"col1"]=>
+  unicode(1) "2"
+  [u"col2"]=>
+  unicode(3) "foo"
+  [u"col3"]=>
+  unicode(3) "bar"
+}
+done!
\ No newline at end of file
http://cvs.php.net/viewvc.cgi/php-src/ext/mysql/tests/003.phpt?r1=1.1&r2=1.2&diff_format=u
Index: php-src/ext/mysql/tests/003.phpt
diff -u php-src/ext/mysql/tests/003.phpt:1.1 
php-src/ext/mysql/tests/003.phpt:1.2
--- php-src/ext/mysql/tests/003.phpt:1.1        Mon Jan 12 02:34:55 2004
+++ php-src/ext/mysql/tests/003.phpt    Wed Jul 11 11:12:10 2007
@@ -4,8 +4,7 @@
 <?php include 'skipif.inc'; ?>
 --FILE--
 <?php
-
-include 'connect.inc';
+include_once('connect.inc');
 
 class class24 {
        function __construct() {
@@ -13,45 +12,44 @@
        }
 }
 
-$data = array(
-       "one",
-       "two",
-       "three"
-       );
-
-$db = mysql_connect($host, $user, $passwd);
+$data = array("one", "two", "three");
 
-mysql_select_db("test");
+if (!$link = my_mysql_connect($host, $user, $passwd, $db, $port, $socket))
+       printf("[001] Cannot connect to the server using host=%s, user=%s, 
passwd=***, dbname=%s, port=%s, socket=%s\n",
+               $host, $user, $db, $port, $socket);
 
-mysql_query('DROP TABLE IF EXISTS test');
+if (!mysql_query('DROP TABLE IF EXISTS test', $link))
+       printf("[002] [%d] %s\n", mysql_errno($link), mysql_error($link));
 
-mysql_query("CREATE TABLE test(a varchar(10))");
+if (!mysql_query("CREATE TABLE test(a varchar(10))", $link))
+       printf("[003] [%d] %s\n", mysql_errno($link), mysql_error($link));
 
 foreach ($data as $str) {
-       mysql_query("INSERT INTO test VALUES('$str')");
-       var_dump($str);
+       if (!mysql_query(sprintf("INSERT INTO test VALUES('%s')", $str), $link))
+               printf("[004 - %s] [%d] %s\n", $str, mysql_errno($link), 
mysql_error($link));
 }
 
 echo "==stdClass==\n";
-$res = mysql_query("SELECT a FROM test");
+if (!$res = mysql_query("SELECT a FROM test", $link))
+       printf("[005] [%d] %s\n", mysql_errno($link), mysql_error($link));
+
 while ($obj = mysql_fetch_object($res)) {
        var_dump($obj);
 }
+mysql_free_result($res);
 
 echo "==class24==\n";
-$res = mysql_query("SELECT a FROM test");
+if (!$res = mysql_query("SELECT a FROM test", $link))
+    printf("[006] [%d] %s\n", mysql_errno($link), mysql_error($link));
+
 while ($obj = mysql_fetch_object($res, 'class24')) {
        var_dump($obj);
 }
-
-mysql_close($db);
-
+mysql_free_result($res);
+mysql_close($link);
+print "done!";
 ?>
-==DONE==
 --EXPECTF--
-string(3) "one"
-string(3) "two"
-string(5) "three"
 ==stdClass==
 object(stdClass)#%d (1) {
   ["a"]=>
@@ -81,4 +79,35 @@
   ["a"]=>
   string(5) "three"
 }
-==DONE==
+done!
+--UEXPECTF--
+==stdClass==
+object(stdClass)#%d (1) {
+  [u"a"]=>
+  unicode(3) "one"
+}
+object(stdClass)#%d (1) {
+  [u"a"]=>
+  unicode(3) "two"
+}
+object(stdClass)#%d (1) {
+  [u"a"]=>
+  unicode(5) "three"
+}
+==class24==
+class24::__construct
+object(class24)#%d (1) {
+  [u"a"]=>
+  unicode(3) "one"
+}
+class24::__construct
+object(class24)#%d (1) {
+  [u"a"]=>
+  unicode(3) "two"
+}
+class24::__construct
+object(class24)#%d (1) {
+  [u"a"]=>
+  unicode(5) "three"
+}
+done!
\ No newline at end of file

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to