uw Wed Oct 10 09:47:21 2007 UTC
Modified files: (Branch: PHP_5_3)
/php-src/ext/mysql/tests 001.phpt 002.phpt 003.phpt connect.inc
skipif.inc
Log:
Starting to merge the latest set of tests from the mysqlnd development
tree into the PHP 5_3 tree.
http://cvs.php.net/viewvc.cgi/php-src/ext/mysql/tests/001.phpt?r1=1.3.2.1&r2=1.3.2.1.4.1&diff_format=u
Index: php-src/ext/mysql/tests/001.phpt
diff -u php-src/ext/mysql/tests/001.phpt:1.3.2.1
php-src/ext/mysql/tests/001.phpt:1.3.2.1.4.1
--- php-src/ext/mysql/tests/001.phpt:1.3.2.1 Mon Feb 6 14:25:07 2006
+++ php-src/ext/mysql/tests/001.phpt Wed Oct 10 09:47:21 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.1.8.1&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.1.8.1
--- php-src/ext/mysql/tests/002.phpt:1.1 Mon Jan 12 02:31:08 2004
+++ php-src/ext/mysql/tests/002.phpt Wed Oct 10 09:47:21 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.1.8.1&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.1.8.1
--- php-src/ext/mysql/tests/003.phpt:1.1 Mon Jan 12 02:34:55 2004
+++ php-src/ext/mysql/tests/003.phpt Wed Oct 10 09:47:21 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
http://cvs.php.net/viewvc.cgi/php-src/ext/mysql/tests/connect.inc?r1=1.1&r2=1.1.8.1&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.1.8.1
--- php-src/ext/mysql/tests/connect.inc:1.1 Mon Jan 12 02:31:08 2004
+++ php-src/ext/mysql/tests/connect.inc Wed Oct 10 09:47:21 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 "phptest" 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");
+?>
\ No newline at end of file
http://cvs.php.net/viewvc.cgi/php-src/ext/mysql/tests/skipif.inc?r1=1.2.6.1&r2=1.2.6.1.2.1&diff_format=u
Index: php-src/ext/mysql/tests/skipif.inc
diff -u php-src/ext/mysql/tests/skipif.inc:1.2.6.1
php-src/ext/mysql/tests/skipif.inc:1.2.6.1.2.1
--- php-src/ext/mysql/tests/skipif.inc:1.2.6.1 Tue Jun 27 00:09:43 2006
+++ php-src/ext/mysql/tests/skipif.inc Wed Oct 10 09:47:21 2007
@@ -1,11 +1,6 @@
<?php
-
-include 'connect.inc';
+require_once('connect.inc');
if (!extension_loaded("mysql")) {
- die('skip mysql extension not available');
+ die('skip mysql extension not available');
}
-$link = @mysql_connect($host, $user, $passwd);
-if (!$link) die('skip cannot connect');
-mysql_close($link);
-
?>
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php